# PatchCenter — SLPM (SANEF Linux Patch Manager) App web FastAPI/PostgreSQL pour piloter le patching Linux SANEF : plan de patching, historique, users AD/LDAP, intégration iTop, API Qualys. **Source de vérité** : VM CT 116 (`pc.mpcz.fr`, `172.28.199.185` + `pct exec 116 -- ...`) + repo Gitea `adminmpmcz/patchcenter`. ## Workflow de dev (validé 2026-04-17) 1. **Claude** modifie direct sur CT 116 via SSH → `git push` Gitea 2. **Khalid** sur poste SANEF (`C:\patchcenter`) → `git pull` → test sur `127.0.0.1:8080` 3. Si OK : Khalid ajoute ses modifs + `git push` Gitea 4. **Claude** sur CT 116 → `git pull` + `systemctl restart patchcenter` ## Stack - Python 3.11+ / FastAPI / Uvicorn - PostgreSQL (patchcenter) - Jinja2 + Tailwind (templates) - LDAP (AD SANEF) pour auth ## Structure - `app/` — code FastAPI (auth, models, routers, services) - `deploy/` — scripts déploiement + migrations SQL - `tools/` — scripts d'import/enrichissement (Qualys, iTop, Ayoub, etc.) - `docs/` — DEPLOY.md, SANEF_PATCHING_PROCESS.md - `migrate_*.sql` — migrations DB manuelles ## Lancer en local (poste SANEF, pas la copie locale Claude) ``` python -m uvicorn app.main:app --host 0.0.0.0 --port 8080 ``` ## Gitea - Repo : `http://172.28.199.202:3000/adminmpmcz/patchcenter` - Creds HTTPS : `adminmpmcz` / `Admin@2025` ## Notes - `SECRET_KEY` côté VM : `sanef-patchcenter-demo-key-change-me` (drop-in systemd) - DB échangée via **Gitea Releases** (attachment `.sql`), jamais dans le git tree - Après restore DB : `ALTER TABLE ... OWNER TO patchcenter` pour toutes les tables+sequences