Section | Description |
---|---|
🎯 Objectifs et contexte | Introduction et contexte du projet |
🚧 Dépendances | Dépendances techniques et comment les installer |
🏎 Départ rapide | Détails sur comment démarrer rapidement le développement du projet |
🏗 Code et architecture | Détails sur les composantes techniques de l’application |
🔭 Améliorations possibles | Améliorations, idées et refactors potentiels |
🚑 Problèmes et solutions | Problèmes récurrents et solutions éprouvées |
🚀 Déploiement | Détails pour le déploiement dans différents environnements |
…
Navigateur | OS | Contrainte |
---|---|---|
… | … | … |
- Node.js
- NPM
Les versions canoniques des dépendances sont spécifiées dans les fichiers Dockerfile
et .tool-versions
.
Toutes les variables d’environnement requises sont documentées dans .env.dev
.
Ces variables doivent être présentes dans l’environnement lorsque des commandes npm
ou make
sont exécutées. Plusieurs moyens sont à votre disposition pour ça, mais l’utilisation de nv
est recommandée puisqu’elle fonctionne out of the box avec les fichiers .env.*
.
- Créer
.env.dev.local
à partir des valeurs vides de.env.dev
- Installer les avec
make dependencies
Pour démarrer un serveur de développement (avec FastBoot) :
$ npm run start
Pour créer une build prête pour la production :
$ npm run build
Pour lancer un serveur de production FastBoot avec le support d’un canonical host, SSL et authentification Basic
, la commande suivante peut être exécutée une fois une build de production bâtie :
$ npm run server
La suite de tests peut être exécutée à l’aide de la commande suivante et ne nécessite pas de variables d’environnements puisqu’elle ne devrait pas créer d’effets de bord (eg. pas de requêtes networking, pas de lecture de cookies, etc.)
$ make test
Le niveau de couverture des tests peut être validé à l’aide des métriques définies dans .nycrc
. Pour vérifier ce niveau, la commande suivante peut être exécutée une fois que la suite de tests a été complétée :
$ make check-code-coverage
Les résultats d’instrumentations du code sont également disponibles dans le dossier coverage
.
Plusieurs outils de linting et de formatting peuvent être exécutés pour s’assurer du respect des bonnes pratiques de code :
make lint-scripts
s’assure que le code TypeScript et JavaScript respecte nos bonnes pratiquesmake lint-styles
s’assure que le code SCSS respecte nos bonnes pratiquesmake lint-templates
s’assure que le code Handlebars respecte nos bonnes pratiquesmake check-format
valide que le code est bien formattémake format
formatte les fichiers en utilisant Prettier
Pour s’assurer que le projet et son code sont en bon état, les outils de linting et de tests peuvent être exécutés en une seule commande :
$ ./scripts/ci-check.sh
…
Description | Priorité | Complexité | Idées |
---|---|---|---|
… | … | … | … |
…
Chaque déploiement est effectué à partir d’un tag Git. La version du codebase est gérée avec incr
.
Un container Docker exposant un serveur FastBoot peut être créé avec make build
, testé avec docker-compose up application
et poussé dans un registre avec make push
.