Aller au contenu

Participez au projet !

Contribuez à gofoss.net

Bienvenue ! gofoss.net est un projet libre et open source, tout le monde peut donc étudier le code du site et y apporter des améliorations. Rejoignez-nous et découvrez comment vous impliquer au mieux !

  • Améliorez le contenu, ajoutez des fonctionnalités, corrigez des erreur
  • Enrichissez l'expérience utilisateur, concevez de nouvelles illustrations
  • Aidez avec les traductions
  • Animez les discussions
  • Maintenez le code

Guide pratique de contribution

Contactez-nous

Pas besoin d'ouvrir un ticket sur GitLab si vous souhaitez simplement discuter ou avez une question. Il vous suffit de nous contacter sur les médias sociaux :

   Suivez @gofoss_today sur Twitter

   Suivez @don_atoms sur Mastodon

   Écrivez à @gofosstoday sur Reddit

   Écrivez à @gofoss sur Lemmy

   Rejoignez notre tchat sur Matrix

   Envoyez-nous un courriel

Ouvrez un ticket sur GitLab

Instructions Description
Faites quelques recherches • Recherchez des contributions similaires avant de soumettre la vôtre
• Il y a de fortes chances que quelqu'un d'autre ait eu le même problème ou la même proposition que vous
Consultez la communauté gofoss.net
Recherchez dans l'outil de suivi de tickets
Consultez la feuille de route
Ouvrez un ticket • Si rien ne ressort de vos recherches, ouvrez un ticket
Connectez-vous à GitLab
• Allez dans l'outil de suivi de tickets de gofoss.net
• Cliquez sur le bouton New Issue
• Saisissez un titre
• Veillez à sélectionner le bon modèle :

content_request: suggestions concernant du contenu nouveau ou amélioré, par exemple un nouveau logiciel, des informations manquantes ou incorrectes, des fautes d'orthographe ou de grammaire, une amélioration de la lisibilité, etc.

feature_request: suggestions concernant de nouvelles fonctionnalités du site web, par exemple une meilleure navigation, une mise en page améliorée, de nouvelles illustrations, un mode sombre, etc.

bug_report: comportement inattendu du site web, par exemple des liens défectueux, des problèmes de chargement sur certains appareils, etc.
Participez au processus de révision • Tous les tickets sont discutés et examinés publiquement
• Assurez-vous de suivre les discussions relatives à votre ticket
• Répondez aux questions éventuelles et examinez les contributions des autres
• C'est aussi précieux que de contribuer soi-même
Configurer les notifications par courriel pour rester informé
Patientez jusqu'à ce que le ticket soit résolu ou clos • Nous faisons de notre mieux pour résoudre les tickets rapidement
• En retour, nous vous demandons de rester disponible pour des questions de clarification ou des corrections
• Veuillez noter que si nous n'avons pas de nouvelles de votre part, nous pourrions être amenés à fermer votre ticket

Travaillez sur des tickets ouverts

Flux de travail & branches

Flux de travail & branches

Branches Description
main • La branche main est la branche de production
• Tout changement (en anglais, « commit ») sur la branche main est automatiquement déployé de GitLab vers Netlify
• La branche main est donc protégée
• Elle n'est accessible qu'aux responsables de l'équipe gofoss.net (en anglais, « maintainers »)
dev • La branche dev est créée à partir de la branche main
• C'est là que de nouveaux contenus, de nouvelles fonctionnalités et des correctifs sont développés et testés
• La branche dev n'est accessible qu'aux maintainers de l'équipe gofoss.net
• La branche dev est intégrée dans main lorsqu'elle est prête à être déployée en production
issue • Chaque ticket (en anglais, « issue ») doit se voir attribuer sa propre branche
• Les branches issue sont créées à partir de la branche dev
• Lorsque le travail sur un ticket (une issue) est terminé, le résultat est intégré dans dev
• Les branches issue' n'interagissent donc jamais directement avecmain'
• Les responsables de l'équipe gofoss.net (maintainers) et les contributeurs externes peuvent travailler sur les branches issue

Bifurcation de branches

Bifurcation de branches

