# DERMAROC R1 — Bilan de vérification

## Contrôles exécutés le 15 novembre 2026
- Analyse de la syntaxe de tous les fichiers PHP applicatifs sur **PHP 8.4.24**, résultat : valide.
- Recherche de chaînes de l'ancienne application dans les vues/contrôleurs/styles DERMAROC, résultat : aucune.
- Contrôle de toutes les URL relatives CSS recopiées du gabarit après déplacement : aucun chemin de média hors fichiers de police (import local à réaliser depuis le ZIP original).
- Smoke HTTP local préinstallation : `/` 200 ; CSS/images 200 ; `/catalogue`, `/admin/login` et `/api/catalogue` retournent 503 tant que le SQL n'est pas installé, ce qui est attendu.
- Dossier `public/` seulement accessible par le serveur de développement ; fichiers privés absents de la livraison.

## Non exécuté dans cet environnement
- Installation MySQL : extensions `pdo_mysql` et `mysqli` **absentes** de PHP CLI local, pas de serveur MySQL de recette fourni.
- Login admin, création de produits, transactions d'inventaire et concurrents : exigent une base SQL et des tests d'intégration.
- Compatibilité PHP 8.5 : machine de test sur PHP 8.4, pas de revendication de validation PHP 8.5.
- Captures et tests visuels Chrome : le moteur headless s'est bloqué ; aucune capture visuelle certifiée.
- Tests PageSpeed/Lighthouse : non exécutés.

## Tests à faire sur serveur de recette isolé
1. Installer sur base vide, premier admin, refus de réinstallation.
2. Login correct/incorrect, limitation des tentatives, logout en POST, CSRF invalide.
3. Créer un produit brouillon ; vérifier son absence de l'API et du catalogue.
4. Publier sans vérification ; reste invisible. Vérifier puis publier ; visible.
5. Vérifier unicité du SKU et du slug, contrôle image locale, prix/ancien prix, rôle.
6. Simuler deux modifications concurrentes ; la version obsolète doit échouer.
7. Tester mouvement de stock positif, négatif, stock insuffisant ; vérifier écritures du journal.
8. Tester HTTP, navigation responsive, liens, formulaires, accessibilité et performance.
9. Vérifier qu'aucun secret ou fichier historique n'est déployé, et que la racine HTTP est `public/`.
