Skip to content

Latest commit

 

History

History
86 lines (60 loc) · 3.79 KB

CONTRIBUTING.md

File metadata and controls

86 lines (60 loc) · 3.79 KB

Contribuer au site ResEl

Pour que le projet ne parte pas en vrille, il est nécessaire de respecter certaines contraintes de développement. Si ces règles ne sont pas respectées votre code ne sera pas accepté.

Avant propos

Avant de vous lancer dans le développement du site il est nécessaire de maitriser les technologies suivantes :

Il est également fortement recommandé de connaitre :

Et si vous matrisez les technos suivantes, vous êtes au top:

Et si vraiment la nuit vous ne voulez plus dormir :

À noter également qu'une connaissance de l'architecture du ResEl vous est nécessaire. Vous pouvez trouver toutes les infos sur le wiki administrateur

Tests

En plus des tests "manuels", l'application présente des tests automatisés qui permettent de vérifier le bon fonctionnement des parties critiques de l'application. Lorsque vous ajoutez du code, vous devez créer des tests automatisés !

Pour lancer les tests existant vous pouvez executer la commande suivante dans le dossier /myresel/ :

python3 manage.py tests

Ne lancez surtout pas les tests sur le LDAP de production ! Pika risque d'avoir des surprises.

Pour créer de nouveaux tests, n'hésitez pas à suivre la documentation Django

Conventions et bonnes pratiques

Ici, on a des nazis du PEP8, donc respectez le. Si vous ne le connaissez pas et n'aimez pas lire les trucs compliqués voici un petit résumé.

Le nom des entités (modules, fonctions, classes, variables...) doit toujours être en anglais, pour les commentaires et les docstrings on est plus souple et le français est toléré. Vous constaterez que ceci n'est pas toujours respecté, c'est pas une raison pour continuer rajouter du français dans le code !

Toutes les fonctions et classes doivent avoir un docstring sauf quand le code est vraiment évident. Aussi, je rappelle qu'un bon commentaire n'explique ce que fait le code, mais pourquoi ce bout de code existe.

Déployement

Vous venez de faire une modification du code et vous désirez voir la modification sur le site ?

Pour cela il faut que votre code passe les tests automatisés. Ensuite créez une merge request de la branche master vers la branche deploy.

Si tous les tests se passent bien, un hook sera executé pour demander aux serveurs de puller le nouveau code de la branche deploy.