W Wiki · Caverne

Technique

Guide développement

Guide développeur

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

  1. Intention produit : problème, valeur, périmètre.
  2. Acteurs : membre, staff, modération, animation.
  3. États UI : repos, chargement, succès, erreur, vide.
  4. Autorisations et garde-fous (RBAC, rate limit).
  5. Stratégie de vérification avant livraison.
  6. 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

DimensionNiveau attendu
Lisibilité du codeÉlevé
Robustesse (cas limites)Élevé
UX (feedbacks visuels)Élevé
Sécurité (accès, validation)Critique
Règle d'or : livrer moins, mais livrer proprement, clairement et durablement.