Mettre à niveau¶
Une mise à niveau consiste à migrer une base de données d’une version antérieure vers une version plus récente prise en charge (par exemple, d’Odoo 16.0 vers Odoo 18.0). Des mises à niveau régulières sont essentielles car chaque version apporte de nouvelles fonctionnalités, des corrections de bugs et des correctifs de sécurité. L’utilisation d’une version prise en charge est fortement recommandée. Chaque version majeure est prise en charge pendant trois ans.
Selon le type d’hébergement et la version d’Odoo utilisés, une mise à niveau de la base de données peut être obligatoire.
Si une base de données est sur une version majeure (par ex. 16.0, 17.0, 18.0), une mise à niveau est obligatoire tous les deux ans.
Si une base de données est sur une version mineure (par ex. 17.1, 17.2, 17.4), une mise à niveau est obligatoire quelques semaines après la sortie de la version suivante. Les versions mineures sont généralement publiées tous les deux mois.
Après les trois premières années de support, vous disposerez de deux années supplémentaires pour effectuer la mise à niveau. Vous serez notifié lorsqu’une mise à niveau sera requise.
Vous pouvez rester indéfiniment sur la même version, même si ce n’est pas recommandé. Notez que plus l’écart de version est petit, plus la mise à niveau devrait être facile.
Vous recevrez une notification dans votre base de données quelques semaines avant qu’une mise à niveau obligatoire soit effectuée automatiquement. Vous contrôlez le processus tant que la date limite n’est pas atteinte.
Concrètement, l’équipe de mise à niveau d’Odoo effectue une mise à niveau test silencieuse de chaque base de données devant être mise à niveau. Si le test réussit et dure moins de 20 minutes, vous pouvez déclencher directement la mise à niveau depuis la base de données. Si le test échoue, vous pouvez tester une mise à niveau via le gestionnaire de bases de données.
Lorsque vous êtes invité à effectuer une mise à niveau, il est fortement recommandé de demander d’abord une base de données test mise à niveau et de prendre le temps de la tester.
Une mise à niveau automatique vers la version suivante sera déclenchée si aucune action n’est entreprise avant la date d’échéance spécifiée.
Une mise à niveau ne couvre pas :
La rétrogradation vers une version antérieure d’Odoo
Changer d’édition (par ex. de Community à Enterprise)
Changer de type d’hébergement (par ex. d’on-premise à Odoo Online)
Migrer d’un autre ERP vers Odoo
Avertissement
Si votre base de données contient des modules personnalisés, elle ne peut pas être mise à niveau tant qu’une version de vos modules personnalisés n’est pas disponible pour la version cible d’Odoo. Pour les clients maintenant leurs propres modules personnalisés, nous recommandons de paralléliser le processus en demandant une base de données mise à niveau tout en mettant à niveau le code source de vos modules personnalisés.
La mise à niveau en quelques mots¶
Demander une base de données test mise à niveau (voir obtenir une base de données test mise à niveau).
Le cas échéant, mettez à niveau le code source de votre module personnalisé pour qu’il soit compatible avec la nouvelle version d’Odoo (voir Upgrade a customized database).
Tester minutieusement la base de données mise à niveau (voir tester la nouvelle version de la base de données).
Signaler tout problème rencontré lors du test à Odoo en vous rendant sur la page Support et en sélectionnant « Un problème lié à ma future mise à niveau (je teste une mise à niveau) ».
Une fois que tous les problèmes sont résolus et que vous êtes sûr que la base de données mise à niveau peut être utilisée comme base de données principale sans aucun problème, planifiez la mise à niveau de votre base de données de production.
Demander la mise à niveau de la base de données de production, la rendant indisponible pendant le temps nécessaire pour terminer le processus (voir mettre à niveau la base de données de production).
Signaler tout problème rencontré lors de la mise à niveau à Odoo en vous rendant sur la page Support et en sélectionnant « Un problème lié à ma mise à niveau (production) ».
Obtenir une base de données test mise à niveau¶
La page Mise à niveau est la plateforme principale pour demander une base de données mise à niveau. Toutefois, selon le type d’hébergement, vous pouvez effectuer la mise à niveau depuis la ligne de commande (on-premise), le gestionnaire de bases de données Odoo Online, ou votre projet Odoo.sh.
Note
La plateforme de mise à niveau suit la même Politique vie privée que les autres services d’Odoo.com. Consultez la page du Règlement général sur la protection des données pour en savoir plus sur la façon dont Odoo traite vos données et votre vie privée.
Pour mettre à niveau une base de données Odoo Online :
Ouvrir le gestionnaire de bases de données.
Sélectionner la base de données et cliquer sur Manage.
Cliquer sur Upgrade dans la section Database.
Dans la fenêtre contextuelle :
Sélectionner la version d’Odoo vers laquelle vous souhaitez effectuer la mise à niveau, généralement la dernière version.
Saisir l’adresse Email to notify, qui recevra un lien vers la base de données mise à niveau.
Sélectionner l”Objectif de la mise à niveau, automatiquement défini sur Test pour votre première demande de mise à niveau.
Cliquer sur Mettre à niveau.
Dans le gestionnaire de bases de données, le bouton Connexion sera remplacé par un bouton non cliquable Mise à niveau… jusqu’à la fin du processus. Une fois la procédure terminée avec succès, un e-mail contenant un lien vers la base de données de test mise à niveau est envoyé à l’adresse fournie. La base de données de test est également accessible depuis le gestionnaire de bases de données en cliquant sur le bouton (caret down) avant le nom de la base de données pour afficher la base de données de test, puis en cliquant sur Connexion.
Odoo.sh est intégré à la plateforme de mise à niveau pour simplifier le processus de mise à niveau.
La dernière sauvegarde automatique quotidienne de production est ensuite envoyée vers la plateforme de mise à niveau.
Une fois que la plateforme de mise à niveau a fini de mettre à jour la sauvegarde et de l’envoyer sur la branche, elle se met en mode spécial : chaque fois qu’un commit est poussé sur la branche, une opération de restauration de la sauvegarde mise à niveau et une mise à jour de tous les modules personnalisés se produisent. Cela vous permet de tester vos modules personnalisés sur une copie vierge de la base de données mise à niveau. Le fichier journal du processus de mise à niveau est accessible dans votre nouvelle version staging mise à niveau en allant à ~/logs/upgrade.log.
Important
Dans les bases de données où des modules personnalisés sont installés, leur code source doit être mis à jour avec la version cible d’Odoo avant que la mise à niveau puisse être effectuée. S’il n’y en a pas, le mode « mettre à jour sur commit » est ignoré, la base de données mise à niveau est construite dès qu’elle est transférée de la plateforme de mise à niveau, et le mode de mise à niveau est quitté.
Consultez la page Upgrade a customized database pour plus d’informations.
Le processus de mise à niveau standard peut être initié en saisissant la ligne de commande suivante sur la machine sur laquelle la base de données est hébergée :
$ python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t <target version>
Note
Cette commande a certaines exigences concernant l’environnement dans lequel elle s’exécute :
Certaines commandes externes doivent être fournies par le système d’exploitation, normalement présentes dans toute distribution Linux (y compris WSL). Une erreur s’affiche si l’une ou plusieurs d’entre elles sont manquantes.
L’utilisateur système qui exécute la commande doit être configuré avec un accès à la base de données. Veuillez consulter la documentation PostgreSQL sur l’environnement client ou le fichier de mots de passe client pour cette exigence.
Le script doit pouvoir atteindre un ou plusieurs serveurs de la plateforme de mise à niveau sur le port TCP 443 et sur n’importe quel port TCP aléatoire dans la plage entre 32768 et 60999. Cela peut entrer en conflit avec votre pare-feu restrictif et nécessiter l’ajout d’une exception à la configuration du pare-feu.
La commande suivante peut être utilisée pour afficher l’aide générale et les commandes principales :
$ python <(curl -s https://upgrade.odoo.com/upgrade) --help
An upgraded test database can also be requested via the Upgrade page.
Important
Dans les bases de données où des modules personnalisés sont installés, leur code source doit être mis à jour avec la version cible d’Odoo avant la mise à niveau. Consultez la page Upgrade a customized database pour plus d’informations.
Note
Pour des raisons de sécurité, seule la personne qui a soumis la demande de mise à niveau peut la télécharger.
Pour des raisons de stockage, la copie de la base de données est soumise au serveur de mise à niveau sans filestore. Par conséquent, la base de données mise à niveau ne contient pas le filestore de production.
Avant de restaurer la base de données mise à niveau, son filestore doit être fusionné avec le filestore de production pour pouvoir effectuer des tests dans les mêmes conditions que dans la nouvelle version.
La base de données mise à niveau contient :
Un fichier
dump.sqlcontenant la base de données mise à niveauUn dossier
filestorecontenant des fichiers qui ont été extraits des enregistrements de la base de données vers les pièces jointes (s’il y en a) et les nouveaux fichiers Odoo standard de la version Odoo ciblée (comme les nouvelles images, icônes, logos des fournisseurs de paiement, etc.). Il s’agit du dossier qui doit être fusionné avec le mémoire fichier de production afin d’obtenir le mémoire fichier complet mis à jour.
Note
Vous pouvez demander plusieurs bases de données de test si vous voulez tester la mise à niveau plus d’une fois.
Note
Lorsqu’une demande de mise à niveau est complétée, un rapport de mise à niveau est jointe à l’e-mail de mise à niveau réussie et il devient accessible dans l’application Discussion pour les utilisateurs qui font partie du groupe « Administration / Paramètres ». Ce rapport fournit des informations importantes sur les changements introduits par la nouvelle version.
Tester la nouvelle version de la base de données¶
It is essential to test the upgraded test database to ensure that you are not stuck in your day-to-day activities by a change in views, behavior, or an error message once the upgrade goes live.
Note
Les bases de données test sont neutralisées et certaines fonctionnalités sont désactivées pour éviter qu’elles n’aient un impact sur la base de données de production :
Les actions planifiées sont désactivées.
Les serveurs de messagerie sortants sont désactivés en archivant les serveurs existants et en ajoutant un faux serveur.
Les fournisseurs de paiement et les transporteurs sont réinitialisés dans l’environnement de test.
La synchronisation bancaire est désactivée. Si vous voulez tester la synchronisation, contactez votre fournisseur de synchronisation bancaire pour obtenir des identifiants sandbox.
Il est fortement recommandé de tester le plus de flux commerciaux possible pour s’assurer qu’ils fonctionnent correctement et pour se familiariser avec la nouvelle version.
Check-list des tests de base
Il y a-t-il des vues qui sont désactivées dans votre base de données de test, mais actives dans votre base de données de production ?
Vos vues habituelles s’affichent-elles correctement ?
Vos rapports (facture, commande, etc.) sont-ils correctement générés ?
Les pages de votre site web fonctionnent-ils correctement ?
Êtes-vous en mesure de créer et de modifier des enregistrements ? (commandes, factures, bons de commande, utilisateurs, contacts, sociétés, etc.)
Rencontrez-vous des problèmes avec vos modèles d’email ?
Rencontrez-vous des problèmes avec les traductions enregistrées ?
Vos filtres de recherche sont-ils toujours présents ?
Pouvez-vous exporter vos données ?
Vérifier un produit aléatoire dans votre catalogue de produits et comparer ses données de test et de production pour vérifie que tout est identique (catégorie de produit, prix de vente, coût, fournisseur, comptes, routes, etc.).
Acheter ce produit (application Achats)
Confirmer la réception de ce produit (application Inventaire).
Vérifier si la route pour recevoir ce produit est la même dans votre base de données de production (application Inventaire).
Vendre ce produit (application Ventes) à un client aléatoire.
Ouvrir votre base de données client (application Contacts), sélectionner un client (ou une société) et vérifier ses données.
Expédier ce produit (application Inventaire).
Vérifier si la route pour expédier ce produit est la même que dans votre base de données de production (application Inventaire).
Valider la facture d’un client (application Facturation ou Comptabilité).
Créditer la facture (émettre un avoir) et vérifier si le comportement est le même que dans votre base de données de production.
Vérifier les résultats de vos rapports (application Comptabilité).
Vérifier vos taxes, devises, comptes bancaires et exercice fiscal de manière aléatoire (application Comptabilité).
Placer une commande en ligne (applications Site Web) à partir de la sélection de produits dans votre boutique jusqu’au passage en caisse et vérifier si le comportement est le même que dans votre base de données de production.
Cette liste n’est pas exhaustive. Étendez l’exemple à vos autres applications en fonction de votre utilisation d’Odoo.
If you face an issue while testing your upgraded test database, you can request the assistance of Odoo by going to the Support page and selecting « An issue related to my future upgrade (I am testing an upgrade) ». In any case, it is essential to report any problem encountered during the testing to fix it before upgrading your production database.
Il se peut que vous rencontriez des différentes significatives avec les vues, fonctionnalités, champs et modèles standards pendant les tests. Ces changements ne peuvent pas être annulés au cas par cas. Cependant, si un changement introduit par une nouvelle version casse une personnalisation, il est de la respons
Astuce
N’oubliez pas de tester :
Les intégrations avec les logiciels externes (EDI, APIs, etc.)
Les flux de travail entre différentes applications (ventes en ligne avec eCommerce, convertir une piste en commande, livraison de produits, etc.)
Les exports de données
Actions automatisées
Les actions serveur dans le menu d’action sur les formulaires, ainsi qu’en sélectionnant plusieurs enregistrements sur les vues de liste.
Mettre à niveau la base de données de production¶
Once the tests are completed and you are confident that the upgraded database can be used as your main database without any issues, it is time to plan the go-live day.
Votre base de données de production ne sera pas disponible pendant sa mise à niveau. Par conséquent, nous vous recommandons de planifier la mise à niveau à un moment où l’utilisation de la base de données est minimale.
Comme les scripts de mise à niveau standard et votre base de données évoluent constamment, il est également recommandé de demander fréquemment une autre base de données de test mise à niveau pour s’assurer que le processus de mise à niveau est toujours réussi, en particulier s’il prend beaucoup de temps à se terminer. Il est également recommandé de répéter entièrement le processus de mise à niveau la veille de la mise à niveau de la base de données de production.
Important
La mise en production sans avoir effectué de tests préalables peut entraîner :
Des utilisateurs qui ne s’adaptent pas aux changements et aux nouvelles fonctionnalités
Des interruptions d’activité (par ex. ne plus avoir la possibilité de valider une action)
Une mauvaise expérience client (par ex. un site web d’eCommerce qui ne fonctionne pas correctement)
The process of upgrading a production database is similar to upgrading a test database, but with a few exceptions.
The process is similar to obtaining an upgraded test database, except for the purpose option, which must be set to Production instead of Test.
Avertissement
Une fois que la mise à niveau est demandée, la base de données ne sera pas disponible jusqu’à la fin de la mise à niveau. Une fois le processus terminé, il est impossible de revenir à la version précédente.
The process is similar to obtaining an upgraded test database on the Production branch.
Le processus est déclenché dès qu’un nouveau commit est effectué sur la branche. Cela permet de synchroniser le processus de mise à niveau avec le déploiement du code source mis à niveau des modules personnalisés. S’il n’y a pas de modules personnalisés, le processus de mise à niveau est déclenché immédiatement.
Important
La base de données n’est pas disponible pendant le processus. En cas de problème, la plateforme annule automatiquement la mise à niveau, comme elle le fait pour une mise à jour régulière. En cas de réussite, une sauvegarde de la base de données avant la mise à niveau est créée.
La mise à jour de vos modules personnalisés doit être réussie pour compléter le processus de mise à niveau. Assurez-vous que le statut de votre mise à jour de staging est réussi avant de l’essayer en production. Plus d’informations sur la façon de mettre à niveau vos modules personnalisés peuvent être trouvées sur Upgrade a customized database.
La commande de mise à niveau d’une base de données vers la production est similaire à celle de la mise à niveau d’une base de données de test à l’exception de l’argument test, qui doit être remplacé par production:
$ python <(curl -s https://upgrade.odoo.com/upgrade) production -d <your db name> -t <target version>
An upgraded production database can also be requested via the Upgrade page.
Once the database is uploaded, any modification to your production database will not be present on your upgraded database. This is why we recommend not using it during the upgrade process.
Important
Lors de la demande d’une base de données mise à niveau à des fins de production, la copie est soumise sans mémoire fichier. Par conséquent, le mémoire fichier de la base de données mise à niveau doit être fusionné avec le mémoire fichier de production avant de déployer la nouvelle version.
En cas de problème avec votre base de données de production, vous pouvez demander l’assistance d’Odoo en vous rendant sur la page Support et en sélectionnant « Un problème lié à ma mise à niveau (production) ».
Accord de niveau de service (SLA)¶
Avec Odoo Enterprise, la mise à niveau d’une base de données vers la version la plus récente d’Odoo est gratuite, y compris toute assistance nécessaire pour rectifier les écarts potentiels dans la base de données mise à niveau.
Des informations sur les services de mise à niveau inclus dans la licence d’entreprise sont disponibles dans le contrat d’abonnement Odoo Enterprise Subscription Agreement. Cependant, cette section clarifie les services de mise à niveau auxquels vous pouvez vous attendre.
Services de mise à niveau couverts par le SLA¶
Les bases de données hébergées sur les plateformes cloud d’Odoo (Odoo Online et Odoo.sh) ou hébergées sur vos serveurs (On-Premise) bénéficient des services de mise à niveau suivants à tout moment :
la mise à niveau de toutes les applications standards ;
la mise à niveau de toutes les personnalisations créées avec l’application Studio, tant que Studio reste installée et que l’abonnement correspondant est toujours actif ; et
la mise à niveau de tous les développements et personnalisations couverts par un abonnement de maintenance des personnalisations.
Les services de mise à niveau sont limités à la conversion technique et à l’adaptation d’une base de données (modules et données standards) pour les rendre compatibles avec la version ciblée par la mise à niveau.
Services de mise à niveau non couverts par le SLA¶
Les services de mise à niveau suivants ne sont pas inclus :
le nettoyage des données et des configurations préexistantes lors de la mise à niveau ;
la mise à niveau de modules supplémentaires non couverts par un contrat de maintenance créés en interne ou par des tiers, y compris les partenaires Odoo ; et
la formation à l’utilisation des fonctionnalités et des flux de travail de la version mise à jour.