Documentation pour les développeurs
Produit et décisions obligatoires
That's My Dash 0.8.1 est une page d'accueil personnelle sur le web pour plusieurs utilisateurs. PHP 8.2+, SQLite et HTTPS sont requis. MySQL, l'installation en ligne de commande et l'import manuel de base de données ne doivent pas devenir nécessaires. Les bases existantes sont mises à niveau de façon additive ; config.php et tout le dossier storage sont conservés.
L'interface prend en charge huit langues. L'anglais est la langue technique de secours.
Architecture
- public est la racine web prévue.
- src contient les requêtes, la base, la sécurité et les appels HTTP.
- views contient les modèles et ne modifie pas la base.
- storage contient SQLite, le cache et les adaptations linguistiques ; il reste privé.
- public/index.php exécute les actions, charge le contexte puis affiche la vue.
Règles de code et de données
- Utiliser les types stricts et des requêtes PDO préparées.
- Inclure l'identifiant utilisateur lors de toute modification de données privées.
- Échapper le contenu et refuser le HTML fourni par l'utilisateur.
- Toute écriture utilise POST, CSRF, validation et contrôle de propriété.
- Les migrations sont additives, idempotentes et compatibles.
- L'édition principale fonctionne sans JavaScript.
Sécurité, accessibilité et langues
Les appels externes n'acceptent que HTTPS, bloquent les réseaux privés et limitent redirections, durée et taille. Google Agenda reste facultatif. WCAG 2.2 AA est l'objectif : HTML sémantique, clavier, focus visible, zoom, mouvement réduit et contraste élevé. Les fichiers de langue sont dans languages, les adaptations durables dans storage/languages. Les marqueurs :place et {query} ne sont jamais traduits.
Contrôle avant publication
Exécuter les contrôles PHP, JavaScript, JSON et linguistiques. Tester une installation neuve et une mise à niveau, mobile et bureau, thèmes clair et sombre, rôles, séparation des utilisateurs, clavier, lecteur d'écran et zoom. Mettre à jour VERSION, README, CHANGELOG, PROJECT_STATUS et l'audit.