Une documentation détaillée de l'installation en local est disponible sur ONBOARDING.md.
git clone https://github.com/MTES-MCT/aides-territoires-symfony
cd aides-territoires
Pour faire tourner les tests :
Charger les fixtures si besoin
php bin/console doctrine:fixtures:load --env=test
Ne pas oublier le --env=test
Puis lancer les tests avec :
php bin/phpunit src/Tests/
Avant chaque mise en production, les intervenant·es sont prié·es de passer cette liste en revue.
Pour installer les dépendances PHP du projet :
composer install
Pour installer un nouveau paquet PHP et l'ajouter aux dépendances :
composer require
Pour un paquet ne servant que pour le développement, e.g debug-toolbar :
composer require --dev <paquet>
Pour installer les dépendances assets du projet :
yarn install
Pour installer un nouveau paquet et l'ajouter aux dépendances :
yarn add
Pour un paquet ne servant que pour le développement, e.g debug-toolbar :
yarn add --dev <paquet>
Les variables d'environnement sont à mettre dans un fichier .env.local, à dupliquer à partir du .env
Typiquement :
- configuration locale spécifique à chaque intervenant·e sur le projet, e.g paramètres de connexion à la base de données ;
- configuration de production.
Vous pouvez ensuite le compiler en php avec la commande
composer dump-env local
En staging et en production, les variables d'environments sont spécifiées directement sur Scalingo.
Le projet utilise Le Système de Design de l'Etat pour faciliter le développement, proposer un rendu homogène.
Les intervenant·es sur le code sont donc *prié·es d'utiliser autant que possible les classes spécifiques au Système de Design de l'Etat dans le HTML.
Le projet utilise webpack encore.
Pour compiler les assets en développement
yarn encore dev
Pour compiler les assets en production
yarn encore production
Nous utilisons Redis en production pour stocker les sessions.
Ceci permet de ne pas déconnecter les utilisateurs lors d'un deploy.
En local vous pouvez laisser cette configuration dans votre .env
REDIS_URL=redis://localhost
Nous utilisons squizlabs/php_codesniffer
et phpstan/phpstan
Exécuter les commandes suivantes pour vérifier le code :
vendor/bin/phpcs src
vendor/bin/phpstan analyse src
Pour vérifier son code, on peut intégrer le linter adapté à son IDE, par exemple SonarLint
En staging et en production, les variables d'environments sont spécifiées directement sur Scalingo.
Les emails transactionnels sont envoyés via Brevo.
Nous utilisons un service d'« Object Storage » compatible avec l'API S3 pour le stockage de tous les fichiers medias.
La partie administration est protégée par une double authentification (TOTP)
Le jeton d'authentification peut-être obtenu via une application mobile comme Google Authenticator ou Authy.
Lors de la première utilisation et avant d'activer la double authentification, il faudra faire en sorte qu'un premier utilisateur admin puisse se connecter.
Le site est actuellement hébergé sur Scalingo. Cf. la documentation d'infogérance.
Note : demander l'accès au moment de l'onboarding.