Go to file
Sébastien Arod 4b8dd80c57 refactor: calcul l'académie depuis le département
* Les académies sont maintenant calculées à partir du département.
* Quelques départements erronés ont été corrigés
2024-09-24 15:12:46 +02:00
.husky chore: add husky & lint-staged to run prettier 2024-05-29 11:53:58 +02:00
.yarn/releases chore: update Yarn 2023-05-02 16:52:25 +02:00
src refactor: calcul l'académie depuis le département 2024-09-24 15:12:46 +02:00
.envrc chore: add direnv 2023-09-12 23:56:37 +02:00
.gitignore initial commit 2023-01-29 21:27:02 +01:00
.gitlab-ci.yml feat: Lazy load Map to allow code split (2) 2024-06-11 09:35:28 +02:00
.lintstagedrc chore: fix prettier config to ignore unknown files 2024-06-06 10:25:37 +02:00
.prettierignore chore: add husky & lint-staged to run prettier 2024-05-29 11:53:58 +02:00
.yarnrc.yml chore: update Yarn 2023-05-02 16:52:25 +02:00
README.md doc: améliore le README.md 2024-06-18 10:10:36 +02:00
default.nix chore: add direnv 2023-09-12 23:56:37 +02:00
index.html feat: aligne le style en dev et en prod 2024-06-09 10:53:39 +02:00
package.json feat: Lazy load Map to allow code split (2) 2024-06-11 09:35:28 +02:00
tsconfig.json refactor: use import.meta to resolve assets (Take 2) 2024-06-07 14:21:06 +02:00
tsconfig.node.json initial commit 2023-01-29 21:27:02 +01:00
vite.config.ts fix: vite warning about base not starting with / 2024-06-12 14:37:11 +02:00
yarn.lock feat: optimize photos with vite-imagetools 2024-06-07 16:12:14 +02:00

README.md

Description

La liste des résistants enfance libre est gérée par le code dans ce repo git.

Ce code gère la liste des résistants en vue carte, vue liste, vue photo et en vue détaillée.

La liste est embarquée dans le site global squarespace à deux endroits:

Ajouter une famille

Quelles familles ajouter

Notion contient une Liste des Familles à publier sur le site.

Modifier le code pour ajouter une famille

  • Ajouter la famille dans la liste des résistants dans le fichier src/resistants.ts en prenant les informations depuis Notion
    • id: basé sur les noms des parents sans accents au format prenom1-prenom2 ou prenom-nom pour les familles monoparentales.
    • noms: les noms complets des parents au format Prénom1 Nom1 et Prénom2 Nom2
    • enfants: Prénoms des enfants
    • departement: Département parmi la liste de valeur défini dans le type Departement dans le fichier src/Resistant.ts. Si le département manque dans la liste il faut le rajouter.
    • academie: Académie parmie la liste de valeur défini dans le type Academie dans le fichier src/Resistant.ts. Si l'académie manque dans la liste il faut la rajouter.
    • presentation: Le text de presentation pour le site web. A prendre depuis le contenu de la page notion. ⚠️ Il est souvent nécessaire de nettoyer les fins de lignes et saut de ligne. (https://jsstringconverter.bbody.io/ peut-être utilisé pour convertir le textet en string js)
    • latitude & longitude: à déterminer avec google maps à partir de la ville de la famille.
    • date_declaration: à prendre dans la preuve d'envoi du courrier de DC ou à defaut dans le corps du courrier ou à défaut la date d'intégration dans notion
    • lien_declaration: getResistantDeclarationUrl(<id>) id définit au dessus,
    • mention: mention additionnelle. Laissé vide la plupart du temps.
    • video: vidéo de présentation. Laissé vide la plupart du temps.
  • Ajouter la photo: Ajouter la photo dans le répertoire src/photos avec le nom <id>.jpg dimension 2048x2048
  • Ajouter la déclaration: Ajouter le pdf de la déclaration dans le répertoire src/declarations avec le nom <id>.pdf

Vérifier les changements

yarn dev peut être utilisé pour vérifier que le contenu pour la famille.

Publier les changements

  • Commiter avec un commit message “feat: ajout de Prénom1 et Prénom2”
  • Le push vers main va déclencher la CI de mise à jour du site web.

Archi

Code

Le code utilisé dans squarespace pour le chargement du modules est le suivant:

<div id="root"></div>
<script
  type="module"
  crossorigin
  src="https://enfance-libre.frama.io/resistants/resistants.js"
></script>
<link
  rel="stylesheet"
  href="https://enfance-libre.frama.io/resistants/resistants.css"
/>

Il faut faire attention à ce que que les points d'entrés exposé par la build soient toujours syncrhonisé avec le code dans squarespace.

Gestion des urls du site squarespace vs frama.io

Le js et les assets du module résistants sont servis depuis la gitlab page de framagit (https://enfance-libre.frama.io/resistants) alors que le site est géré par squarespace sous le domaine https://www.enfance-libre.fr/. Les assets doivent donc être gérés en url absolue, pour ceci on utilise notemment le paramètre "base" dans la config bite différement en dev et en build de ci.

Différences entre la home page et page résistants

  • La taille du composant
  • Le mode par défaut: en mode carte sur la home page et liste sur la page résistants
  • La gestion de la navigation: La navigation sur le détail dans la home page redirigre vers le détails dans la page résistants