Commit Graph

61 Commits

Author SHA1 Message Date
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
5db47c497f Agents sans Qualys: filtres Alpine.js sur hostname, OS, domaine, env, état
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 01:20:59 +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
c22ad75ee8 État édition: labels avec accents (Éteint, En implémentation, Décommissionné, EOL)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 00:59:54 +02:00
Khalid MOUTAOUAKIL
e551ddf575 Tooltip survol sur env/etat tronqués, dropdown labels lisibles, état eteint ajouté
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 00:55:53 +02:00
Khalid MOUTAOUAKIL
c16c628e96 Fix: last_checkin datetime to string avec |string filtre Jinja2
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 00:39:30 +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
a43dd01b7e Loading spinner sur vulns et détail asset (HTMX), masqué après réponse
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:13:33 +02:00
Khalid MOUTAOUAKIL
1d8502d25b Loading overlay sur bouton Rechercher Qualys
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:09:43 +02:00
Khalid MOUTAOUAKIL
c94d952948 Fix resync: retirer data-loading, ajouter texte explication cache 10min
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 23:07:21 +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
40b0307f62 Accents dans tous les templates: audité, réseau, corrélation, patché, données, décommissionnés
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:28:33 +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
dc3efd081e Fix sidebar Complet/Patching actif, domaines cliquables dans patching
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 18:18:44 +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
24c1db2aca Fix pagination: conserve sort/dir dans les liens de page
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:55:11 +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
c42708db75 Processus: restart_hint et cmdline affiches en entier, plus de troncature
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 17:13:39 +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
38b27beb9d Fix KPIs detail serveur sur une seule ligne (inline flex-nowrap)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:49:45 +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
532ecf7e3d Carte flux visuelle SVG: noeuds, liens verts, pan/zoom, tooltip, recherche
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:44:20 +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
c7831f5b86 KPIs sur une seule ligne (flex-nowrap, min-width:0)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:37:00 +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
Khalid MOUTAOUAKIL
6834710af6 Fix CAST inet + IPv6 cleanup dans resolve_dest_server
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:23:32 +02:00
Khalid MOUTAOUAKIL
20cd9c7d80 Audit complet: import JSON, carte flux, carte applicative
- server_audit_full_service.py: SSH PSMP/cle, parsing, stockage JSONB, flow map
- server_audit.sh: script bash avec sudo (compatible PSMP cybsecope)
- audit_full router: import JSON, liste, detail, carte flux
- Templates: liste audits, detail 8 onglets, carte flux + carte applicative
- Jointures: server_id via servers, dest_server via server_ips
- Sous-menu Audit > Complet dans la sidebar

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 16:06:55 +02:00
Khalid MOUTAOUAKIL
833c4fc3d2 Quick Win delete, UI planning/specifics reorganises, accents retires
- Safe Patching: bouton supprimer campagne (admin only)
- Safe Patching: boutons nouvelle campagne et planning en haut
- Safe Patching: message suppression dans les notifications
- Planning: formulaire ajouter deplace apres le Gantt (compact)
- Planning: accents retires des messages flash
- Specifics: formulaire ajouter deplace en haut avant le tableau
- Specifics: colonne Wave retiree, colonnes Stop/Start renommees

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 15:44:22 +02:00
Khalid MOUTAOUAKIL
49d5658475 Safe Patching wizard, SSE terminal, SSH password fallback, Qualys VMDR testé
Safe Patching Quick Win:
- Wizard 4 steps: Prérequis → Snapshot → Exécution → Post-patch
- Step 1: vérif SSH/disque/satellite par branche, exclure les KO
- Step 2: snapshot vSphere VMs
- Step 3: commande yum éditable, lancer hprod puis prod (100% requis)
- Step 4: vérification post-patch, export CSV
- Terminal SSE live (Server-Sent Events) avec couleurs
- Exclusion serveurs par checkbox dans chaque branche
- Label auto Quick Win SXX YYYY

SSH:
- Fallback password depuis settings si clé SSH absente
- Détection auto root (id -u) → pas de sudo si déjà root
- Testé sur VM doli CentOS 7 (10.0.2.4)

Qualys VMDR:
- API 2.0 testée et fonctionnelle avec compte sanef-ae
- Knowledge Base (CVE/QID/packages) accessible
- Host Detections (vulns par host) accessible
- Migration vers API 4.0 à prévoir (EOL dans 85 jours)

Qualys Agent installé sur doli (activation perso qg2)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 06:49:31 +02:00
Khalid MOUTAOUAKIL
977733343a Server pairs, campaign types, wave notes, in_progress fixes
- Table server_pairs: 682 paires prod/hprod auto-détectées via app_group
- Campaign types: standard, quickwin, safe_patching
- Patch waves: note explicative dans spécifiques
- Opérateur peut planifier en in_progress
- Limites intervenants visibles en in_progress
- Formulaires inline actifs en in_progress
- Backup DB uploadé sur Drive

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 05:32:37 +02:00