docs: mark remediation plan as executed with implementation summary
Build & Deploy / build (push) Failing after 4s
Build & Deploy / docker (push) Skipped

This commit is contained in:
Kevin L'Hereec committed 2026-07-23 11:30:20 +02:00
1 parent b88871879c
commit 84ae2b9617
1 file changed
+43
+43
View File
@@ -1,5 +1,8 @@
# Plan de remédiation — PC Builder
> **Statut : exécuté le 2026-07-23.** Voir le résumé d'implémentation à la
> fin de ce document pour le détail des commits et des décisions prises.
Basé sur la revue de code du 2026-07-23. Objectif : corriger les failles de
sécurité critiques avant toute mise en production, puis assainir la base du
code (majeur), puis traiter les points mineurs/qualité.
@@ -318,3 +321,43 @@ fonctionnels Japa :
- **2.5** : garder, implémenter ou supprimer le champ `origin`.
- **2.8** : supprimer les composants orphelins (Option A) ou finaliser la
fonctionnalité galerie/éditeur de composants uniques (Option B).
---
## Résumé d'implémentation (2026-07-23)
Toutes les phases du plan ont été exécutées. Commits (après réécriture
d'historique, voir 1.3 ci-dessous) :
- `3cc189c` — fix(security): close IDOR on computers/components update & destroy
(Phase 1: 1.1, 1.2, 1.5, 2.1, 2.2, retrait du suivi de `.env.production`)
- `3579c9d` — refactor: uniform validation, fix create form UX, dedupe filter
dropdowns (Phase 2: 2.3, 2.4, 2.5, 2.7, déplacement `MIGRATION_*.md`)
- `94f89be` — chore: harden config, strengthen frontend typing, fix UTF-8
mojibake (Phase 3: 3.1, 3.2, 3.3, 3.5)
- `562cea3` — test: add functional regression tests for IDOR fixes (Phase 4)
- `b888718` — docs(ci): flag NAS deploy secrets risk and .env.production
breakage (documentation de 1.4)
### Décisions prises avec l'utilisateur
- **1.3 (purge historique)** : `git-filter-repo` a été utilisé pour retirer
`.env.production` de tous les commits, une sauvegarde bundle complète a été
créée avant l'opération (`/tmp/user/1000/kilo/pc_builder_backup_*.bundle`),
puis l'historique réécrit a été poussé en force vers `origin/main`. Tout
autre clone existant du dépôt doit être resynchronisé
(`git fetch && git reset --hard origin/main`). **Les secrets réels
(APP_KEY, DB_PASSWORD du NAS) doivent encore être régénérés manuellement**,
car ils ont circulé en clair dans l'historique avant la purge.
- **1.4 (CI/NAS)** : documenté uniquement dans `.gitea/workflows/build.yml`
(pas d'accès au NAS pour reconfigurer SSH/sudo). Le retrait de
`.env.production` du suivi git casse le step `cat .env.production` du
pipeline de déploiement — c'est documenté en commentaire, à corriger en
migrant les secrets vers Gitea Actions.
- **2.5 (champ `origin`)** : supprimé (jamais fourni par le backend).
- **2.8 (widgets orphelins)** : conservés tels quels, non supprimés.
### Non traité
- Phase 2.6 a été traitée dans le commit de sécurité (détachement des
composants + nettoyage des fichiers uploads à la suppression d'un
ordinateur), avancée par rapport au planning initial.
- 2.8 tranché "garder tel quel" — aucune action requise.