Lancement du projet
Démarrer le projet en local
Ce template nécessite les services suivants :
- Une base de données MongoDB
- Le service fasst-sessions, pour assurer le bon fonctionnement des sessions
- Un service RabbitMQ, requis pour le support des subscriptions GraphQL
Le fichier docker-compose.yml situĂ© Ă la racine de ce repository expose ces services. Vous ĂȘtes libre de lâutiliser tel quel ou de configurer votre environnement local selon vos prĂ©fĂ©rences.
Variables d'environnement
cp .env.dist .envVariables générales
Variable | Description |
|---|---|
ROOT_DIR | chemin du répertoire racine du projet, utilisé comme base pour les chemins relatifs. Valeur par défaut : . (répertoire courant) |
PORT | numĂ©ro du port sur lequel le serveur Ă©coute les requĂȘtes entrantes. |
NODE_ENV | dĂ©finit lâenvironnement dâexĂ©cution de lâapplication. |
Variables demandées par l'OIP Core
Variable | Description |
|---|---|
OIP_WORK_DIR | Chemin relatif vers le répertoire de travail utilisé par OIP Core. |
OIP_MONGO_DB_URL | URL de connexion Ă la base de donnĂ©es MongoDB utilisĂ©e par lâapplication. |
CIPHER_IV | Vecteur dâinitialisation utilisĂ© par lâalgorithme de chiffrement dâOIP Core. |
CIPHER_KEY | ClĂ© de chiffrement utilisĂ©e par lâalgorithme de sĂ©curitĂ© dâOIP Core. |
Variables liées à la logique de session
Variable | Description |
|---|---|
SESSIONS_SERVICE_URL | URL du service fasst-sessions, utilisé pour la gestion des sessions utilisateur. |
SESSION_COOKIE_MAX_AGE | DurĂ©e de validitĂ© du cookie dâauthentification, exprimĂ©e en minutes. Valeur par dĂ©faut : 60 |
SESSION_SECRET | ChaĂźne secrĂšte utilisĂ©e pour signer lâID du cookie de session (HMAC). |
SESSION_CHECKING_DISABLED | Si cette variable est dĂ©finie Ă true, la vĂ©rification du token auprĂšs du service fasst-sessions est dĂ©sactivĂ©e. &#xNAN;â ïž Ă utiliser uniquement en environnement de dĂ©veloppement ou pour des tests. |
Variables liées à la logique d'authentification
Variable | Description |
|---|---|
API_USER_ID | Variable nécessaire pour la logique d'authentification |
API_KEY | Variable nécessaire pour la logique d'authentification |
API_KEYS | Variable nécessaire pour la logique d'authentification |
JWT_SECRET | Variable nécessaire pour la logique d'authentification |
Variables demandées par l'OIP Tools
Variable | Description |
|---|---|
TOKEN_READONLY_OIP_API ou OIP_TOOLS_CLIENT_SECRET | Variable requise par OIP Tools |
Variables liées à la logique de connexion à RabbitMQ
Variable | Description |
|---|---|
RABBIT_MQ_QUEUE_NAME | Le nom de la queue |
RABBIT_MQ_HOST | Nom de l'host |
RABBIT_MQ_VHOST | Nom du virtual host |
RABBIT_MQ_UI_PORT | Port d'écoute de l'interface graphique |
RABBIT_MQ_USER | Le nom de l'utilisateur |
RABBIT_MQ_PASSWORD | Le mot de passe |
Démarrer le server en local
Depuis la racine du projet :
npm run server:devDémarrer l'application en local
Depuis la racine du projet :
npm run front:devURL par défaut : http://localhost:8000
Build des views
Depuis la racine du repository
npm run views:buildInitialiser une session
En local, pour désactiver la vérification du token auprÚs du service fasst-sessions, définissez la variable d'environnement SESSION_CHECKING_DISABLED sur true
Générez un token depuis le service fasst-sessions, exemple :
curl --request POST \
--url http://localhost:3000/api/sessions/tokens \
--header 'Content-Type: application/json' \
--data '{
"applicant": "magic",
"metadata": {
"externalId": "project-AAA"
}
}'Ensuite, insĂ©rez le jeton reçu en paramĂštre dans lâURL de lâapplication, comme suit : http://localhost:8000/?token=my-beautiful-token
Et voilĂ ! Votre session est dĂ©sormais initialisĂ©e, vous ĂȘtes prĂȘt Ă naviguer dans votre parcours.