Instructions Description
Choisissez un ticket sur lequel travailler • Recherchez des tickets marqués comme accepting_merge_requests dans l'outil de suivi
• Ces tickets sont ouverts aux contributions externes
• Avant de commencer à travailler sur un ticket, prenez contact avec l'équipe gofoss.net
• Laissez un commentaire dans le ticket sur lequel vous voulez travailler
• Ou envoyez un message via Mastodon, Twitter ou courriel
• Il existe également un canal Matrix où les développeurs de gofoss.net se retrouvent (sur invitation uniquement)
• Attendez que quelqu'un de l'équipe gofoss.net valide votre demande de contribution
Bifurquez, clonez et synchronisez le dépôt gofoss.net Connectez-vous à GitLab
• Allez sur le projet gofoss.net
• Cliquez sur le bouton Fork
• Cela crée une copie du projet gofoss.net dans votre propre dépôt GitLab
• Ouvrez un terminal sur votre ordinateur et créez un dossier de projet :
mkdir ~/git_projects
• Clonez votre dépôt GitLab :
cd ~/git_projects
git clone https://gitlab.com/<YOUR_USERNAME>/gofoss.git
• Allez dans la copie locale de votre dépôt :
cd ~/git_projects/gofoss
• Créez un lien avec le projet gofoss.net en amont pour garder votre copie synchronisée :
git remote add upstream https://gitlab.com/curlycrixus/gofoss.git
• Synchronisez régulièrement avec la branche dev du projet amont :
cd ~/git_projects/gofoss
git fetch upstream
git checkout dev
git pull upstream dev
git push origin dev
• Autrement, si votre copie est trop obsolète, votre demande de fusion pourrait être rejetée
Configurez l'environnement de développement • Définissez votre compte par défaut :
git config user.email "<USER>@example.com"
git config user.name "<USERNAME>"
• Installez la dernière version de Python et ses dépendances :
sudo apt install python3 python3-pip
• Vérifiez que la version 3 de Python est installée :
python3 --version
• Installez Mkdocs :
sudo apt install mkdocs
• Installez Material pour Mkdocs :
pip install mkdocs-material
• Installez l'extension multi-langue:
pip install mkdocs-static-i18n
• Installez les dépendances :
pip install -r requirements.txt
Écrivez dans le dépôt local & poussez les changements vers le dépôt distant • Créez une nouvelle branche issue, en respectant la convention de dénomination suivante : [content/feature/bug]-[#issueID]-[courte description]
• Par exemple :
git checkout -b feature-#72-add-dark-mode
• Passez à la nouvelle branche :
git checkout feature-#72-add-dark-mode
• Commencez à coder : ajoutez du contenu et des fonctionnalités ou corrigez des erreurs
• Visualisez les modifications locales dans votre navigateur sur localhost:8000 avec la commande :
mkdocs serve
• Si tout fonctionne comme prévu, ajoutez le code à la zone de préparation :
git add .
• Validez les changements et assurez-vous d'ajouter un commentaire clair :
git commit -m "<CLEAR COMMENT>"
• Enfin, poussez la branche issue vers votre dépôt distant :
git push -u origin feature-#72-add-dark-mode
Ouvrez une demande de fusion (en anglais, « Merge Request ») Connectez-vous à GitLab
• Allez sur https://gitlab.com/<YOUR_USERNAME>/gofoss/-/merge_requests
• Cliquez sur le bouton New merge request
• Sélectionnez la branche source : <USERNAME>/gofoss/feature-#72-add-dark-mode
• Sélectionnez la branche cible : curlycrixus/gofoss/dev
• Cliquez sur le bouton Compare branches and continue
• Veillez à sélectionner le modèle merge_request
• Saisissez un titre et une description clairs pour votre demande de fusion
• Sélectionnez l'option Delete source branch when merge request is accepted
• Cliquez sur le bouton Create merge request
Participez au processus de révision • Toutes les demandes de fusion sont discutées et examinées publiquement
• Assurez-vous de suivre les discussions relatives à votre demande de fusion
• Répondez à d'éventuelles questions
Configurez les notifications par courriel pour rester informé
Attendez la validation • Un maintainer du projet gofoss.net va copier votre branche issue dans son dépôt local
• Ils la vérifieront et s'assureront qu'il n'y a pas de souci particulier
• Si le maintainer a des commentaires, vous devrez mettre à jour votre demande de fusion
• Si tout va bien, le maintainer fusionnera vos changements dans sa branche locale dev et poussera le tout vers le dépôt gofoss.net
• Votre contribution fait désormais partie du projet gofoss.net !
• D'autres développeurs devront se synchroniser avec le dépôt gofoss.net
Supprimez la branche • Après la prise en compte de votre demande de fusion, la branche issue feature-#72-add-dark-mode devrait avoir été automatiquement supprimée
• Si ce n'est pas le cas, supprimez-la manuellement
• Vous pouvez désormais récupérer les modifications du dépôt amont en toute sécurité
Licence En contribuant à gofoss.net, vous acceptez que vos contributions soient publiées sous AGPLv3.

Structure des répertoires

Veuillez noter que la structure globale des répertoires doit rester inchangée :

.
├─ .gitlab/             # modèles pour les tickets & demandes de fusion
│
├─ docs/
│  │
│  ├─ assets/
│  │  └─ css/           # feuilles de style (.css), polices locales (.ttf) & icônes (.svg)
│  │  └─ echarts/       # fichiers echart (.html, .min.js)
│  │  └─ img/           # fichiers image (.svg, .png, etc.)
│  │
│  └─ *.xyz.md          # fichiers markdown multilingues (.en.md, .fr.md, .de.md, etc.)
│
├─ overrides/           # extensions du thème (home_xyz.html, main.html, overrides.xyz.min.css)
│
├─ LICENCE              # licence mkdocs-material
│
├─ netlify.toml         # instructions pour le déploiement sur netlify
│
├─ requirements.toml    # dépendances
│
├─ runtime.txt          # version python pour le déploiement sur netlify
│
└─ mkdocs.yml           # fichier de configuration mkdocs
Aidez-nous avec les traductions

Instructions Description
Inscrivez-vous à une liste de diffusion Si vous avez des connaissances dans une ou plusieurs des langues cibles et une connaissance de base de la syntaxe « markdown », rejoignez la liste de diffusion appropriée :
Équipe de traduction EN ‣ FR (Framalang)
Équipe de traduction EN ‣ DE
Équipe de traduction EN ‣ ES
Équipe de traduction EN ‣ PL
Discutez avec d'autres traducteurs Il existe également un tchat matrix où les traducteurs et traductrices peuvent se rencontrer, se coordonner et se soutenir.
Accéder aux fichiers de traduction Les traductrices et traducteurs reçoivent un lien pour accéder aux fichiers du projet.
Travaillez avec Framapad • Les traductions sont gérées à l'aide de l'éditeur de texte collaboratif en ligne Framapad
• Les contributions individuelles sont identifiées par un code couleur
• Toutes les modifications apparaissent à l'écran en temps réel
Utilisez le glossaire Utilisez le GLOSSAIRE lorsque vous travaillez sur une traduction.
Conservez le texte original Insérez la traduction juste après le texte original, tout en conservant le texte original tel quel.
Préservez le code Assurez-vous que tous les éléments de mise en forme « markdown » et les balises HTML sont préservés.
Respectez les autres contributeurs • Respectez le travail des autres
• Si vous n'êtes pas d'accord avec une traduction, vous pouvez faire vos propres suggestions
• Par contre, sans modifier ou supprimer les traductions existantes
N'abusez pas de vos pouvoirs N'abusez pas de vos pouvoirs. Le travail de traduction est basé sur la confiance.
Validation Les traductions seront publiées sur le site une fois qu'elles sont complètes et qu'elles ont été revues par l'équipe projet

Suivez le code de conduite

Instructions Description
Règle #1 Acceptez de collaborer avec des personnes du monde entier, quels que soient leur sexe, leur âge, leur nationalité, leur origine ethnique, leur apparence, leur éducation, leur milieu social ou leur religion.
Règle #2 Veillez à ce que la discussion reste amicale, respectueuse, constructive et pertinente. Les impolitesses ne seront pas tolérées. Pas de conflits internes, pas de trollage, pas d'insultes, pas de langage à connotation sexuelle, pas de harcèlement public ou privé, pas de « doxing », pas d'attaques personnelles, racistes, politiques ou religieuses.
Règle #3 Respectez les choix de l'équipe projet. Nous nous efforçons de lire, d'examiner et de répondre aux questions, tickets et demandes de fusion du mieux possible – mais n'oubliez pas que notre temps est limité. Nous nous réjouissons également de toute suggestion, recommandation et contribution – ce qui n'implique pas que chaque décision doive faire l'objet d'un consensus de groupe.
Règle #4 Évitez les discussions privées concernant le projet, s'il n'y a pas de raison valable. Les discussions doivent rester publiques, sur GitLab ou via les canaux de communication officiels du projet.
Règle #5 Soumettez toute réclamation à gofoss@protonmail.com. Les infractions aux règles 1 à 4 peuvent entraîner des mesures correctives. Cela inclut des rappels amicaux, des avertissements ou la suppression, la modification ou le rejet de toute contribution inappropriée : message, commentaire, soumission de code, ticket, demande de fusion, etc. En dernier ressort, un bannissement du projet peut être prononcé.

Vous souhaitez faire un don ?

Merci de votre intérêt !

La plupart des sites web « gratuits » vendent des publicités, les données de leurs utilisateurs ou du contenu payant. gofoss.net en revanche est réellement libre : libre d'utilisation, libre de publicité, libre de tout pistage, libre de tout contenu sponsorisé ou payant, libre de tout lien affilié et avec un code source entièrement libre.

gofoss.net est un projet à but non lucratif géré par des bénévoles. Tous les coûts de fonctionnement, le développement et le contenu sont financés uniquement par des dons d'utilisateurs et d'utilisatrices. Si vous souhaitez faire un don, ou nous offrir un café, cliquez sur le bouton ci-dessous :)

Faire un don avec Liberapay

Envisagez également de soutenir d'autres développeurs de logiciels libres. Ou d'aider des groupes activistes et des fondations logicielles qui promeuvent de meilleures lois sur la protection de la vie privée, les droits des utilisateurs et la liberté d'innover :

Contribuer au projet gofoss.net