Scroll Top

Quelle stratégie de migration Odoo pour Coop IT Easy ?

Quand migrer vers la nouvelle version d'Odoo ? Qui doit migrer ? Et à quelle fréquence ?

Lors de notre mise au vert, nous avons discuté, en équipe, des directions que nous souhaitons prendre vis-à-vis des migrations Odoo. Nous avons, d’abord, écarté l’option de proposer une alternative à Odoo, avant de nous pencher sur nos objectifs de migration. Dans cet article, nous vous expliquons en détails pourquoi et à quel rythme doivent s’effectuer les migrations.

Pourquoi migrer ?

Les raisons qui nous poussent à suivre le rythme de migration impulsé par Odoo S.A., l’éditeur du logiciel Odoo, sont fortement liées à la qualité du service que nous rendons, et à notre capacité à travailler efficacement.

Concrètement, quels en sont les avantages ?

  • Migrer permet de profiter des mises à jour de sécurité, sans lesquelles nous ne pouvons pas assurer le niveau de protection requis pour les données hébergées.

  • Migrer facilite également la maintenance des serveurs.

  • Migrer permet un alignement avec la communauté OCA et donc plus de mutualisation et de synergies, plus de fonctionnalités et une réduction des coûts.

  • Enfin, migrer permet aussi d’accéder aux améliorations et aux nouvelles fonctionnalités disponibles sur les versions récentes d’Odoo.

  • En plus de ces raisons, nous souhaitons limiter le nombre de versions de Odoo sur lesquelles nous travaillons. Nous voulons “synchroniser” les bases de données que nous hébergeons pour qu'elles changent de version en une seule vague, sans quoi le travail de migration n’est pas coordonné et très compliqué à organiser et à financer.

    Ces questions demandent au final un arbitrage entre le coût pour les structures clientes (si on migre trop souvent) et le risque que l’on peut prendre en termes de sécurité (si on ne migre pas assez souvent). 

la politique de migration d'odoo s.a.

L’éditeur du logiciel, Odoo SA, sort chaque année une nouvelle version et assure la maintenance technique de deux versions précédant la dernière version. Par exemple, lorsque la version 16 est sortie en octobre 2022, Odoo a arrêté de maintenir la version 13, et ne maintient plus que les versions 14, 15 et 16. Cela veut dire qu’Odoo ne fera pas de veille de sécurité pour le code des anciennes versions, et n’y corrigera plus les bugs.

Au bout d’un moment, on n’a plus le choix : il faut migrer vers une version plus récente de Odoo car sinon, on s’expose à des failles de sécurité. Certaines associations qui s’auto-hébergent font ce choix pour leur instance (et même de nombreux intégrateurs Odoo qui ne maîtrisent pas toujours les outils de migration), mais ce n’est pas envisageable pour un prestataire comme Coop IT Easy. 

Odoo SA ne nous facilite pas la vie car les nouvelles versions contiennent toujours des modifications qui ne sont pas compatibles avec les versions précédentes. Par exemple, si l’on utilisait les données d’une base de donnée Odoo 12 sur le code de Odoo 13, cela causerait tellement de bugs qu’on ne pourrait plus utiliser la base de données. Il faut donc migrer la base de données d’une version à l’autre – et pour ce faire on a besoin d’utiliser un code spécial, les scripts de migration. Ce sont les instructions utilisées pour mettre à jour les bases de données pour rester compatibles avec la nouvelle version d’Odoo.

Mais les obstacles ne s’arrêtent pas là. Vous pensiez qu’Odoo était un logiciel libre ? Odoo SA, même si elle vante sa solution “open source”, ne publie pas les scripts de migrations. Ceux-ci restent propriétaires et sont utilisés uniquement pour la clientèle de Odoo Entreprise. Ce qui fait souvent débat dans la communauté open source, par exemple dans ces échanges sur LinkedIn où le fondateur d’Odoo maintient offrir une solution open source malgré tout. Un peu comme si le code de la route était complètement modifié tous les ans, mais que les changements n’étaient jamais rendus publics : à chacune et chacun de découvrir les nouveautés avant de pouvoir reprendre la route. 

