Skip to content

Latest commit

 

History

History
122 lines (73 loc) · 5.3 KB

CONTRIBUTING.md

File metadata and controls

122 lines (73 loc) · 5.3 KB

Contribuer

Si vous souhaitez contribuer au code de la bibliothèque d'accès aux ressources du Géoportail, voici quelques conseils pratiques et règles à suivre.

Ouverture d'un ticket (issue)

Vous pouvez ouvrir un ticket dans les situations suivantes :

  • Signaler une erreur que vous ne pouvez pas résoudre vous-même
  • Discuter d'un sujet ou d'une idée relatives au projet
  • Proposer une nouvelle fonctionnalité ou une évolution de fonctionnalité

Votre ticket est ensuite pris en compte par les membres de l'équipe ou de la communauté. Et une action peut vous être demandée telle qu'ouvrir une Pull Request afin de contribuer...

Ouvrir une pull request (PR)

Une pull request vous permet de soumettre une proposition d'évolution du code source à l'équipe en charge du projet. Voici comment soumettre une pull request !

On «fork» le projet

  • Créez un fork du projet sur le Github.
  • Cloner le en local. Ce dépôt distant sur le Github s'appelle origin.
  • Ajoutez le dépôt d'origine en tant que dépôt distant avec le mot cléf : upstream (cf. https://help.github.com/articles/configuring-a-remote-for-a-fork/).
  • Si vous avez créé votre fork il y a quelque temps, assurez-vous de récupérer les modifications dans votre dépôt local (cf. https://help.github.com/articles/syncing-a-fork/).
  • Récupérez les modification le plus souvent possible de "upstream" afin d'être le plus à jour possible, de sorte que lorsque vous soumettez votre demande (PR), les conflits de fusion seront plus faciles à résoudre !

On code...

  • Créez une nouvelle branche pour travailler. Nommez la par exemple avec le nom de la fonctionnalité à implementer (ex. feature-tests-myfunction) ou celui de l'issue qu'elle vise à résoudre (ex. feature-issue-xx)

  • Dans le répertoire local du projet, installez les dépendances du projet :

npm install

cf. COMPILE.md pour plus d'infos.

  • Ecrivez testez, corrigez votre code sur votre copie locale de votre fork.

Les commandes :

gulp build [--production]
gulp publish

Vous permettent de générer les binaires de la bibliothèque d'accès et de les placer dans le répertoire dist/. Des pages html de test d'utilisation sont dans le répertoire samples/. Elles utilisent les binaires présents dans le répertoire dist/.

La commande :

gulp server-connect

Lance un navigateur avec les pages d'exemples servies sur l'adresse http://localhost:9001

  • Suivez les règles de codage du projet. Elles sont définies dans les fichiers : .jscsrc (style et convention de codage) et .jshintrc (syntaxe javascript). Vous pouvez vérifier le bon respect de ces règles en lançant la tache :
gulp check
  • Vérifiez, ajoutez ou adaptez les tests si nécessaire.

    • Les tests unitaires sont dans le répertoire test/spec/
    • Les tests fonctionnels sont dans le répertoire test/spec-functional/
    • Les pages d'exemples sont dans le répertoire samples/
  • Ajoutez ou modifiez la documentation si nécessaire. Si votre PR apporte une modification d'interface à la bibliothèque, mettez à jour la jsDoc en conséquences et vérifiez quelle est bien prise en compte.

    • La jsDoc publique des fonctions de la bibliothèque est rassemblée dans le fichier src/Services/Services.js,
    • La jsDoc des classes publiques de réponse dans : src/Services//Response/model/.js

La commande

gulp doc

Vous permet de générer la jsDoc du projet dans le répertoire target/doc/

On soumet une PR...

  • De votre fork, ouvrez une demande de pull request sur cette branche (cf. https://help.github.com/articles/creating-a-pull-request/). Et ciblez sur la branche develop du dépôt d'origine...
  • Référencez tous les problèmes ainsi que la documentation sur votre PR.
  • Utilisez dans vos commit des fonctionnalités de GitHub (ex. "Fix #37.").
  • Si le responsable demande des modifications supplémentaires, il suffit de les pousser vers votre branche locale, la pull request se met à jour automatiquement.
  • Une fois que la pull request est approuvée, les responsables du projet effectueront le merge (cf. https://help.github.com/articles/merging-a-pull-request/).

Liens utiles

https://help.github.com/categories/collaborating-with-issues-and-pull-requests/

avec les liens les plus utiles :

https://help.github.com/articles/configuring-a-remote-for-a-fork/ https://help.github.com/articles/syncing-a-fork/ https://help.github.com/articles/about-pull-requests/ https://help.github.com/articles/creating-a-pull-request/ https://help.github.com/articles/checking-out-pull-requests-locally/ https://help.github.com/articles/merging-a-pull-request/ https://help.github.com/articles/about-pull-request-merges/ https://help.github.com/articles/interactive-rebase

Un exemple de contribution sur un projet (en français) : https://git-scm.com/book/fr/v2/GitHub-Contribution-%C3%A0-un-projet