Commit Graph

67 Commits

Author SHA1 Message Date
753d4076c9 Migre etat vers labels iTop verbatim (Production, Nouveau, etc.)
Aligne la colonne servers.etat sur les valeurs iTop exactes au lieu
des codes lowercase internes.

Impact:
- servers.etat stocke: Production, Implémentation, Stock, Obsolète,
  EOL, prêt, tests, Nouveau, A récupérer, Cassé, Cédé, En panne,
  Perdu, Recyclé, Occasion, A détruire, Volé
- Remplace tous les 'production'/'obsolete'/'stock'/'eol'/'implementation'
  en WHERE/comparisons par les labels iTop verbatim (~10 fichiers)
- Templates badges/filtres: valeurs + labels iTop
- itop_service: maintient mapping iTop API internal code <-> DB label
- import_sanef_*: norm_etat retourne la valeur iTop verbatim ou None
  (plus de fallback silencieux sur 'production')

Ajoute:
- tools/import_etat_itop.py : migration lowercase -> iTop + re-import CSV
- tools/import_environnement.py : fix dry-run pour ADD COLUMN idempotent

Supprime:
- tools/fix_etat_extend.py (obsolete par import_etat_itop.py)
2026-04-14 18:40:56 +02:00
242641a085 Add import_environnement: colonne environnement + import CSV iTop verbatim 2026-04-14 18:33:40 +02:00
0f031b2150 fix_etat_extend: ajoute pret et tests au mapping iTop 2026-04-14 18:32:00 +02:00
fd748ce3fd Add fix_etat_extend: extend etat CHECK + remap from iTop CSV
Ajoute les 11 etats 'condition physique' iTop (nouveau, casse, en_panne,
cede, perdu, recycle, occasion, a_recuperer, a_detruire, vole) au CHECK
constraint servers.etat. Relit les CSV pour mettre a jour uniquement
la colonne etat sans tout reimporter.

Fix bug: norm_etat() precedent defaultait tout non-reconnu sur 'production',
masquant les serveurs 'Nouveau' ou 'En panne' qui ne doivent pas etre patches.
2026-04-14 18:15:25 +02:00
987e21377b Add move_esxi_extras + move_chassis scripts
move_esxi_extras: identifie ESXi par description (patch_owner_details
contient ESXi/hebergeant/hyperviseur) pour les PDP BAC_* et autres
hyperviseurs non presents dans le CSV Hyperviseur iTop. Deplace vers
hypervisors (kind=hypervisor).

move_chassis: deplace les chassis (CPEM*) vers une table chassis dediee
(non patchables, pas d'agent Qualys).
2026-04-14 18:09:26 +02:00
d3b7fc2e22 Add move_vcenters script + kind column on hypervisors 2026-04-14 17:48:46 +02:00
0a00c401d7 Add hypervisors table + move script (preserves VM->hypervisor link via vcenter_vm_name) 2026-04-14 17:40:24 +02:00
683a86346d Add SANEF physical/hypervisor import script 2026-04-14 17:34:33 +02:00
faa267c3ff Add SANEF contacts import script 2026-04-14 14:22:03 +02:00
612f3c7cea Add SANEF IPs import script (from Interface réseau export) 2026-04-14 13:57:27 +02:00
b72f1244dd Use autocommit mode to persist inserts immediately 2026-04-14 13:43:25 +02:00
c6113bc537 Drop ON CONFLICT (no unique constraint on hostname) 2026-04-14 13:39:11 +02:00
2215067987 Use savepoints per row to isolate failing inserts 2026-04-14 13:38:16 +02:00
f0fe6eba81 Fix etat mapping: use only production/implementation/stock/obsolete/eol 2026-04-14 13:34:07 +02:00
42fb16d67e Fix import script: auto-detect FK tables before truncate 2026-04-14 13:31:00 +02:00
338c0ecc0f Add SANEF asset CSV import script 2026-04-14 13:24:42 +02:00
677f621c81 Admin applications + correspondance cleanup + tools presentation DSI
- Admin applications: CRUD module (list/add/edit/delete/assign/multi-app)
  avec push iTop bidirectionnel (applications.py + 3 templates)
- Correspondance prod<->hors-prod: migration vers server_correspondance
  globale, suppression ancien code quickwin, ajout filtre environnement
  et solution applicative, colonne environnement dans builder
- Servers page: colonne application_name + equivalent(s) via get_links_bulk,
  filtre application_id, push iTop sur changement application
- Patching: bulk_update_application, bulk_update_excludes, validations
- Fix paramiko sftp.put (remote_path -> positional arg)
- Tools: wiki_to_pdf.py (DokuWiki -> PDF) + generate_ppt.py (PPTX 19 slides
  DSI patching) + contenu source (processus_patching.txt, script_presentation.txt)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 21:11:58 +02:00