Développement : Contribuer au code source de camptocamp.org

Activités :
Catégories : info site
Type d'article : collaboratif (CC by-sa)

Futur développeur bénévole : Camptocamp a besoin de toi !

Camptocamp.org est développé et maintenu par une petite équipe de développeurs bénévoles. Toute aide est la bienvenue, et les possibilités de contributions sont très variées et nombreuses. Alors, que vous soyez expert ou totalement débutant, il y a beaucoup à faire ! Si vous avez déjà des idées ou envies d'amélioration, venez-les partager sur le forum. Si vous préférez être guidés vers des sujets faciles ou prioritaires, vous pouvez demander conseil à l'équipe de dev : dev@camptocamp.org ou consulter la liste (non exhaustive) des projets abordables pour démarrer le développement sur camptocamp.org.

Afin de faire les premiers pas, cet article vous fournira une méthode simple et rapide pour obtenir un environnement de développement afin de modifier le code de camptocamp.org. Il contient tous les liens utiles pour vous documenter sur les outils et concepts abordés.

Si malgré tout vous rencontrez des difficultés, n'hésitez pas à demander de l'aide sur le forum, ou bien directement à l'équipe de dev : dev@camptocamp.org.

L'interface graphique

C'est une simple SPA (Single Page App) développée en Vue.js, son installation est simplissime.

Pré-requis 15min

Git (Windows, Mac, Linux), Node.js ainsi qu'un compte github et les connaissance de base sur git.

Installer camptocamp.org 2min

Récupérez le code source :

git clone https://github.com/c2corg/c2c_ui.git
cd c2c_ui
npm ci
npm run serve

Et voilà! Allez sur http://localhost:8080 🚀

Modifier le code

  1. Les sources se trouvent dans c2c_ui/src/,
  2. vos modifications sont automatiquement rechargées sur votre navigateur.

Publier votre modification 5min

Dans le répertoire c2c_ui/ :

# Si cela n'a pas encore été fait, créez votre fork
git remote add myfork git@github.com:{my_github_username}/c2c_ui.git

# Créez une branche pour votre ajout
git checkout -b my_awesome_branch_for_a_great_feature

# Commit & push
git commit -m "I've just added a great feature to c2c UI"
git push myfork my_awesome_branch_for_a_great_feature

Et pour finir, créez une pull request dans github ❤️

L'API

Installer l'API camptocamp.org 2min

Récupérez le code source :

git clone https://github.com/c2corg/v6_api.git
cd v6_api
docker-compose up

Sur l'interface (http://localhost:8080), cliquez sur la petite icône en forme de base de données dans le header pour passer sur cette API locale 🚀

Modifier le code

Pour chacune de vos modifications, vous devez écrire les tests. Afin de lancer les tests dans un autre terminal, lancez :

./scripts/test.sh

# ou plus rapide, lancez simplement le test que vous avez rajouté
./scripts/test.sh c2corg_api/tests/views/test_feature.py

Plus d'infos sur le wiki du repo.

L'infra

Basée sur docker-compose, elle aurait besoin d'une grosse refonte pour simplifier les process (livraisons et interventions sur la prod). À bon entendeur 😉

Liens utiles