TIPS: ce repo contient un sous-module, pour cloner simplement :
git clone --recursive url.git
Lancer le projet
yarn
yarn devLe dossier /config-yml contient l'ensemble des contenus de la landing page.
/config-yml/commons : contenus requis pour la landing (header / footer / navigation)
/config-yml/legals : contenus relatifs aux obligations RGPD.
/config-yml/modules : modules complémentaires développés par la communauté, voir section associée.
Toutes les images du dossier /public/assets/imgs sont accessible ensuite sur votre landing. Dans vos fichiers yml, indiquez simplement le chemin à partir de ce dossier.
Les modules sont des composants de la landing que vous pouvez activer / désactiver en modifiant la valeur du champ display dans les fichiers yaml.
| Nom | Fonctionnalités | Fichier yml | Spécificités |
|---|---|---|---|
| Actualités |
|
articles.yml |
Oui |
| Statistiques |
|
stats.yml |
Oui |
| Newsletter |
|
newsletter.yml |
Oui |
| Onboarding |
|
onboarding.yml |
Oui |
|
instagram.yml |
Oui |
La propriété articles du fichier yml est une list, vous pouvez ajouter des articles à la suite pour les publier.
La propriété image doit être le nom de l'image contenue dans le dossier /public/assets/img/articles.
L'application a besoin d'un token instagram pour récupérer les posts et les afficher.
Ajoutez INSTAGRAM_TOKEN=votretokenhashé dans les sealed-secrets. (https://socialgouv.github.io/sre-tools/ pour encrypter votre token)
La propriété page.graphs du fichier yml est une list, vous pouvez ajouter des graphs à la suite.
Pour chaque graph, les attributs disponibles pour la propriété type sont :
Le module d'onboarding contient une page avec un formulaire personnalisable.
Une requête POST est envoyée à la route spécifiée dans url avec un payload dynamique en fonction des attributs spécifiés dans fields :
| Champs | Requis | Description | Valeur par défaut |
|---|---|---|---|
| label | non | Titre du champ à afficher. | ∅ |
| name | oui | Nom de la donnée dans le payload de la requête. | ∅ |
| value | non | Valeur par défaut. | ∅ |
| type | non | Type de champ HTML. Valeurs disponibles : text email number |
text |
| col | non | Nombre de colonne (/12) pour l'affichage du champ. | 6 |
| required | non | Champ requis dans le formulaire HTML. | false |
| editable | non | Champ éditable, et donc affiché sur le formulaire pour l'utilisateur. | false |
Le module de newsletter est un bloc sur la page d'accueil avec un champ unique pour renseigner son email.
Le nom du champ contenant l'email dans le payload de la requête POST peut être spécifié dans email_fieldname. Vous pouvez également ajouter des ensembles clé/valeur dans le payload en les spécifiant dans hidden_fields.
Vous souhaitez créer/modifier module dans la landing page ? Quelle belle initiative!
Afin que les autres projets puissent aussi en profiter, développez dans le sous-module git vers lequel pointe le dossier /src
Vous trouverez toutes les indications dans le README du repository landing-core.