documentation/CONTRIBUTING.md

100 lines
4.9 KiB
Markdown

# Contribution
Merci de contribuer à la documentation ! Même si le déploiement/la
maintenance des différents services du Crans peut paraître plus intéressante
que faire de la documentation, il s'agit au même titre d'une étape cruciale du
bon fonctionnement du Crans : on ne peut pas faire fonctionner tout un parc
informatique si on ne sait pas ce qu'il y a dedans.
## Contribuer
Toute contribution est la bienvenue ! Surtout n'hésitez pas à demander de
l'aide aux vieilles nounous si vous n'êtes pas certain⋅e de ce que vous
faites.
On distingue ici deux types de contributions :
* les contributions directes, c'est-à-dire un ajout d'une documentation sur
un ou plusieurs sujet, ou une modification d'une documentation déjà existante
pour la corriger, la mettre à jour, ...
* les demandes de contribution, c'est-à-dire les demandes d'ajout de
documentation sur un sujet que vous trouvez mal expliqué et que vous ne
comprenez pas bien (sinon vous pourriez le faire vous-même ^^), ou les
demandes d'ajout de tutoriels dans le dossier [`howto`](howto).
Pour les demandes de contribution, vous pouvez directement demander à une
nounou, mais pour ne pas oublier il vaut mieux dans tous les cas ouvrir une
issue sur le dépôt gitlab <https://gitlab.crans.org/nounous/documentation>.
Une nounou ou un⋅e apprenti⋅e se chargera alors (lorsqu'iel aura le temps)
d'écrire cela.
Pour les contributions directes, il n'y a aucun problème à directement mettre
vos modifications sur ce dépôt, à partir du moment où les
modifications/ajouts respectent l'organisation décrite dans [la section
Organisation du README.md](README.md#organisation) ainsi que les conventions de
rédactions décrites ci-dessous. Si vous avez effectué ou prévoyez beaucoup
de modifications, il peut alors être préférable de placer tous les
changements sur une autre branche puis de faire une merge request sur gitlab
pour qu'une autre nounou vérifie vos changements. De plus, si besoin, vous
pouvez vous aider des fichiers `TEMPLATE.md` pour avoir une idée de comment
structurer votre documentation.
## Conventions de rédaction
### Structuration
Tous les fichiers doivent être écrits en
[markdown](https://fr.wikipedia.org/wiki/Markdown). Cela permet de lire toute
la documentation dans toutes circonstances avec des mises en forme
standardisées. Vous pouvez trouver de la documentation markdown sur [ce
site](https://www.markdownguide.org/) si nécessaire. Un linter est configuré
dans ce dépôt : [markdownlint](https://github.com/markdownlint/markdownlint).
Aucun fichier ne doit renvoyer d'avertissement après exécution de la commande
`mdl .` à la racine du dépôt.
**Tout dossier doit contenir un fichier `README.md`**, même si celui-ci est
court. Il doit contenir le rôle de ce que contient le dossier avec une brêve
description de tous les fichiers et sous-dossiers présents.
Tout dossier peut également contenir en plus, si nécessaire et approprié, un
fichier `TEMPLATE.md` mettant à disposition un template pour les futures
documentations.
De plus, mis à part les fichiers `README.md` et `TEMPLATE.md`, et les fichiers
uniques [`CONTRIBUTING.md`](CONTRIBUTING.md), [`CRITICAL.md`](CRITICAL.md) et
[`LICENSE.md`](LICENSE.md), tous les noms de fichiers doivent être **clairs**
et en minuscules. Il vaut mieux un nom long qu'une abrévation peu
compréhensible. Dans le cas d'un nom de fichiers de plusieurs mots, on les
séparera par des tirets bas (underscores). Par ailleurs, on évite autant que
possible de créer des dossiers contenant 50 fichiers : on préfère avoir des
sous-dossiers thématiques plus navigables.
### Mise en page
Il n'y a jamais assez d'hyperliens : n'hésitez pas à mettre des références
vers de la documentation officielle ou à rediriger vers d'autres fichiers de
la documentation du Crans si cela est possible ! Cela permet de naviguer
facilement sans se perdre dans les sous-dossiers.
De plus, pour faciliter la lisibilité, que ce soit dans le terminal ou sur
internet, on limite la taille des lignes à 80 caractères en comptant les
caractères non affichés sur des rendus graphiques (comme les hyperliens ou
les étoiles pour les mots en gras/italique/...). Si besoin, vous pouvez
facilement configurer un formatter dans votre éditeur de texte (vim, helix,
...) avec simplement la commande `fold -s -w80`.
### Langue
* Il serait préférable que toute la documentation soit (au minimum) être
écrite en français. Cela ne signifie pas qu'il ne peut pas y avoir de
traduction en anglais ou de termes informatiques anglais, mais la langue de
rédaction devrait rester le français pour être compris par tous et toutes
sans difficulté.
* On privilégie le vouvoiement au tutoiement.
* L'usage de l'écriture inclusive est recommandé, que ce soit par
l'utilisation prioritaire de termes épicènes, par la coordination (ex: "tous
et toutes") ou par l'emploi du point médian.