Développer La Caverne Chaude
Cadre commun pour concevoir, implémenter et livrer une évolution sans casser l'expérience, la sécurité ni la maintenance.
1) Principes
- Clarté avant complexité — comportement lisible > mécanisme opaque.
- Sécurité par défaut — état initial prudent, ouverture explicite.
- Cohérence UX — mêmes repères visuels pour le même type d'action.
- Traçabilité — toute action sensible compréhensible a posteriori.
- Évolutivité — le prochain dev doit comprendre sans friction.
2) Sécurité applicative
Pages privées et actions sensibles : session valide obligatoire. Redirection login si absente ou expirée. Headers homogènes via setSecurityHeaders(). Validation entrées : format, longueur, cohérence métier. Messages d'erreur sobres, sans fuite d'infos internes.
Wiki : ne jamais intégrer Notion (embeds, API, iframes). Le contenu HTML wiki est assaini avant affichage — pas de JS arbitraire dans le contenu éditorial.
3) Nouvelle fonctionnalité — workflow
- Intention produit : problème, valeur, périmètre.
- Acteurs : membre, staff, modération, animation.
- États UI : repos, chargement, succès, erreur, vide.
- Autorisations et garde-fous (RBAC, rate limit).
- Stratégie de vérification avant livraison.
- Mise à jour wiki + docs.
4) Standards interface
Inclure dans le <head> des pages interface :
<link href="/css/dashboard.css" rel="stylesheet"> <link href="/css/profile-refonte.css" rel="stylesheet"> <link href="/css/ui-components.css" rel="stylesheet"> <link href="/css/design-tokens.css" rel="stylesheet">
Design system : tokens dans css/design-tokens.css, classes ui-card, ui-btn, ui-badge. États async : window.UIAsyncStates.
5) API
declare(strict_types=1);sur les nouveaux fichiers PHP.- Réponses
sendJSON()/sendError(). - CSRF sur POST sensibles.
- Découpage handlers pour gros endpoints (ex.
api/auth/handlers/).
6) Base de données
Évolutions schéma : appliquées côté déploiement / ops (pas de migrations versionnées séparées dans ce wiki). Scripts utilitaires CRON dans l'environnement serveur.
7) Qualité — grille de relecture
| Dimension | Niveau attendu |
|---|---|
| Lisibilité du code | Élevé |
| Robustesse (cas limites) | Élevé |
| UX (feedbacks visuels) | Élevé |
| Sécurité (accès, validation) | Critique |