patchcenter/app/routers
Admin MPCZ edec1f7db5 feat(teams): mode SharePoint sync (calque .exe Sanef Patch Manager) + rules-based routing
- Migration: ajoute sp_route/mode/is_reboot_channel/is_dynamic_dm sur teams_channels,
  cree table teams_channel_rules (match resp/domain/env/msg_type/hostname pattern)
- Service teams_service.py: format texte plat compatible workflows existants,
  write_sharepoint_notification (ecrit fichier .txt dans <sp_base>/<sp_route>/),
  resolve_channel_for_server rules-based avec priorite reboot,
  send_notification orchestre resolution + envoi
- Settings UI: CRUD canaux etendu (mode SP/webhook + flags reboot/dyn_dm),
  CRUD regles avec match conditions, sharepoint_notif_path en secret app,
  bouton Test ecrit fichier .txt en mode SP
- Mode is_dynamic_dm: prefixe le contenu par 'TO: <email>' pour permettre
  un workflow PA unique qui dispatch dynamiquement aux responsables
- Pas d'OAuth requis: PatchCenter ecrit fichiers, Workflows PA cote SharePoint
  (deja en place pour le .exe) declenchent et postent sur Teams

Mode webhook conserve mais inactif tant qu'OAuth Entra ID pas mis en place chez SANEF
2026-05-06 09:57:42 +02:00
..
__init__.py PatchCenter v2.0 — Initial commit 2026-04-04 03:00:12 +02:00
applications.py Migre etat vers labels iTop verbatim (Production, Nouveau, etc.) 2026-04-14 18:40:56 +02:00
audit.py Secu: verif permissions can_view/can_edit sur endpoints HTMX detail/edit 2026-04-17 23:15:04 +00:00
auth.py Top bar: affiche display_name (Prenom NOM) + (AD) si LDAP + login en gris 2026-04-15 12:00:41 +02:00
campaigns.py Optim: logging structure + query_helpers.py + fix exceptions silencieuses routers 2026-04-17 23:19:18 +00:00
contacts.py Optim: logging structure + query_helpers.py + fix exceptions silencieuses routers 2026-04-17 23:19:18 +00:00
dashboard.py Optim: logging structure + query_helpers.py + fix exceptions silencieuses routers 2026-04-17 23:19:18 +00:00
duty.py Add page Tour de garde SecOps : import xlsx + table + vue hebdo + competences 2026-04-17 23:39:11 +00:00
patch_history.py patch_history: tolere parametres vides dans les filtres (week=, source=, etc.) 2026-04-17 12:42:58 +00:00
patching.py fix(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 maintenant 2026-05-05 15:58:41 +02:00
planning_import.py feat(check satellite): cascade LAN+DMZ avec fallback automatique + migration servers.satellite_url + override BDD prioritaire 2026-05-05 14:34:47 +02:00
planning.py Migre etat vers labels iTop verbatim (Production, Nouveau, etc.) 2026-04-14 18:40:56 +02:00
qualys_tags.py Add /qualys/tagsv3/catalog: page de reference nom/type/QQL/couleur par categorie 2026-04-15 10:20:41 +02:00
qualys.py feat(qualys/agents): bloque troubleshooting pour Windows (route + bouton 'Non gere' dans table) 2026-04-28 01:48:32 +02:00
quickwin.py Admin applications + correspondance cleanup + tools presentation DSI 2026-04-13 21:11:58 +02:00
referentiel.py Fix: KeyError 'updated' → 'servers_updated' dans sync_to route 2026-04-11 13:36:23 +02:00
servers.py fix(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 maintenant 2026-05-05 15:58:41 +02:00
settings.py feat(teams): mode SharePoint sync (calque .exe Sanef Patch Manager) + rules-based routing 2026-05-06 09:57:42 +02:00
specifics.py Phase 1 securite: permission checks sur tous les routers 2026-04-08 16:46:05 +02:00
users.py Users/Contacts: workflow profils + LDAP + sync iTop + etat aligne 2026-04-12 18:50:43 +02:00