Initialisation du projet
Vue d'ensemble
Un projet OAV se crée à partir du modÚle de projet OIP Starter.
Cette page décrit les trois opérations à enchaßner :
- récupérer le modÚle de projet et l'attacher à votre propre dépÎt ;
- installer les dépendances ;
- initialiser le projet avec oip-tools init.
Récupération du modÚle de projet
Clonez la branche v4 du modÚle de projet, détachez l'historique Git d'origine, puis rattachez le projet à votre propre dépÎt :
git clone --branch v4 --single-branch --depth 1 [email protected]:fasst/fasst-oip-starter.git <project-name>
cd <project-name>
rm -rf ./.git
git init
git add .
git commit -m "init project from oip-starter"
git remote add origin https://github.com/<owner>/<repository>.git
git push -u origin mainParamĂštre | Description |
|---|---|
<project-name> | Nom du répertoire local du projet. |
<owner> | Organisation ou compte GitHub hébergeant le projet. |
<repository> | Nom du dépÎt distant du projet. |
Installation des dépendances
npm installCette commande installe le socle applicatif (@fasstech/oip-starter-utils), la bibliothÚque d'accÚs aux données (@fasstech/oip-core), l'outillage (@fasstech/oip-tools) et leurs dépendances.
Initialisation par OIP Tools
npx oip-tools init --oav-name <oav-name> --first-view-name <first-view-name>Options
Option | Obligatoire | Description |
|---|---|---|
--oav-name | Oui | Nom de l'OAV. Il est notamment injecté dans la balise <title> du fichier index.html. |
--first-view-name | Non | Nom de la premiĂšre vue du parcours. Le format attendu est ^[a-z0-9]+(_[a-z0-9]+)*$, par exemple home. |
Effets de la commande
La commande init met en place l'ensemble minimal des fichiers nécessaires au démarrage :
ĂlĂ©ment | Emplacement | Contenu |
|---|---|---|
Configuration des entités | config/entities/ | ModÚle de données minimal : une entité racine Project portant une propriété externalId de type string. |
Code des entités | entities/ | Fonctions de manipulation générées à partir de la configuration. |
Migration initiale | migrations/ | Migration créant le schéma du modÚle en base de données. |
Configuration de la premiĂšre vue | config/views/ | Fichier YAML de la vue, si --first-view-name est fournie. |
Code de la premiĂšre vue | views/ | Fichiers client et serveur de la vue, si --first-view-name est fournie. |
Transition de la premiÚre vue | transitions/ | Fichier de transition associé, si --first-view-name est fournie. |
Fichier d'environnement | .env | Généré à partir de .env.dist ; les valeurs de OAV_ID et OIP_API_KEY sont générées et injectées. |
Page hÎte | index.html | Nom de l'OAV injecté dans la balise <title>. |
Arborescence produite :
Project Root/
âââ config/
â âââ entities/
â â âââ entities.config.mjs
â âââ views/
â âââ 0000-MY-FIRST-VIEW.yml
âââ entities/
â âââ Project/
â â âââ index.mjs
â âââ entities.mjs
âââ migrations/
â âââ 0000000000000_migration.js
âââ transitions/
â âââ MY_FIRST_VIEW.mjs
âââ views/
â âââ my-first-view/
â âââ client/
â â âââ ...
â âââ server/
â âââ ...
âââ .env
âââ index.htmlVĂ©rification de l'initialisation
AprÚs exécution de la commande, contrÎlez les points suivants :
- le fichier de configuration des entités existe dans config/entities/ ;
- le répertoire entities/Project/ contient un fichier index.mjs ;
- le répertoire migrations/ contient une migration initiale ;
- le fichier .env existe et porte des valeurs pour OAV_ID et OIP_API_KEY ;
- si l'option --first-view-name a été utilisée, la vue, sa configuration et sa transition sont présentes.
Ce qu'il reste Ă faire
Fonction | RĂŽle |
|---|---|
resolveProjectFromContext | Résout l'identifiant de l'entité Project à partir du contexte client. |
validateProjectId | Vérifie qu'un projectId passé en paramÚtre d'URL correspond à un projet existant. |
resolveFirstView | Détermine la premiÚre vue du parcours. |
Ces implĂ©mentations, ainsi que le dĂ©marrage des services et des deux applications, sont dĂ©crites dans la section « Lancement du projetï»ż ».
Résumé
- Un projet OAV démarre par un clone de la branche v4 du modÚle OIP Starter ;
- npm install installe le socle, la bibliothÚque d'accÚs aux données et l'outillage ;
- oip-tools init produit le modÚle de données minimal, la migration initiale, le fichier .env et, optionnellement, une premiÚre vue complÚte ;
- le projet n'est pas encore exécutable : les trois fonctions de décrochage restent à implémenter.