Nous devons ainsi tester et découvrir par nous-mêmes les changements opérés sur chaque version Odoo, puis réécrire nos propres scripts de migration – libres, ceux-ci. Nous utilisons pour cela l’outil Open Upgrade, avec d’autres organisations de la communauté OCA, ce qui nous renforce toujours plus dans notre envie de contribuer et de collaborer avec les membres de cette communauté, pour le coup, vraiment open source !.

 À côté de la migration de la base de données, il faut aussi porter le code communautaire (de l’OCA) et le code personnalisé créé par Coop IT Easy, pour qu’il soit compatible avec les versions plus récentes de Odoo. Cela demande aussi beaucoup de temps.  

les défis d'une migration fréquente

Migrer fréquemment est difficile, pour plusieurs raisons.

  • Ça ne vous surprendra pas : migrer fréquemment coûte plus cher que migrer plus rarement, car le travail doit être fait plusieurs fois  : portage du code, test, suivi, gestion des bases de données, échanges avec les clients et clientes... Cependant, il y a aussi un effet inverse au fil du temps : plus on migre souvent, plus on va développer des compétences et des outils d’automatisations, moins on va devoir réapprendre à migrer, et plus chaque migration ira vite. La comparaison n’est donc pas si simple. 

  • De plus, migrer demande de mobiliser beaucoup de ressources. Pour donner un ordre de grandeur, le travail de migration pour migrer toutes les structures clientes de Coop IT Easy de deux versions se chiffre en milliers d’heures. 

  • Hormis le problème du financement, que nous espérons régler avec notre formule d’abonnement, se pose le problème des ressources disponibles. Cela demande de mobiliser beaucoup de temps et de personnes, et donc de changer radicalement notre organisation à Coop IT Easy. 

et ses avantages

  • Migrer fréquemment permettra d’intégrer le travail de migration dans nos flux de travail. Cela nous demandera d’avoir une meilleure connaissance des modules existants, de développer des outils automatisés pour se faciliter la tâche de migration.

  • Cela permet aussi aux clients et clientes d’avoir en tête les migrations régulières et de prendre en compte les implications dans leurs demandes de développement (les réduire, ou les rendre les plus génériques possibles afin de les mutualiser). Comme le dit Matthieu Christmann du supermarché Bloum : “Toutes ces décos que tu as faites chez toi, quand il faut déménager, ça fait beaucoup de cartons en plus”.

  • Être à jour dans les versions d’Odoo permet de mettre les nouvelles clientes et clients sur des versions récentes, disposant de toute la base de code spécifique (non standard) portée. Ces structures ont alors accès à un meilleur produit, et profitent de toute notre base de code. Cela présente donc un avantage commercial et permet d’amener de nouveaux acteurs et actrices dans la mutualisation. 

  • Enfin, migrer fréquemment permet de travailler main dans la main avec nos partenaires qui utilisent et fournissent des services autour de l’édition Odoo Community. En effet, plus on attend longtemps pour migrer, plus on a un rôle de “free rider” (passager clandestin), car on profite du travail de portage de code et d’écriture des scripts Open Upgrade que les autres prestataires ont fait (ou pas, auquel cas on doit finalement le faire quand même).

  • Travailler en même temps que les autres sur ces tâches permettrait d’augmenter la visibilité et la crédibilité de Coop IT Easy, et de se fédérer avec d’autres membres de l’OCA pour mutualiser nos efforts et s’organiser. C’est d’ailleurs un sujet abordé régulièrement au sein de l’OCA et des réunions de son conseil d’administration où Virginie siège depuis 2020. Nous avons bon espoir d’aboutir à une solution de financement globale pour Open Upgrade qui bénéficiera à tous les utilisateurs et utilisatrices de l’édition Odoo Community et donc à nos clients !

objectif: migrer tous les deux ans

Pour décider, 3 scénarios étaient en lice : 

  • Migrer tous les ans
  • Migrer tous les 2 ans
  • Migrer tous les 4 ans 

Dans les trois scénarios, Coop IT Easy migre avec un “retard” de deux versions (Coop IT Easy finit de migrer vers la version X quand Odoo sort la version X+2), lié aux contraintes présentées dans ce billet de blog.

Migrer tous les ans est trop dur à suivre, nous n’avons pas les effectifs ni les revenus nécessaires pour soutenir ce rythme. Migrer tous les 4 ans, d’un autre côté, nous paraît trop long : nous accumulons trop de retard et prenons des risques de sécurité.

C’est donc l’option “migrer tous les 2 ans” qui a été choisie comme objectif, car elle offre le meilleur équilibre. Il n’y a donc plus qu’à… se mettre au travail ! D’autant que pour y arriver, il y a quelques années de retard à rattraper.