-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs(onboarding): simplifie onboarding front
- Loading branch information
Showing
6 changed files
with
100 additions
and
83 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
--- | ||
sidebar_label: 1 - Lancer le front | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Lancer le projet 1j1s-front | ||
|
||
_13 Août 2024_ | ||
|
||
## Pré-requis | ||
|
||
Se référer au package.json pour les versions utilisées | ||
|
||
* [nvm](https://github.com/nvm-sh/nvm) recommandé | ||
* [npm](https://www.npmjs.com/) | ||
* [NodeJS](https://nodejs.org/fr/) | ||
* Un accès Scalingo au repo [1j1s-front](https://dashboard.scalingo.com/apps/osc-fr1/1j1s-front) (recette) | ||
* Un accès au Keepass du projet, pour les données de recette | ||
|
||
## Premier run | ||
|
||
1. `nvm install` et `nvm use` pour spécifier la version de node utilisée | ||
2. Installez les dépendances avec `npm ci` | ||
3. Copiez le `.env.test` vers `.env` | ||
4. Lancez le projet en mode développement avec `npm run dev` | ||
5. Ouvrez votre navigateur sur [http://localhost:3000](http://localhost:3000) | ||
|
||
À ce stade, on obtient une application partiellement fonctionnelle : | ||
* Assets : (Articles / Images) | ||
* ✅ Sont présents : Les assets statiques | ||
* ❌ Ne sont pas présents : Les assets hébergées sur le CMS | ||
* Pages Formulaires : | ||
* ✅ S'affichent et proposent des résultats : Les API mockées avec des résultats en mémoire. | ||
* ❌ Ne s'affiche pas (404 ou 500) : Quand des résultats sont demandées au chargement de la page (API externe, CMS ou contenu indexé via Meilisearch) | ||
* 🔶 S'affichent et ne proposent pas de résultats : Quand les résultats sont demandées uniquement à l'aide du CTA `Recherhcer 🔍` | ||
|
||
## Alimenter les ressources externes | ||
|
||
Pour les besoins de développement du frontend, on pourra créer du contenu en recette directement et le nettoyer ensuite. | ||
|
||
1. Remplacer le contenu de `.env` avec l'environnement Scalingo 1j1s-front, à l'exception de : | ||
* `ENVIRONMENT=local` | ||
* `NODE_ENV=local` | ||
* `SENTRY_ENV=local` | ||
* `REDIS_URL=http://localhost:6379` ou `REDIS_URL=` remplacer par l'url redis de recette | ||
2. Seulement si le cache est local : Lancer le service de cache avec `docker-compose up -d redis` | ||
3. Relancer le projet en mode développement avec `npm run dev` | ||
4. Les accès au CMS de recette sont sur le Keepass au cas où les développements nécessitent de manipuler les données | ||
|
||
La configuration locale du CMS sera utilisée généralement pour les tâches sensibles concernant les données, ce que l'on retrouvera lors des développements sur le CMS ou sur l'ETL. | ||
|
||
|
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
--- | ||
sidebar_label: 2 - Pour aller plus loin | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Pour aller plus loin sur le front | ||
|
||
## Commandes utiles | ||
|
||
| Commande | Fonction | | ||
|----------------------------|--------------------------------------------------------------------------| | ||
| npm run lint | Vérifie le formatage du code | | ||
| npm run lint:fix | Formater le code | | ||
| npm run test | Lance les tests | | ||
| npm run test:watch | Lance les tests avec un watcher | | ||
| npm run test:coverage | Lance les tests en indiquant le test coverage | | ||
| npm run dev | Lance le site en mode développeur (avec hot reload) | | ||
| npm run start | Lance la dernière version qui a été built (sans hot reload) | | ||
| npm run build | build le site comme en production | | ||
| npm run analyze | Analyze la taille du site et des packages | | ||
| npm run analyze:server | Analyze la taille du site et des packages côté serveur | | ||
| npm run e2e (headless) | Lance les tests cypress (nécessite que le site tourne) | | ||
| npm run e2e:open | Lance les tests cypress (nécessite que le site tourne) | | ||
| npm run storybook | Lance la documentation interactive des composants / assets Sass en local | | ||
| npm run build:storybook | Build une version statique de la documentation storybook | | ||
| docker-compose up -d redis | Lance redis en local (nécessite de réaffecter la variable `REDIS_URL`) | | ||
|
||
## Configuration locale du CMS et de Meilisearch | ||
|
||
Il faut avoir : | ||
1. lancé le projet 1j1s-main-cms et peuplé les données via les scripts `npm run docker:populate` et `npm run docker:start` (voir documentation sur le repo concerné) | ||
2. synchronisé la configuration sur l'interface d'administration du CMS / Strapi (`Settings -> Config sync -> Interface`-> Cliquer sur "Import") | ||
3. dans Strapi (`Content-Manager -> Collection Types -> User`), récupéré les credentials de l'utilisateur 1j1s avec role formulaire pour renseigner la variable d'environnement `STRAPI_AUTH` du projet 1j1s-front | ||
4. lancé meilisearch et renseigné la master key avec la même valeur que la variable d'env `NEXT_PUBLIC_STAGE_SEARCH_ENGINE_API_KEY` | ||
Exemple : pour - `MEILI_MASTER_KEY=${MEILI_MASTER_KEY:-masterKey}` dans `docker-compose.yml` du projet 1j1s-main-cms -> il faut avoir `NEXT_PUBLIC_STAGE_SEARCH_ENGINE_API_KEY=masterKey` dans `.env` du projet 1j1s-front | ||
5. indexé les collections du CMS via le plugin Meilisearch = cocher les collections à indexer (logements, offre de stages, fiches metiers...) sur interface Strapi | ||
6. Ajouter la ligne suivante au fichier `/etc/hosts` : | ||
``` | ||
127.0.0.1 minio | ||
``` | ||
|
||
## L'écosystème 1j1s | ||
|
||
* [Projet CMS](https://github.com/DNUM-SocialGouv/1j1s-main-cms) | ||
* [Projet chargement de données](https://github.com/DNUM-SocialGouv/1j1s-stage-orchestrateur-transform-load) | ||
* [Projet test de performances](https://github.com/DNUM-SocialGouv/1j1s-test-charge) | ||
* [Projet test lighthouse automatisé](https://github.com/DNUM-SocialGouv/1j1s-front-lighthouse-report) |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.