ba0bff0f6e
Remove: safe-patching (remplace par QuickWin) + audit-full
...
- Safe Patching v1 redondant avec QuickWin, supprime
- audit-full: page supprimee, tables DB preservees
- menu + main.py nettoyes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 18:51:17 +02:00
3f47fea8e6
Audit: jobs background paralleles + progression live
...
- Audit global/realtime: threads paralleles, job_id retourne immediat
- /audit/realtime/progress/{job_id}: KPIs + barre progression + tableau live
- Polling AJAX toutes les 2s, etapes animees (DNS/SSH/Audit/OK)
- PRETTY_NAME correction: extraction via grep -E 'PRETTY_NAME' + cut
- OS version: normalisation lors de save_audit_to_db (Debian GNU/Linux -> Debian X (Bookworm))
- Mise a jour base: itop sync bidirectionnel avec push OS version
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 18:51:05 +02:00
5ea4100f4c
Qualys: deploy agent background jobs + upgrade/downgrade + AJAX overlays
...
- Background job system pour deploiement (threads paralleles, progression live)
- Upgrade/downgrade: compare versions installee vs package, rpm -Uvh --oldpackage
- Checkbox "Forcer le downgrade" dans UI
- Choix auto DEB/RPM base sur os_version (centos/rhel/rocky/oracle -> RPM)
- Check agent: rpm -q / dpkg -s (evite faux positifs "agent installe mais inactif")
- Bouton "Rafraichir depuis Qualys" AJAX avec timer
- Agents page: colonne version installee + statut
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 18:50:56 +02:00
8479d7280e
Users/Contacts: workflow profils + LDAP + sync iTop + etat aligne
...
- Users: 4 profils (admin/coordinator/operator/viewer) remplacent la matrix
- /users/add: picker contacts iTop (plus de creation libre)
- /me/change-password: flow force_password_change
- LDAP: service + section settings + option login
- Sync iTop contacts: filtre par teams (SecOps/iPOP/Externe/DSI/Admin DSI)
- Auto-desactivation users si contact inactif
- etat: alignement sur enum iTop (production/implementation/stock/obsolete)
- Menu: Contacts dans Administration, Serveurs en groupe repliable
- Audit bases: demo/prod via JWT mode
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 18:50:43 +02:00
4fa5f67c32
Qualys agents: bouton Rafraichir + cron 6h
...
- refresh_all_agents(): bulk sync tous les assets depuis API Qualys QPS
- Bouton "Rafraîchir depuis Qualys" sur la page agents
- Cron toutes les 6h: refresh_agents.py (prod + demo)
- Message de confirmation après refresh
2026-04-11 21:56:59 +02:00
3d053019e6
Deploiement Agent Qualys complet
...
- Page /qualys/deploy: selection serveurs, config agent, choix package
- Deploiement SSH: copie package, install rpm/dpkg, activation, verification
- Verification agent: check status/version sur serveurs selectionnes
- Auto-detect OS (deb vs rpm)
- Packages stockes dans /opt/patchcenter/agents/
- Filtres: hostname, domaine, environnement, OS
- Log detaille du deploiement
- Menu "Deployer Agent" dans la navigation Qualys
2026-04-11 21:26:45 +02:00
b7b0965722
Fix: qualys/agents - convert rows to dicts pour compatibilite Jinja2 map/attribute
2026-04-11 21:07:44 +02:00
3964dd2c89
Fix: page qualys/agents - try/except sur get_activation_keys et get_agents_summary
2026-04-11 21:04:47 +02:00
29e5a28a27
Fix: KeyError 'updated' → 'servers_updated' dans sync_to route
2026-04-11 13:36:23 +02:00
d8a526368e
Refonte synchro iTop bidirectionnelle complète
...
- Import: typologies directement depuis iTop (Environnement, DomaineApplicatif, Zone, DomainLdap)
- Import: contacts, VMs avec tous champs custom, serveurs physiques, IPs
- Export: typologies + serveurs avec champs patching (tier, ssh, freq, window, excludes)
- Timestamp dernière synchro import/export
- Bandeau synchro visible sur TOUS les onglets du referentiel
2026-04-11 13:19:10 +02:00
66eeff99e8
Sync iTop: import IPs dans server_ips + traceback sur erreur sync
2026-04-11 03:54:45 +02:00
f73ea25d5d
Referentiel: boutons sync iTop (import/export) + messages status
2026-04-10 23:17:58 +02:00
33dd3a779e
Fix: GET /audit/realtime redirige vers dashboard au lieu de crash int_parsing
2026-04-10 22:49:05 +02:00
b190c04147
Fix: hosts manquants + no-cache sur resultats audit (evite re-POST)
2026-04-10 20:38:44 +02:00
c2f3d669eb
Mode Demo/Reel au login + base patchcenter_demo
...
- Choix Production/Demo sur la page de login
- Base patchcenter_demo avec schema identique + 10 serveurs mpcz
- Le mode est stocke dans le JWT token
- La session DB bascule automatiquement selon le mode
2026-04-10 19:39:35 +02:00
Khalid MOUTAOUAKIL
e96d79aae3
QuickWin: prereq/snapshot services, referentiel, logs, correspondance
...
- Split quickwin services: prereq, snapshot, log services
- Add referentiel router and template
- QuickWin detail: prereq/snapshot terminal divs for production
- Server edit partial updates
- QuickWin correspondance and logs templates
- Base template updates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 18:13:00 +02:00
Khalid MOUTAOUAKIL
13290c1ebb
Phase 1 securite: permission checks sur tous les routers
...
- auth: verification is_active au login (compte desactive = bloque)
- settings: enforcement backend can_edit(settings) + role/section
- servers: can_view/can_edit(servers) sur toutes les routes
- planning: can_view/can_edit(planning) sur toutes les routes
- specifics: can_view/can_edit(specifics) sur toutes les routes
- contacts: rattache au module servers (can_view/can_edit)
- campaigns: can_view/can_edit(campaigns) sur toutes les routes manquantes
- audit/audit_full: can_view/can_edit(audit) sur toutes les routes
- qualys: can_view/can_edit(qualys) sur toutes les routes
- safe_patching: perm checks + authentification sur SSE stream
- quickwin: can_view/can_edit(campaigns|quickwin) sur toutes les routes
97 points d'injection securises, 0 route sans controle
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 16:46:05 +02:00
Khalid MOUTAOUAKIL
5cc10c5b6c
Module QuickWin complet + filtres serveurs OS/owner
...
- QuickWin: campagnes patching rapide avec exclusions générales (OS/reboot) et spécifiques (applicatifs)
- Config serveurs: pagination, filtres (search, env, domain, zone, per_page), dry run, bulk edit
- Détail campagne: pagination hprod/prod séparée, filtres (search, status, domain), section prod masquée si hprod non terminé
- Auth: redirection qw_only vers /quickwin, profil lecture seule quickwin
- Serveurs: filtres OS (Linux/Windows) et Owner (secops/ipop/na), exclusion EOL
- Sidebar: lien QuickWin conditionné sur permission campaigns ou quickwin
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 16:27:45 +02:00
Khalid MOUTAOUAKIL
c550597a86
Export CSV serveurs avec filtres (domaine, env, tier, état, recherche)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 01:49:23 +02:00
Khalid MOUTAOUAKIL
769e199735
Export CSV patching avec filtres (année, scope, domaine, recherche)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 01:30:17 +02:00
Khalid MOUTAOUAKIL
7f5e5c83eb
Export CSV: serveurs sans agent + agents inactifs
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 01:24:49 +02:00
Khalid MOUTAOUAKIL
6a5bdefde5
Sans agent: lister tous les serveurs sans exclusion
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 01:13:49 +02:00
Khalid MOUTAOUAKIL
b159960522
Qualys agents: colonne État ajoutée, exclure décommissionnés de la liste sans agent
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 01:06:49 +02:00
Khalid MOUTAOUAKIL
067dec6bcd
Agents inactifs: KPI cliquable avec *, légende RHEL5/EOL, liste détaillée
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 00:33:54 +02:00
Khalid MOUTAOUAKIL
29a377887f
KPI agents Qualys: actifs/inactifs/sans agent sur dashboard + page Agents avec liste détaillée
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 00:01:57 +02:00
Khalid MOUTAOUAKIL
ca16e42ef8
Cache 10min sur détail vulnérabilités (HTMX), indication (cache) affichée
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:52:55 +02:00
Khalid MOUTAOUAKIL
e11714c421
Comparaison même semaine 2026 vs 2025: barres, écart pts, objectif, données incomplètes
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:47:01 +02:00
Khalid MOUTAOUAKIL
340970c108
Comparaison 2026 vs 2025: barres progression, écart serveurs et points
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:45:17 +02:00
Khalid MOUTAOUAKIL
8286fe0624
Fix histogramme: cancelled_weeks séparés, barres empilées vert+rouge par semaine
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:30:30 +02:00
Khalid MOUTAOUAKIL
4517dcdd39
Histogramme patching: barres empilées vert (patché) + rouge (annulé/reporté), total affiché
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:27:14 +02:00
Khalid MOUTAOUAKIL
c05ec932db
Fix histogramme patching: exclure annulés/reportés du graphe semaines
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:25:36 +02:00
Khalid MOUTAOUAKIL
c139dfbaa2
Cache mémoire 10min pour Qualys API, bouton Resync temps réel, page Agents (activation keys + versions)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:04:48 +02:00
Khalid MOUTAOUAKIL
0dc0fc7643
Vulns: parser results en tableau Package/Version installée/Version requise
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:51:50 +02:00
Khalid MOUTAOUAKIL
31bf62651c
Qualys vulns: clic sur badges ouvre detail (QID, titre, CVE avec lien NVD, CVSS3, detection, solution)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:48:44 +02:00
Khalid MOUTAOUAKIL
662b9c3535
Fix vulns: utiliser IPs au lieu de QPS asset IDs pour API VMDR
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:42:30 +02:00
Khalid MOUTAOUAKIL
f04d04224d
Qualys: vulnérabilités severity 3/4/5 dans résultats recherche (API VMDR)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:38:56 +02:00
Khalid MOUTAOUAKIL
cb8ade24e4
Patching: filtre SecOps/Hors SecOps, KPIs par perimetre, detail partial "pas encore audite"
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:11:35 +02:00
Khalid MOUTAOUAKIL
390a162cf4
Fix: inclure status partial (serveurs Ayoub) dans toutes les requetes audit/patching/dashboard
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:20:33 +02:00
Khalid MOUTAOUAKIL
dea2889746
Module Patching: KPIs, graphe semaines, domaine, detail par serveur, tri, filtre, 2025/2026
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:06:38 +02:00
Khalid MOUTAOUAKIL
ed23cc3fb6
Dashboard patching 2026: KPIs, barre progression, graphe semaines, domaine/env/zone
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:54:00 +02:00
Khalid MOUTAOUAKIL
2b2fac7c13
Dernier patch: date/semaine depuis Excel, colonne triable, couleur vert/jaune/rouge
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:48:11 +02:00
Khalid MOUTAOUAKIL
2ac263e80a
Tri colonnes hostname, uptime, reboot (asc/desc) avec indicateur fleche
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:35:38 +02:00
Khalid MOUTAOUAKIL
df03852c86
Export CSV avec filtres (domaine/zone/recherche/KPI), BOM UTF-8
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:20:35 +02:00
Khalid MOUTAOUAKIL
cdd550c84b
KPIs applicatifs: Oracle, PostgreSQL, MariaDB, HANA, httpd, nginx, HAProxy, Tomcat, Java, Node.js, Redis, MongoDB, Elastic, Docker/Podman — cliquables avec filtre
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:08:25 +02:00
Khalid MOUTAOUAKIL
f6571c2b10
Flow map: filtre par domaine/zone, recherche serveur avec autocompletion
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:48:29 +02:00
Khalid MOUTAOUAKIL
0a309ea4f7
Filtre domaine + zones (DMZ, EMV, LAN) dans dropdown
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:38:54 +02:00
Khalid MOUTAOUAKIL
a20318f010
Pagination 20 lignes par page
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:34:04 +02:00
Khalid MOUTAOUAKIL
d283e8ab8c
Pagination 50/page, recherche hostname, filtre domaine
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:32:07 +02:00
Khalid MOUTAOUAKIL
2864a15817
KPIs audit complet: reboot, disque 90%/80%, uptime > 4 mois, filtres cliquables
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:29:52 +02:00
Khalid MOUTAOUAKIL
09a039a6fd
Fix route order: flow-map avant {audit_id}
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:27:48 +02:00