Commit Graph

18 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
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
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
32d602975b Sync contacts: role depuis Teams iTop (SecOps→referent_technique, iPOP→responsable_applicatif) 2026-04-11 14:33:12 +02:00
3707308063 Sync iTop: responsables domaine par fréquence + emails
- domain_environments.responsable_nom/email = responsable_domaine iTop le plus fréquent par couple domaine×env
- servers.responsable_nom/email = responsable_serveur iTop (par VM)
- servers.referent_nom/email = responsable_domaine iTop (par VM)
- Mapping Excel: Resp Domaine DTS → domain_environments.responsable, Valideur RA = par serveur
2026-04-11 14:22:29 +02:00
73cec814b6 Fix: typologies iTop sans org_id (DomaineApplicatif, Environnement, Zone, DomainLdap) 2026-04-11 14:01:20 +02:00
df4cd3be6f Sync iTop: import emails responsable serveur/domaine dans servers + domain_environments 2026-04-11 13:55:25 +02:00
6683813743 Export iTop: sync responsable serveur et responsable domaine 2026-04-11 13:26:51 +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
1ff6b3fd4d Sync to iTop: export referentiel (environnements, domaines, zones) + serveurs 2026-04-11 04:17:22 +02:00
66eeff99e8 Sync iTop: import IPs dans server_ips + traceback sur erreur sync 2026-04-11 03:54:45 +02:00
322fa71324 Fix sync iTop: champs corrects (patch_window, contacts.role, ssh_method constraint, rollback) 2026-04-11 03:20:04 +02:00
be6c5158b8 Sync iTop: tous les champs custom (tier, connexion, ssh_user, patch_freq, pref_jour/heure, domain_ldap, excludes)
Correspondance complete iTop <-> PatchCenter:
- tier_name -> tier (Tier 0 -> tier0)
- connexion_method_name -> ssh_method
- ssh_user_name -> ssh_user
- patch_frequency_name -> patch_frequency (Monthly -> monthly)
- pref_patch_jour_name -> pref_patch_jour
- pref_patch_heure_name -> pref_patch_heure
- patch_excludes -> patch_excludes
- domain_ldap_name -> domain_ltd
2026-04-11 02:28:39 +02:00
3b5f0992b3 Refonte sync iTop: import complet contacts/domaines/envs/zones/serveurs
- Tables referentielles videes (iTop = maitre)
- Import: Person -> contacts, domaine_applicatif -> domains, environnement -> environments, zone -> zones
- Import: domain_environments auto-crees depuis les combinaisons VM
- Import: VirtualMachine + Server avec responsable_serveur, responsable_domaine, IP, OS, description
- Export: status, description, creation VMs manquantes
- Matching par hostname court (sans FQDN)
2026-04-11 01:58:31 +02:00
ba48e75b68 Fix matching iTop: compare aussi par hostname court (sans .mpcz.fr) 2026-04-11 00:23:33 +02:00
db74111d58 Sync iTop enrichie: responsable_serveur + responsable_domaine + creation VMs
- Import: responsable_serveur_name → responsable_nom, responsable_domaine_name → referent_nom
- Import: environnement iTop synchronise
- Export: cree les VMs manquantes dans iTop (classe VirtualMachine, org MPCZ)
- Export: hostname comme nom (pas fqdn)
2026-04-11 00:14:09 +02:00
53e59e7305 Sync iTop: ajout responsable serveur (contacts_list) + commentaire/description 2026-04-10 23:23:48 +02:00
acf20c5890 Service iTop REST: synchro bidirectionnelle serveurs + contacts
- ITopClient: wrapper REST API v1.3 (get/create/update servers, contacts)
- sync_from_itop: import serveurs + contacts iTop vers PatchCenter
- sync_to_itop: export serveurs PatchCenter vers iTop
- Correspondance champs: hostname/name, os/osversion, etat/status, contacts
- Config iTop dans app_secrets (url, user, pass)
2026-04-10 23:11:32 +02:00