Files
core/docs/dev/ARCHITECTURE.md
T
hykocx 260fcfc4f8 docs: extract publication and architecture sections to dedicated files
Move the "Publier le package" section from DEV.md to a new
PUBLICATION.md file, and add references to ARCHITECTURE.md and
PUBLICATION.md in the main DEV.md index. This reduces the size of
DEV.md and improves discoverability by grouping related content
into focused documents.
2026-04-13 13:52:15 -04:00

2.0 KiB

Architecture partagée

Ces modules existent pour éviter la duplication. Avant d'écrire du code utilitaire, vérifier s'il est déjà couvert ici.

Utilitaires serveur

Besoin Module
Logs serveur src/shared/lib/logger.js
Manipulation de dates src/shared/lib/dates.js
Configuration de l'app src/shared/lib/appConfig.js
Formatage de devises src/shared/utils/currency.js

Composants et icônes

Icônes — Toutes les icônes sont centralisées dans src/shared/Icons.js. Ne pas créer d'icône directement dans un composant. Si une icône manque, l'ajouter dans Icons.js.

Composants — Utiliser src/shared/components en priorité. Si un besoin est réutilisable à plusieurs endroits et que le composant n'existe pas encore, le créer dans src/shared/components plutôt que dans le module.

Modules core

Notifications client — Utiliser src/core/toast pour toutes les notifications côté client.

Stockage — Utiliser src/core/storage. Toujours supprimer l'ancien fichier avant d'en écrire un nouveau à la même place. Éviter les fichiers fantômes (présents dans le stockage mais plus référencés dans l'app).

Paiements — Utiliser src/core/payments pour tout ce qui touche au système de paiement.

Courriel — Utiliser src/core/email pour l'envoi d'emails. Les gabarits réutilisables à l'échelle de l'app vont dans src/core/email/templates. Les gabarits spécifiques à un module peuvent rester dans les fichiers du module.

Base de données — Utiliser src/core/database pour toutes les communications avec la BD. Toujours utiliser des requêtes paramétrées (voir la section Sécurité ci-dessus).

Tâches planifiées — Utiliser src/core/cron pour créer des tâches cron.

API — Utiliser src/core/api pour l'API admin et publique. Toujours définir l'API privée/admin en premier, puis exposer seulement ce qui doit l'être. Toujours vérifier l'authentification sur les routes qui l'exigent.