COOG 1.6 utilise Git

Comme annoncé lors des dernières communications, Coopengo s’engage à donner toujours plus de visibilité sur sa roadmap et ses chantiers structurants.

Ce besoin de standardisation n’est pas nouveau, mais il prend aujourd’hui tout son sens dans la mesure où Coopengo est passé d’une phase de développement massif sur le produit à une phase de structuration et d’organisation (la majeure partie de nos composants ont atteint le statut “release” avec des références en production). Le gain en maturité de COOG lui permet de se dévoiler progressivement pour accueillir de nouveaux contributeurs et obtenir ainsi de leur part un retour de plus grande envergure.

Migration sur Git / Github

L’une des décisions importantes prises récemment est la migration sur Git. Tous nos dépôts de code sont aujourd’hui sur Github. La migration sur Git a été accompagnée par quelques changements sur nos “workflows” de développement pour profiter au mieux de cet outil.



Github

Pourquoi Git

  • Git est le gestionnaire de version de code le plus utilisé au monde. Ceci nous permet de profiter de nouvelles recrues et/ou de nouveaux contributeurs qui sont directement opérationnels sur l’outil et sur nos “workflows”.
  • La gestion des branches sur Git est très puissante, elle nous facilite des situations qui étaient plus complexes sur Mercurial (travailler sur des issues en parallèle, collaboration sur une issue, etc.)

Pourquoi Github

Github est aujourd’hui la plateforme incontournable de collaboration pour construire du logiciel. Être sur Github nous permet d’être visible dans la communauté (Python, Tryton, etc).

Github facilite aussi la collaboration et la communication entre les développeurs :

  • Toute ligne de code dans un commit a une URL (peut être citée),
  • Les wikis chez Coopengo sont sur Github et permettent de partager l’expérience des utilisateurs sur l’environnement technique et métier de COOG,
  • Les issues nous permettent d’avoir un retour plus large sur nos outils publiques.

Interactions avec la communauté

Les forks

Pour les besoins de COOG il a été nécessaire de faire des forks des différents dépôts de Tryton

  • soit parce que certaines fonctionnalités n’ont pas été intégrées par la fondation (widget mixte par exemple)
  • soit car il y a des nouvelles fonctionnalités développées par Coopengo dont l’intégration dans le coeur de Tryton doit être encore discutée (l’utilisation de redis comme cache serveur par exemple).

Afin de bien identifier ces fonctionnalités et dans la mesure où elles pourraient intéresser d’autres projets Tryton, nous les avons isolées dans des branches séparées. Cela permet de :

  • Faciliter leurs extractions (un patch sur une URL Github)
  • Assurer leurs maintenance et évolution par rapport aux branches relase de Tryton : au lieu de les avoir dans des commit (immutable ou non-évolutif)

Les outils

D’autres dépôts disponibles sont ceux des outils technique utilisés par Coopengo. Notamment le “performance-analyzer”.



Github

Cet outil nous a permis en interne de faire des améliorations notables sur les performances de Tryton et des modules d’assurance COOG. Il permet notamment pour une transaction métier de tracer :

  • Tous les appels serveur (avec le temps passé, le temps sur la base de données, etc.),
  • Tous les appels à la base de données (selon des critères définis),
  • Tous les appels de fonction (profiling) sur certains services.

Notre objectif : être à la pointe de la standardisation technologique

La technologie est de plus en plus incontournable sur l’ensemble des métiers et l’assurance ne fait pas exception, bien au contraire. Avec une dépendance aussi forte par rapport aux données, les acteurs de l’assurance hésitent de moins en moins aujourd’hui à innover et à adopter des technologies récentes.

La standardisation technologique de COOG est aujourd’hui au coeur de notre action afin de faire levier sur :

  • la maîtrise de la donnée : (centrale de nos jours),
  • la maîtrise des coûts : le plus standard est une plateforme, le moins coûteux sera son hébergement et son administration,
  • la maîtrise du temps : l’agilité est clé pour être toujours plus rapide sur le marché

Coopengo s’inscrit dans une démarche de partage d’expériences et de savoir-faire pour accompagner ses clients vers les meilleurs choix.