Note
For an English version of this document, please see CONTRIBUTING.en.md.
Merci de l'intérêt que vous portez à ce projet ! Toutes les contributions sont les bienvenues, qu'il s'agisse de rapports d'erreurs, de demandes de fonctionnalités, d'ajout de contenu, d'améliorations de la documentation ou de modifications du code.
Si vous trouvez un problème ou si vous avez une suggestion de fonctionnalité, vous pouvez ouvrir une nouvelle issue.
Lorsque vous ouvrez une issue :
- Vérifiez les issues et pull requests pour vous assurez que le problème ou la fonctionalité n'ont pas déja été adréssé ou sont en cours de traitement.
- Soyez le plus descriptif possible quant à la nature du problème ou de la fonctionnalité. Si vous avez trouvé un problème, fournissez des étapes pour le reproduire lorsque cela est possible.
- Complétez la table "docs_catalog" dans la base Airtable Open Datactivist (ajoutez les métadonnées de votre document)
- Exportez la table au format CSV
- Convertir le CSV en JSON, et le nommer
docs_catalog.json
- Puis ajoutez le ici (ça met à jour le catalogue automatiquement)
- Enfin, ajoutez les dépendances nécessaires : exportez la table "authors" sous
authors.csv
et même opération pour les autres tables si ajout de dépencances depuis votre document (références, partenaires...). Bien vérifier le nommage des fichiers ici
✏️ En utilisant NextCloud
- Se rendre dans le dossier OpenDatactivist / docs
- Créer un fichier texte (md) et le nommer par exemple
methode-ouverture-donnees
- Commencer à rédiger le contenu, sans écrire le titre (qui sera ajouté par les métadonnées)
⚡️ Ajout rapide sans interpreteur Markdown)
👉 Un exemple fichier que vous pouvez copier et adapter
Quels types de contenus publier dans le dossier docs ?
- article (type billet de blog)
- présentation,
- liste de liens ou d'objets (benchmarks)
Il s'agit des métadonnées du fichier, qui permettent notamment d'alimenter le catalogue des documents.
title
: titre du doc
image
: le chemin de l'image qui illustre le doc.
Warning
Veiller à ce que l'image d'illustration ne dépasse pas les 150 KB
description
: la description courte du contenu, en une phrase
type
: Formation, Liste, Guide, Cas pratique...
tags
: les mots clés (dataviz, commande publique, qualité, etc...)
index
: 0
pour ne pas afficher le contenu dans le catalogue, 1
pour qu'il s'affiche dans le catalogue
index
: date de publication au format yyyy-mm-dd
Chaque document peut être rédigé en markdown, avec un peu de html.
# Titre de premier niveau
## Titre de 2e niveau
### Titre de 3e niveau
#### Titre de 4e niveau
Du texte
Un saut de ligne :
</br>
**Texte en gras**
*Texte en italique*
[Voici un lien](https://datactivist.coop)
Ajouter une image :
<img src="/images/docs/nettoyer-donnees/tidydata.png" alt="variables, observations, valeurs" width="800"/>
Note Pour ajouter une image, la placer dans le dossier public/images/docs/dossier-du-doc/votre-image.png
Ajouter un iframe
<div class="responsiveIframe">
<iframe
width="100%"
height="500"
src="https://datactivist.coop/upop/#1">
</iframe>
</div>
Tout l'intérêt du site est de permettre de trouver facilement du contenu pertinent au bon endroit.
Plusieurs intégrations sont possibles :
Par exemple, vous souhaitez ajouter un cas pratique ou un article pertinent, il sufit d'ajouter le code suivant
## Un cas pratique pertinent
%%Docs:nom-du-doc%%
Note Vous pouvez en ajouter plusieurs, et ils s'afficheront comme une galerie :
## Quelques articles complémentaires
%%Docs:nom-du-doc,nom-deuxieme-doc,nom-troisieme-doc%%```
Pour ajouter un lien sous la forme d'une carte, il est d'abord nécessaire de l'ajouter dans le fichier des liens links.catalog.json
qui se trouve ici
2.1. Ajoutez votre lien comme ceci à la fin du fichier
{
"id": "id-unique-lien",
"title": "Le nom du lien",
"type": "outil",
"description": "Description courte du lien",
"url": "https://votre-url.com",
"tags": ["Data Science", "IA", "Climat"]
}
2.2. Intégrez votre lien dans le corps de texte de votre doc
## Liens utiles
%%Links:id-unique-lien%%
Note Vous pouvez en ajouter plusieurs, et ils s'afficheront comme une galerie :
## Liens utiles
%%Links:id-unique-lien,autrelien,lien3%%
3.1. Ajoutez le lien de la conversation à la suite du fichier des liens
Warning
Pour que le lien s'affiche comme une conversation, il est nécessaire de le catégoriser en "type = tod"
Exemple :
{
"id": "2469",
"title": "Médiation scientifique autour de la donnée",
"type": "tod",
"description": "",
"url": "https://teamopendata.org/t/mediation-scientifique-autour-de-la-donnee/2469",
"tags": ["mediation", "exposition"]
},
3.2. Intégrez votre lien dans le corps de texte de votre doc
## On en discute sur TeamOpenData
%%Links:2469%%
(Méthode complète à venir)
4.1. Téléchargez les exports des tables depuis Airtable (base master - cartographies de données)
4.2. Remplacer les fichiers public/datamap
4.3. Insérez un iframe du datamap vers la vue épurée. Exemple : https://open.datactivist.coop/view/datamaplight?data&datamap-id=sud-transports
4.4. Ajoutez un lien vers la cartographie complète. Exemple : https://open.datactivist.coop/datamap/datamap?data=&datamap-id=sud-transports&view=gallery
Si vous souhaitez afficher des jeux de données pertinents (et qu'ils sont disponibles sur data.gouv.fr) :
3.1 - Récupérez l'identifiant d'un jeu de données sur data.gouv.fr (onglet informations > ID)
Exemple : 5de8f397634f4164071119c5
3.2. - Intégrez le dans votre doc
## Les données utilisées
%%Datagouv:5de8f397634f4164071119c5%%
Note Vous pouvez en ajouter plusieurs, et ils s'afficheront comme une galerie :
## Les données utilisées
%%Datagouv:5b7ffc618b4c4169d30727e0,5de8f397634f4164071119c5%%
4.1 - Ajoutez un CSV dans le fichier /posts/data
Note Nommez le fichier de manière simple, du type
liste-epci-france
Veillez à supprimer les champs qui comportent des textes trop longs ou qui ne sont pas adaptés pour un affichage en lecture (exemple : les coordonnées géographiques)
Warning Les performances ne sont pas optimales si le CSV comporte plusieurs millers d'enregistrements
4.2 - Intégrez la galerie dans votre doc
%%JsonGallery:nom-de-votre-csv%%
Les contributions sur ce dépôt sont les bienvenues !
Si vous souhaitez contribuez à l'ajout d'une fonctionnalité ou à la correction d'un bug, suivez ces étapes :
- Vérifiez les issues et pull requests pour vous assurez que le problème ou la fonctionalité n'ont pas déja été adréssé ou sont en cours de traitement.
- Faites un Fork du dépôt.
- Suivez le guide d'installation pour lancer le projet dans un environnement de développement local.
- Créez une nouvelle branche dans votre fork, et faites les changements souhaités dans celle-ci.
- Ajoutez la documentation et/ou les tests associés à vos modifications si applicable.
- Appliquez les conventions de style du projet. Testez votre code en utilisant
npm run lint
etnpm run test
.- Ouvrez une Pull Request de votre branche vers ce dépôt.
- Dans la description de la Pull Request, expliquez les changements que vous avez apporté et pourquoi ils sont nécessaires.
Ce projet utilise ESLint pour le linting et Prettier pour le formatage du code. Les règles de style sont définies dans le fichier .eslintrc
et les règles de formatage dans le fichier .prettierrc
.
Vous pouvez lancer les commandes suivantes pour appliquez les styles automatiquement, et vérifier que votre code est conforme aux règles de style et de formatage :
npm run format
npm run lint:fix
npm run lint
Alternativement, si vous utilisez VSCode, vous pouvez installer les extensions associés à ESLint et Prettier pour obtenir un feedback directement dans votre éditeur.
Warning
Ce projet utilise husky pour s'assurer que le code est conforme avant chaque commit, sinpm run lint
ounpm run test
renvoie des erreurs, le commit est annulé.