11bbda5a27
fix(patching/iexec): r.os manquant dans SELECT de iexec_check (filtre Windows cassait)
2026-05-04 15:27:13 +02:00
8f98492c77
fix(patching/iexec): vue s appelle v_servers (pas v_servers_patching) pour effective_excludes
2026-05-04 15:22:42 +02:00
4e02319516
fix(patching/import): import Query manquant pour iexec_page (NameError au demarrage)
2026-05-04 15:15:47 +02:00
eb2e0dc8ba
feat(patching/iexec B1): page wizard step 1 - checks DNS+SSH+Satellite (LAN vpdsiasat2 / DMZ vpdsiasat1 selon domaine), Linux uniquement (Windows skip), sudo -n partout
2026-05-04 15:14:06 +02:00
a5f3a25198
feat(patching/import): actions Reporter/Ajouter au patching + log + colonne Etat (etape A) + placeholder /patching/iexec affichant excludes effectifs (etape B a venir)
2026-05-04 14:57:49 +02:00
630297f98e
feat(patching/import): stockage date/heure typés (DATE+TIME) + jour_text fallback texte libre + tri colonne Date par date+heure combinés
2026-05-04 13:57:24 +02:00
488b5a980b
feat(patching/import): ajout colonnes Resp Domaine DTS, Referent technique, Mode operatoire, Impacts, BDD - support nouveau format S07+ + Date au lieu de Jour
2026-05-04 13:12:09 +02:00
557015325b
feat(patching): import planning xlsx (etape 1) - tables patch_planning_imports + rows, page upload + selecteur semaine + tableau
2026-05-04 12:57:35 +02:00
767b33095a
feat(qualys/agents): bloque troubleshooting pour Windows (route + bouton 'Non gere' dans table)
2026-04-28 01:48:32 +02:00
cdcb85917d
feat(qualys/agents): audit en background thread + page d'attente auto-refresh (fix ERR_CONNECTION_RESET sur audits longs)
2026-04-27 23:25:50 +02:00
03229d4d08
feat(qualys/agents): bouton Check + page audit cible Qualys agent (status + version + logs agent/systeme via SSH)
2026-04-27 23:09:05 +02:00
cc550c2d84
fix(qualys/duplicates): scan async (background thread) + bandeau scan en cours - evite 503 HAProxy
2026-04-25 10:31:07 +00:00
3d043af194
feat(qualys): page doublons + suppression API Qualys 1-clic
2026-04-25 10:17:40 +00:00
0ab4f2d8fa
fix(qualys/dashboard): vire flag in-memory + safety net thread + flex layout 6 KPI
2026-04-25 00:13:22 +00:00
34cca6f77b
fix(qualys/dashboard): user est un dict, utiliser user.get(sub) au lieu de .username
2026-04-25 00:09:15 +00:00
9a7f446637
fix(qualys/dashboard): insert pending row dans la route avant spawn thread (no race)
2026-04-25 00:07:22 +00:00
daf87891a7
feat(qualys/dashboard): is_running base sur DB (multi-worker safe) + bouton Annuler
2026-04-25 00:05:49 +00:00
8f8e8c4d8f
feat(qualys): dashboard vulnerabilites avec KPI + historique
2026-04-24 23:49:46 +00:00
b06aedfc3b
fix(qualys): force vuln cache refresh on bulk resync redirect
2026-04-24 22:51:11 +00:00
392c8f4fe5
fix(qualys/search): KPI vuln_map est dict total/severityN, pas int
2026-04-24 22:34:16 +00:00
3c00f05263
feat(qualys/agents): colonne Version OS dans table sans-agent
2026-04-24 22:30:39 +00:00
c57ef61adb
feat(qualys/search): KPI total/avec-vuln/sans-vuln + filtre vuln_filter
2026-04-24 22:27:55 +00:00
5fedfb5f80
Add page Tour de garde SecOps : import xlsx + table + vue hebdo + competences
2026-04-17 23:39:11 +00:00
a0f90cd719
Optim: logging structure + query_helpers.py + fix exceptions silencieuses routers
2026-04-17 23:19:18 +00:00
9097872e57
Secu: verif permissions can_view/can_edit sur endpoints HTMX detail/edit
2026-04-17 23:15:04 +00:00
2bf2fa5042
patch_history: tolere parametres vides dans les filtres (week=, source=, etc.)
2026-04-17 12:42:58 +00:00
2ab2ceabba
Historique patching : filtres OS/zone/domaine/intervenant + colonnes table
2026-04-17 12:10:45 +00:00
4b1794d4d1
Add page Historique patching : vue unifiee import xlsx + campagnes + quickwin
2026-04-17 08:47:25 +00:00
8b212df7a1
Qualys 'sans agent': match via server_id (couvre alias hostname Qualys != iTop)
2026-04-15 13:54:07 +02:00
245777fd46
Qualys agents: exclut Win10/11/Workstation de la liste 'Sans agent'
2026-04-15 13:49:05 +02:00
a3a1ec7e6d
Qualys deploy: bouton 'Sauvegarder ces valeurs' (ActivationId/Customer/Uri persistes)
2026-04-15 13:34:24 +02:00
5b6e113792
Qualys deploy: filtre s.os_family=linux + retire dropdown OS du UI
2026-04-15 13:18:09 +02:00
55d08921f9
Qualys deploy: persiste activation_ids/customer/uri en secrets + selection auto Linux/Windows
2026-04-15 13:12:15 +02:00
f59c6dcbdb
Qualys deploy: 2 dropdowns ActivationId Linux et Windows (separes)
2026-04-15 13:04:34 +02:00
0095f7914f
Qualys deploy: POD SANEF = QG1 par defaut (pas QG2)
2026-04-15 13:00:45 +02:00
2972baca1f
Qualys deploy: dropdown ActivationId depuis API + ServerUri auto-deduit URL Qualys
2026-04-15 12:53:18 +02:00
9e03fd84c0
Qualys tags page: bandeau sync en cours + bouton Resync API disable
2026-04-15 12:39:40 +02:00
48249d1c82
Qualys agents page: bandeau sync en cours + boutons sync desactives + bouton Annuler
2026-04-15 12:37:49 +02:00
1dc7560f44
Qualys tags resync: message clair si busy + erreur API detaillee
2026-04-15 12:35:34 +02:00
a62f9a4146
Qualys sync dual mode: diff (rapide, lastCheckedIn) + full (complet)
...
- refresh_all_agents accepte mode='diff'|'full' (defaut diff)
- Mode diff: filtre Qualys lastCheckedIn > qualys_last_diff_sync (settings)
- Mode full: pull tous les assets (comme avant)
- Skip early-exit en diff si dernier diff < 5 min
- 2 boutons UI: 'Sync rapide (diff)' et 'Sync complete'
- JS refreshAgents(mode) passe le mode en query param
2026-04-15 12:33:48 +02:00
2f880da275
Top bar: affiche display_name (Prenom NOM) + (AD) si LDAP + login en gris
2026-04-15 12:00:41 +02:00
67fa28a2af
Fix LDAP auto-provision: colonne display_name (pas full_name)
2026-04-15 11:52:20 +02:00
f013aaaab6
LDAP auto-provision: user cree DESACTIVE par defaut + role viewer (admin doit l'activer)
2026-04-15 11:46:22 +02:00
53d4f71607
LDAP: restriction groupe AD + auto-provisioning users (sans permissions)
...
- Settings ldap_required_group (DN groupe autorise) + ldap_default_role
- ldap_authenticate verifie memberOf vs required_group avant bind
- auth.py: si user inconnu + LDAP + groupe OK -> auto-create user, role default,
zero permission (admin doit assigner via /users)
2026-04-15 11:45:33 +02:00
d508072969
Add /qualys/tagsv3/catalog: page de reference nom/type/QQL/couleur par categorie
...
- Template catalog.html affiche les 6 categories + prefixes
- Tags avec QQL en font mono user-select:all pour copy-paste facile
- Export JSON dispo via /qualys/tagsv3/catalog.json
- Navigation croisee entre Vue/Catalog/Gap
2026-04-15 10:20:41 +02:00
ec7712f0c9
Add module Qualys Tags V3: catalogue YAML + service + pages /qualys/tagsv3 et /gap
...
- deploy/qualys_tags_v3.yaml: catalogue 19 DYN + 6 SPEC manuel + prefixes
- app/services/qualys_tags_service.py: list/analyze_gap/create_static/delete via API
- app/routers/qualys_tags.py: routes /qualys/tagsv3 et /gap
- templates: qualys_tagsv3.html (liste) + qualys_tagsv3_gap.html (diff catalogue)
- Route /qualys/tagsv3/create-all-static pour creer les STAT manquants en bulk
- DYN manquants affiches avec QQL copy-paste pour console Qualys (API ne permet pas)
- PyYAML ajoute aux requirements
2026-04-15 10:14:10 +02:00
2a10ec55ab
Page /audit: liste les audits en cours avec bouton Reprendre
2026-04-15 00:22:22 +02:00
3c4244597c
Audit: ThreadPoolExecutor avec parallel borne (evite saturation DB/PSMP)
2026-04-15 00:20:12 +02:00
48efb07b49
Audit exclusion: match par nom ET code (form UI envoie l'un ou l'autre)
2026-04-15 00:14:39 +02:00
ca4f779e48
Fix audit exclusion: NULL domaine = exclu (evite audit de 690 serveurs non-tagges)
2026-04-15 00:05:16 +02:00