Les montées de version Odoo

Passez à la vitesse supérieure !

Que votre application soit simple ou très complexe, que vous utilisiez la version Entreprise ou la version Communautaire, votre projet doit monter de version

Odoo propose des montées de version gratuites à ses clients Entreprise. Le process est relativement simple, il suffit de déposer sa base de données sur la plateforme Database Upgrade. Odoo vous retourne une base de données dans la version cible pour validation. Dès que la base est testée et validée par vos soins vous pouvez définir un créneau pour interrompre la production et transmettre une copie. Lorsque le script est validé, la montée de version de la base prend quelques minutes à quelques heures suivant la taille de la base de données. 

Pour les clients de la version Communautaire, la migration éditeur n'est pas disponible mais l'outil Open Upgrade de la communauté est très performant et fonctionne parfaitement sur les principaux modules.

Les choses se compliquent lorsque des développements spécifiques ont été réalisés

Odoo n'inclut pas les développements spécifiques dans son offre de migrations gratuites. De nombreux clients ont fait développer des fonctionnalités. Odoo propose un service de migration du code spécifique mais la plupart des clients passent par un intégrateur... ou restent sur des versions obsolètes !

Mais au fait... Qu'est-ce qu'une migration ?

On commence par le portage du code. Le code de la version d'origine doit être adapté, l’essentiel de la migration tient à des ajustements sur :

  • des fonctions du code qui sont renommées, déplacées, modifiées ou supprimées du code Odoo

  • des vues qui sont renommées, déplacées, modifiées ou supprimées du code Odoo

  • des champs qui sont ajoutés, supprimés, renommés

Le code doit être ajusté pour tenir compte de tous ces changements.

Prenons l’exemple simple d’un champ qui est ajouté sur une vue. On fonctionne par héritage dans Odoo, c’est-à-dire que le champ est ajouté sur une vue héritée (un peu comme un calque Photoshop). Si la vue de base a été renommée, il faut refaire le lien pour que champ puisse s’afficher.

La mise à jour de la base de données

Une fois le portage de code effectué, tous vos modules s'installent correctement et fonctionnent dans la nouvelle version. Mais votre base de données existante comporte des tables qui sont obsolètes, des champs qui n’existent plus ou s’appellent différemment. Odoo peut également avoir ajouté des champs ou rendu d’anciens champs obligatoires.
La mise à jour de la base de données requiert un travail d’analyse des changements qui génèrent des erreurs pour intervenir sur la base de données et la rendre compatible avec le code de la nouvelle version. C'est là qu'intervient l’outil OpenUpgrade développé par la communauté Odoo et qui gère déjà les modules standard Odoo ainsi que les principaux modules communautaires.

Et pourquoi migrer si mon application fonctionne ?

Un projet qui ne monte pas de version n'est pas un projet pérenne. La plupart des projets sont développés sans tenir compte des évolutions futures. La première migration doit être l'occasion de rationaliser, de supprimer le code superflu et de développer des tests automatiques qui faciliteront les prochaines montées de version. L'idéal est de réduire la complexité de l'application car tout projet de développement fonctionne par couches successives et c'est toujours plus facile une fois le projet abouti de repérer les développements qui n'apportent pas de valeur et ceux qui peuvent être optimisés.  

La dette technique
On code toujours de manière non optimale. On contracte une dette technique que l'on rembourse tout au long de la vie du produit sous forme de temps de développement de plus en plus long et de bugs de plus en plus fréquents.

Odoo ira toujours beaucoup plus vite que vous

La plupart des clients se retrouvent malgré eux dans une position d'éditeur de leur propre logiciel. Ils financent de l'amélioration continue de leur outil sans disposer des ressources de l'éditeur. Odoo pour sa part dispose d'environ 800 développeurs à temps plein sur l'amélioration de sa solution et publie chaque année une nouvelle version. Le rythme est tellement soutenu qu'au bout de quelques années la version qui vous convient peut être très bien est en fait totalement obsolète tant sur le plan des fonctionnalités que des performances.

Alors qu'est-ce que druidoo peut faire ?

Druidoo est un intégrateur spécialiste Odoo. Nous n'intervenons que sur ce logiciel et nous disposons de compétences très rares sur le marché. De plus, nous avons développé une expertise de pointe sur les migrations.

Nous vous proposons un audit. La prestation d'audit vise à cadrer le travail de migration, en évaluer la complexité mais aussi la valeur pour votre entreprise. La Note d'audit est le principal livrable elle détaille :

  • la qualité de code et l'architecture de l'application

  • le volume de code à traiter, module par module

  • la description fonctionnelle de l'application

  • les sources de valeurs de l'application et les évolutions dans la version cible

  • l'estimation du coût de la montée de version

Les délais sont courts, car la migration est un travail qui peut facilement être parallélisé entre de nombreux développeurs et requiert peu de coordination. Nous sommes capables de faire intervenir de nombreux développeurs sur un même projet, ils n'ont pas besoin de maîtriser le projet dans son entièreté.

Et vous êtes peu sollicités ! Vous avez certainement passé beaucoup de temps en ateliers pour décrire les besoins à intégrer dans Odoo. Vous avez aussi réalisé de nombreuses sessions de tests. Mais maintenant le code est là, c'est une véritable documentation pour les développeurs. Nous détaillons en début de projet le cahier de tests de l'ensemble des fonctionnalités de l'outil. Ensuite, vous recevez des rapports d'avancement mais vous n'êtes pas sollicités jusqu'à la remise de l'application. 

Est quel est le coût ?

Il est impossible d'estimer précisément une migration. Mais d'expérience la première migration représente environ 20% du développement initial. L'avantage est que les performances sont grandement améliorées et que la montée de version vous fera bénéficier des toutes dernières fonctionnalités Odoo. L'application sera plus robuste et moins coûteuse à maintenir !