Skip to content

Latest commit

 

History

History
197 lines (131 loc) · 5.36 KB

INSTALLATION.md

File metadata and controls

197 lines (131 loc) · 5.36 KB

Installation

Prérequis

Vous devez au préalable avoir correctement installé les logiciels suivants :

⚠️ Les versions indiquées sont celles utilisées et préconisées par l'équipe de développement. Il est possible que l'application fonctionne avec des versions différentes.

Assurez-vous aussi de ne pas avoir de processus écoutant sur le port:

  • 5432 (PostgreSQL), ou surchargez la variable PIX_DATABASE_PORT;
  • 6379 (redis), ou surchargez la variable PIX_CACHE_PORT.

Instructions

Récupérer le code source.

Récupérer le code source en local

git clone [email protected]:1024pix/pix.git && cd pix

⚠️ Cela prend environ 10 minutes avec une connexion standard. Pour ne récupérer que la dernière version, qui ne prend qu'une minute, exécuter plutôt :

git clone --filter tree:0  [email protected]:1024pix/pix.git && cd pix

Configurer l'environnement de développement sous Windows (si applicable)

Il se peut que la dernière version windows-build-tools ne s'installe pas sur votre machine. La [email protected] semble plus stable à l'installation.

npm install windows-build-tools

Définir dans .npmrc l'invite de commande à utiliser pour lancer les script-shell.

Ouvrir une invite de commande (cmd.exe) puis:

  • installation 64bit :
npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
  • installation 32bit:
npm config set script-shell "C:\\Program Files (x86)\\git\\bin\\bash.exe"

Enfin, pour éviter les problèmes de retour ligne sous Windows:

git config --local core.autocrlf input
git rm -r --cached .
git reset --hard

Configurer l'environnement de développement

Le script d'installation effectue les tâches suivantes :

  • créer la base de données et le cache (conteneurs Docker)
  • installer les librairies

Il prend moins de 5 minutes. Exécutez-le avec npm run configure

Vérifiez que le script s'est bien terminé : le message "🎉 Congratulations! Your environment has been set up." doit être affiché. Si ce n'est pas le cas, contactez les équipes de développement en ouvrant une issue.

Démarrer les applications

Pour démarrer l'ensemble des applications, exécuter npm start

⚠️ Cela prend entre 10 et 15 minutes et la consommation mémoire est élevée lors de cette opération.

Si cela pose problème, démarrer sélectivement les applications :

  • Admin : npm run start:admin
  • Api : npm run start:api
  • App : npm run start:mon-pix
  • Certif : npm run start:certif
  • Orga : npm run start:orga

Accéder aux applications

Le mot de passe est par défaut pix123. D'autres comptes sont disponibles dans les seeds.

Complément

Accès aux sources de données

Se connecter à la base de données :

  • de test manuel : docker exec -it pix-api-postgres psql -U postgres pix;
  • de test automatique : docker exec -it pix-api-postgres psql -U postgres pix_test.

Se connecter au cache : docker exec -it pix-api-redis redis-cli

Configuration

Pix s'appuie sur la bibliothèque Dotenv pour gérer les variables d'environnement en local.

Le script scripts/configure.sh génère un fichier .env standard.

Vous pouvez l'adapter à vos besoins:

  • activer le logging détaillé avec pretty-print :
LOG_ENABLED=true
LOG_LEVEL=debug
LOG_FOR_HUMANS=true
  • permettre la suppression du schéma de la base de données sans arrêter l'API :
FORCE_DROP_DATABASE=true
  • se connecter à un autre référentiel pédagogique que celui de base (test):
LCMS_API_KEY=<SOME_KEY>
LCMS_API_URL=<SOME_URL>

Configurer les domaines locaux.

Il est possible d'accéder aux applications Pix avec des domaines *.dev.pix.<tld> plutôt que localhost:port :

Pour configurer les domaines locaux, exécuter le script :

sudo npm run domains:install

Démarrer le conteneur docker :

npm run domains:start

Arrêter le conteneur :

npm run domains:stop

Exécuter le lint à chaque commit

Activer

Ce repository est configuré pour indiquer aux IDE Webstorm et Vscode la configuration du linter. Malgré cela, il peut arriver que des erreurs de lint soient introduites.

Pour tenter de les corriger automatiquement lors du commit, installer un hook de pre-commit. Pour cela, exécuter npm run local:trigger-lint-on-commit

Désactiver

npm run local:prevent-trigger-lint-on-commit