f539c604d6fix(planning_import): RETURNING id au lieu de lastval() (FK violation patch_planning_import_rows_import_id_fkey)Admin MPCZ2026-05-07 19:37:44 +0200
517b02f602feat(prepatch): iteration multi-candidats SSH selon priorite SANEFAdmin MPCZ2026-05-07 19:31:14 +0200
31f3a3c632fix(migration): redirige FK servers.cluster_id vers server_clusters (etait sur l'ancienne table clusters)Admin MPCZ2026-05-07 11:48:15 +0200
90444c0c56feat(patching): particularites par serveur (notes wiki SANEF) + skip_first_reboot + reboot_delay clusterAdmin MPCZ2026-05-07 11:41:05 +0200
90c81c9aa3fix(excludes): ajoute *sdcss-kmod* a la liste Flux Libre (doit etre exclu partout)Admin MPCZ2026-05-07 09:10:17 +0200
626f8898e1feat(excludes): nouvelle liste exclusions par domaine (sdcss-kmod base + Flux Libre minimal + ASM Oracle kernel*)Admin MPCZ2026-05-07 08:40:10 +0200
de9704facfchore: script test_qualys_filter.py pour debug syntaxe filter (V1 vs V2 avec <list>)Admin MPCZ2026-05-05 18:50:28 +0200
1bad243f5efix(qualys): strip() defensif sur credentials + extraction enrichie de l erreur Qualys (responseCode + errorMessage + errorResolution + RAW fallback si format inconnu)Admin MPCZ2026-05-05 18:28:13 +0200
c77b4b22ebfix(qualys): API 2.0 confirmee (3.0 OTHER_ERROR car endpoint inexistant, 5.0 INVALID_API_VERSION) + body XML + mapping field user-friendly vers nom Qualys (hostname->name, fqdn->dnsHostName, ip->address) - cause racine 401 = mot de passe API expireAdmin MPCZ2026-05-05 16:56:56 +0200
cadef89c50fix(qualys): repasse en API 3.0 (5.0 ne supporte pas l objet hostasset, INVALID_API_VERSION). 12+3+1 endpoints qps/rest revenus en 3.0Admin MPCZ2026-05-05 16:48:59 +0200
5c402e5b63fix(qualys): extrait responseCode/errorMessage/errorResolution du XML Qualys dans le message d erreur (au lieu de tronquer 200 chars du XML brut)Admin MPCZ2026-05-05 16:46:16 +0200
e7eecf0346fix(qualys): search_assets_api utilise XML body au lieu de JSON (API 5.0 attend XML, JSON donnait 400). Message d erreur enrichi avec le debut de la reponseAdmin MPCZ2026-05-05 16:43:22 +0200
37faba382efix(qualys): migration API 2.0 EOL -> 5.0 (auth refusee en 2.0 INVALID_CREDENTIALS, OK en 5.0). 12+3+1 endpoints qps/rest mis a jourAdmin MPCZ2026-05-05 16:40:34 +0200
3e3f5618a0fix(servers/edit): retire hx-disabled-elt (htmx essaie reactiver bouton apres swap, mais form deja remplace -> TypeError htmx-internal-data null)Admin MPCZ2026-05-05 16:25:49 +0200
6999fbd736fix(servers/edit): retire hx-indicator/disinherit (causaient erreur htmx) - garde juste le toggle label Sauvegarder->Sauvegarde... sur le bouton submit qui marche proprementAdmin MPCZ2026-05-05 16:18:01 +0200
3f8033adbbfix(servers/edit): hx-disinherit='*' sur bouton Annuler (au lieu de la liste explicite qui ne marchait pas)Admin MPCZ2026-05-05 16:15:34 +0200
0e4a2384c8fix(servers/edit): bouton Annuler n hérite plus de hx-indicator/hx-disabled-elt du form (sinon affichait 'Sauvegarde en cours' au clic Annuler)Admin MPCZ2026-05-05 16:10:48 +0200
9e2a5d81f4chore: script populate_zones - rattache serveurs aux 3 zones SANEF (DMZ deja faite, EMV pour hostname *emv*, LAN par defaut sur le reste)Admin MPCZ2026-05-05 16:09:04 +0200
785916246ffix(servers): filtre Zone=LAN match aussi zone_id IS NULL (la colonne affiche 'LAN' par defaut quand zone vide) + comparaison case-insensitive sur z.nameAdmin MPCZ2026-05-05 16:05:25 +0200
9b0c596f2cfix(servers/edit): dropdown application matche aussi par nom si application_id NULL mais application_name renseigne (cas edge import sans FK)Admin MPCZ2026-05-05 16:01:37 +0200
5a9e2f78d1fix(servers/edit + patching): dropdown 'Solution applicative' affiche TOUTES les applications (filtre 'WHERE itop_id IS NOT NULL' retire) - les apps locales sans correspondance iTop apparaissent maintenantAdmin MPCZ2026-05-05 15:58:41 +0200
53144dcf43chore: script remplit fqdn manquants depuis hostname.domain_ltd (LOWER + strip point initial du domain_ltd)Admin MPCZ2026-05-05 15:52:20 +0200
c19309fec2fix(servers/edit): retire le push iTop sur changement application (etait bloquant 10s+ si iTop injoignable) - update local seulement, push iTop dedie via endpoint async a faire si besoinAdmin MPCZ2026-05-05 15:50:13 +0200
4b2a4cb8f2fix(servers/edit): timeout iTop reduit (3s connect / 10s read au lieu de 30s) + indicateur de chargement htmx visible (bouton change en 'Sauvegarde...' + message en bas du form)Admin MPCZ2026-05-05 15:47:12 +0200
e8f369817efix(servers): bulk + edit synchronisent aussi les colonnes text legacy s.environnement et s.domaine (sinon liste affiche valeur obsolete) + script SQL re-sync des serveurs deja desyncsAdmin MPCZ2026-05-05 15:29:34 +0200
5d3c07885dfeat(servers): drop colonnes legacy (snapshot_required/pre_patch_script/post_patch_script/satellite_host/need_pct) avec migration donnees + recreation views v_servers / v_patchable / v_conformity_todo + adaptation prereq_service et server_detail.htmlAdmin MPCZ2026-05-05 15:11:30 +0200
7d6019f5d3feat(patching/iexec): panneau Details du dernier check pliable (clic header) + bouton FermerAdmin MPCZ2026-05-05 14:52:21 +0200
64e58260d1chore: script update zone DMZ + satellite_url=vpdsiasat1 sur 51 hosts majoritairement DMZ dans le plan patching 2026Admin MPCZ2026-05-05 14:51:08 +0200
075706178efeat(settings/teams M1+M4): UI CRUD canaux Teams + service teams_service.py (Adaptive Card via Incoming Webhook) + bouton Test webhookAdmin MPCZ2026-05-05 13:58:38 +0200
9375c7ec4efeat(patching): migration architecture intervention - tables teams_channels + server_clusters + ALTER contacts/applications/servers/patch_planning_import_rows + FK contacts pour resp/referent/valideur, hooks pre/post patch, cluster ordering, workflow intervention completAdmin MPCZ2026-05-05 13:52:01 +0200
830eaaa519feat(patching/iexec): boutons et stepper avec etats visuels (gris pending / orange en cours / vert done / rouge failed) - cascade automatique selon resultats accumules + animation pulse pour runningAdmin MPCZ2026-05-05 12:58:39 +0200
0f5296ab40feat(patching/iexec): terminal global HTML colore consolide - toutes les etapes (check, snap, dryrun, pre, patch, reboot, recon, post) appendent dans le meme terminal avec sections horodatees + couleurs ANSI-like + scroll auto + bouton ViderAdmin MPCZ2026-05-05 12:28:12 +0200
ff95424e03feat(patching/iexec B3.6): bouton 3e Reboot manuel (double confirmation, jamais auto) + 3f Wait reconnexion (poll TCP/22 + SSH uptime, timeout 10min) - shutdown -r +1 avec audit logAdmin MPCZ2026-05-05 12:06:50 +0200
19d88f2d53feat(patching/iexec): detection auto deps problematiques + bouton retry sans paquets KO (multilib, requires, conflicts) - extra_excludes via SSE query paramAdmin MPCZ2026-05-05 11:32:44 +0200
8cf78dfef3feat(patching/iexec): terminal live SSE pour dry-run et patch reel - generator yum_stream_lines + endpoint /yum-stream + EventSource cote client + log audit en fin de streamAdmin MPCZ2026-05-04 17:02:28 +0200
e29ecff949feat(patching/iexec B3.4+B3.5): pre-capture services+ports + post-compare avant/apres avec rapport diff (scripts wiki SANEF, push base64) - workflow 3a/3b/3c/3d sequentielAdmin MPCZ2026-05-04 16:52:15 +0200
b2f04c247ffeat(patching): migration excludes alignee sur wiki SANEF (33 patterns base + ASM kernel + HAproxy FL sdcss-kmod) - B3.1+B3.2Admin MPCZ2026-05-04 16:43:37 +0200
6c92c71d17feat(patching/iexec B3): step 3a dry-run (yum update --assumeno) + step 3b real patch (yum update -y) avec excludes effectifs depuis v_servers, validation anti-injection sur excludes, log audit, double confirmation pour patch reelAdmin MPCZ2026-05-04 16:40:46 +0200
37e6f0d8f3chore(snapshot): strip() defensif sur credentials vCenter (copier-coller peut ajouter newline/CR)Admin MPCZ2026-05-04 16:29:20 +0200
a006e3f422fix(snapshot): message d erreur distingue login KO de VM non trouvee (etait trompeur)Admin MPCZ2026-05-04 16:25:10 +0200
f1baae9c8efix(snapshot): _find_vm matching tolerant (court + FQDN) + log samples pour debug si VM non trouveeAdmin MPCZ2026-05-04 16:21:45 +0200
9996757e4bfeat(snapshot): branche prod/hprod via prefixe hostname (vp/sp/lp = prod/metier ; reste = hprod/gestion) + fix matching DR vpsiaavcs1 (etait vpsicavcs1) + tolerance par nameAdmin MPCZ2026-05-04 16:15:46 +0200
a68d9494f1fix(patching/iexec snapshot): toujours chercher la VM dans vCenter par hostname (s.vcenter_vm_name peut etre faux en base)Admin MPCZ2026-05-04 16:12:50 +0200
a1476cb3e2fix(snapshot): fallback secrets vsphere_user/pass (nom Settings UI) en plus de vcenter_user/pass legacyAdmin MPCZ2026-05-04 16:07:50 +0200
a5f3a25198feat(patching/import): actions Reporter/Ajouter au patching + log + colonne Etat (etape A) + placeholder /patching/iexec affichant excludes effectifs (etape B a venir)Admin MPCZ2026-05-04 14:57:49 +0200
6eb7619efcfeat(patching/import): affichage date au format FR dd/mm/yyyy (tri reste sur start_iso ISO)Admin MPCZ2026-05-04 14:12:42 +0200
1ef9ecf85ffeat(patching/import): lien Asset s ouvre dans un nouvel ongletAdmin MPCZ2026-05-04 14:09:27 +0200
6891736395feat(patching/import): retire colonnes Impacts et BDD de l affichage, lien Asset pointe vers /servers?search=Admin MPCZ2026-05-04 14:09:11 +0200
f70f5c3704feat(patching/import): retire colonnes Coupure/Pb disque/Lien serveur/Mode op de l affichage, link sur Asset, raccourci OS version (RedHat 8, Win 2022, ...)Admin MPCZ2026-05-04 14:05:16 +0200
630297f98efeat(patching/import): stockage date/heure typés (DATE+TIME) + jour_text fallback texte libre + tri colonne Date par date+heure combinésAdmin MPCZ2026-05-04 13:57:24 +0200
8b6057aef2feat(patching/import): filtre intervenant en dropdown, retire filtre asset texte, ajoute tri asc/desc/none au clic sur entete AssetAdmin MPCZ2026-05-04 13:17:23 +0200
488b5a980bfeat(patching/import): ajout colonnes Resp Domaine DTS, Referent technique, Mode operatoire, Impacts, BDD - support nouveau format S07+ + Date au lieu de JourAdmin MPCZ2026-05-04 13:12:09 +0200
13a5625710feat(patching/import): filtres client-side asset/intervenant/env sur tableau semaineAdmin MPCZ2026-05-04 13:04:05 +0200