Skip to content

Latest commit

 

History

History
53 lines (35 loc) · 5.95 KB

CONTRIBUTING.md

File metadata and controls

53 lines (35 loc) · 5.95 KB

Contribuer

Merci de vous intéresser à ce projet qui est d'une assez grande utilité dans la communication des événements de la région genevoise et ses environs. Les contributions sont bienvenues car il y a actuellement pas mal à faire, surtout dans la rénovation. Les informations ici vous permettront de savoir plus clairement de quelle manière vous pouvez aider à l'amélioration du site.

Vous pouvez contribuer de plusieurs manières :

et spécifiquement, si vous êtes développeur :

  • compléter la documentation : le README, le Wiki...
  • résoudre ou proposer des Issues (corrections, améliorations...)

Contexte

À côté du travail régulier de gestion du site actuellement en ligne (contenu et technique), ce projet demande une maintenance classique (mises à jour, documentation, etc.), essentiellement effectuée par son auteur, durant son temps libre et bénévolement. Quand du temps est davantage disponible, je fais des mises à jour plus conséquentes comme des corrections, du refactoring voire des améliorations.

Je m'occupe donc de gérer ce projet dans son ensemble et décide des lignes directrices à suivre. J'essaie de réagir promptement aux diverses demandes, mais en raison du peu de temps dont je dispose, cela peut demander un certain délai.

Développer

La version actuelle a été créée en 2008 (avec un modeste niveau de programmation, essayant de suivre les standards de l'époque) et est aujourd'hui assez legacy, malgré quelques modernisations et nettoyages effectués ces dernières années (voir le CHANGELOG). Aujourd'hui le but principal est de réduire cette dette technique afin de reprendre sur de bonnes bases l'amélioration de l'application. À cet effet, le projet de modernisation a été conçu pour résorber pas à pas les parties les plus obsolètes. Le mode de développement actuel du projet est brièvement décrit dans la section idoine du Wiki

Tâches

Vous pouvez reprendre des Issues existantes — en choisissant de préférences les plus prioritaires (label high) — ou en créer de nouvelles. Cela peut consister à :

  • spécifier, concevoir une amélioration
  • reproduire, cerner des bugs
  • développer et tester

Il est aussi possible de proposer des fonctionnalités, bien qu'en ce moment l'accent est mis surtout sur la résolution de bugs et le refactoring (notamment au sein du projet de modernisation) pour les raisons décrites ci-dessus. Si vous ne connaissez pas encore bien le code, vous pouvez commencer par une Good first issue. Deux autres labels précisent leur domaine d'application :

  • improve-information : amélioration du contenu (sa diffusion, sa disponibilité)
  • edition : amélioration du "back-office", donc surtout pour les utilisateurs qui ajoutent des événements

Tests

Il y a des tests automatisés qui couvrent les fonctionnalités de base et ils peuvent être améliorés. Si cela vous intéresse, je vous invite à consulter leur README qui décrit la stratégie suivie et les 2 types de tests existants : E2E (avec Selenium IDE) et fonctionnels pour l'API (avec Codeception)

Démarrage

Pour aborder le travail, vous pouvez d'abord chercher à connaître suffisamment le fonctionnement du site, pour cela le Wiki apporte quelques infos dans :

Plus concrètement, vous pouvez aussi explorer le site actuel, voire créer un compte Acteur culturel qui vous montrera les fonctionnalités de back-office, utilisées quotidiennement par les organisateurs d'événements pour leur diffusion.

Ensuite, si vous êtes intéressés au travail sur une Issue, je vous invite à la préciser si besoin (spécifications, conception... n'hésitez pas la commenter ou créer une Discussion) puis la réaliser sous forme de pull request. Une fois acceptée, le changement sera intégrée dans une future release et déployé, selon mes disponibilités. Les modifications doivent suivre dans la mesure du possible les Commits Conventionnels

La mise en place de l'environnement de développement est décrite dans Installation locale du README.