Vous devez au préalable avoir correctement installé les logiciels suivants :
- Git (2.6.4)
- Node.js (v16.14.0) et NPM (8.3.1)
- Docker (20.10) avec Docker Compose
⚠️ 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
.
Récupérer le code source en local
git clone [email protected]:1024pix/pix.git && cd pix
git clone --filter tree:0 [email protected]:1024pix/pix.git && cd pix
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
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.
Pour démarrer l'ensemble des applications, exécuter npm start
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
- Pix Admin - port 4202 avec le compte
[email protected]
/pix123
- Pix API - port 3000
- Pix App - port 4200 avec le compte
[email protected]
/pix123
- Pix Orga - port 4201 avec le compte
[email protected]
/pix123
- Pix Certif - port 4203 avec le compte
[email protected]
/pix123
Le mot de passe est par défaut pix123
.
D'autres comptes sont disponibles dans les seeds.
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
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>
Il est possible d'accéder aux applications Pix avec des domaines *.dev.pix.<tld>
plutôt que localhost:port
:
- Mon Pix
- Orga
- Admin
- Certif
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
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