Sortie de PrestaShop 9.1 : Hummingbird 2.0, livraison multi-transporteur et guide de migration
PrestaShop 9.1.0 est maintenant disponible. La version stable est sortie le 23 mars 2026 après la RC1 du 5 mars, et c'est la mise à jour la plus significative depuis que PrestaShop 9.0 est passé de Symfony 4.4 à 6.4 LTS.
🎉 MISE À JOUR — 24 mars 2026 : PrestaShop 9.1.0 est officiellement disponible ! La version stable est sortie le 23 mars 2026. Hummingbird 2.0 est le thème par défaut des installations PS 9.1 neuves, la livraison multi-transporteur et le nouveau système de remises sont disponibles derrière des feature flags, et PHP 8.1–8.5 est supporté. Téléchargez-le sur prestashop.com/versions ou depuis GitHub. Côté modules, nous les avons tous passés sur une installation 9.1 et les parcours évidents fonctionnent ; nous continuerons à signaler les cas limites à mesure que nous les trouvons.
Si vous attendiez le bon moment pour migrer depuis une ancienne version de PrestaShop, 9.1 offre des arguments solides. Voici tout ce que vous devez savoir — des fonctionnalités phares aux checklists de migration, en passant par les pièges les plus courants que nous avons rencontrés en pratique.
Hummingbird 2.0 — Le thème par défaut des installations neuves
Le changement le plus visible : Hummingbird est désormais le thème par défaut sur les installations PS 9.1 neuves. Le Hummingbird original était livré avec PrestaShop 9.0 comme thème moderne optionnel. La version 2.0 est une refonte complète :
- Bootstrap 5.3.3 — contre la version alpha utilisée dans Hummingbird 1.x. Cela apporte un véritable support du mode sombre, des utilitaires améliorés et une API stable pour les thèmes enfants.
- Plus de 95 % de conformité EAA — l’équipe PrestaShop annonce ce niveau de conformité à la loi européenne sur l’accessibilité, entrée en vigueur en juin 2025. C’est mieux, mais ce n’est pas 100 % : testez toujours vos propres parcours avant de livrer à un acheteur soumis à cette réglementation.
- jQuery officiellement déprécié — jQuery est toujours présent mais marqué pour suppression dans PrestaShop 10. Si vous développez de nouveaux modules ou thèmes, écrivez du JavaScript natif dès maintenant.
- Nouvelles conventions JS —
data-ps-ref,data-ps-action,data-ps-targetremplacent les sélecteurs CSS arbitraires pour les liaisons JavaScript. Cela rend les thèmes plus résistants aux changements CSS. - Nouveaux hooks —
displayOrderDetailetdisplayModalContentsont ajoutés.displaySearchest supprimé.
Si vous utilisez le thème Classic sur 1.7 ou 8.x, c'est un bond en avant considérable en termes de performance et de maintenabilité. La création de thèmes enfants pour Hummingbird 2.0 est simple — nous avons couvert le processus dans notre guide sur les thèmes enfants.
Ce qui a changé entre Hummingbird 1.x et 2.0
Si vous avez déjà créé un thème enfant pour Hummingbird original, voici ce que vous devez mettre à jour :
- Migration des classes CSS — Bootstrap 5.3 a renommé plusieurs classes utilitaires.
ml-*etmr-*deviennentms-*etme-*.data-toggledevientdata-bs-toggle..custom-controldevient.form-check. Si votre thème enfant surcharge l'une de ces classes, mettez-les à jour. - Sélecteurs JavaScript — l'ancienne convention qui ciblait les éléments par classe CSS (
.product-add-to-cart) est remplacée par les attributsdata-ps-ref. Le JavaScript des modules qui s'appuie sur des sélecteurs basés sur les classes doit être migré progressivement. - Système de couleurs — Bootstrap 5.3 utilise davantage les propriétés CSS personnalisées. Surcharger les couleurs via les seules variables
:rootpeut ne pas fonctionner pour les composants qui compilent leurs propres valeurs. Vous aurez peut-être besoin de surcharges au niveau des composants, comme.btn-primary { --bs-btn-bg: #votrecouleur; }.
Livraison multi-transporteur — enfin !
C'est l'une des fonctionnalités les plus demandées de l'histoire de PrestaShop. Les commandes peuvent désormais comporter plusieurs expéditions avec des transporteurs différents.
Dans toutes les versions de PrestaShop jusqu'à 9.0, une commande correspondait à un seul transporteur. Si un client commandait un petit article et un article volumineux nécessitant un mode de livraison différent, il fallait trouver des contournements — séparer les commandes manuellement, utiliser des modules personnalisés, ou simplement choisir un transporteur et faire avec.
PrestaShop 9.1 introduit l'attribution de transporteur au niveau de l'expédition :
- Diviser une commande en plusieurs expéditions, chacune avec son propre transporteur et numéro de suivi
- Regrouper les expéditions si les plans changent
- Suivre chaque expédition indépendamment tout au long du cycle de vie de la commande
- Dates de livraison et statuts différents par expédition
Cette fonctionnalité est disponible derrière un feature flag et l'API pourra évoluer dans les versions futures, mais la base est solide. Pour les boutiques qui vendent des types de produits mixtes (mobilier + accessoires, équipements + consommables), cela élimine un véritable casse-tête opérationnel.
Si vous gérez une boutique où différents produits sont expédiés depuis différents entrepôts ou via différents transporteurs (DHL pour les petits colis, fret pour les articles volumineux), c'est la mise à jour que vous attendiez.
Système de réductions repensé
Le système de règles de panier hérité a été remplacé par une architecture plus propre. Le nouveau système de réductions introduit quatre types distincts :
- Réductions catalogue — appliquées aux produits avant qu'ils n'atteignent le panier
- Réductions panier — appliquées à la caisse selon des conditions
- Livraison gratuite — comme type de réduction indépendant, et non plus un simple indicateur de règle de panier
- Cadeau gratuit — ajout automatique de produits au panier
Ce système est également derrière un feature flag et désactivé par défaut dans la 9.1. Les règles de panier héritées continuent de fonctionner. Mais le nouveau système est nettement plus facile à gérer et plus performant — si vous avez déjà vu une boutique avec plus de 500 règles de panier aller à la vitesse d'un escargot, vous comprenez pourquoi c'est important.
La séparation en types distincts clarifie également les rapports. Vous pouvez voir exactement combien de revenus vous avez perdu à cause de la livraison gratuite par rapport aux remises en pourcentage, sans avoir à analyser un journal de règles de panier monolithique.
Améliorations pour les développeurs
Au-delà des fonctionnalités phares, la 9.1 embarque de nombreuses améliorations côté développeur :
- Nouveaux hooks :
actionModuleEnable,actionModuleDisable,actionModuleUpgradeAfter,actionConfigurationUpdateValueBefore - Nouvelles commandes CLI :
prestashop:thumbnails:regenerate,prestashop:search:index,prestashop:module:export-translations - Améliorations de l'auto-mapping Doctrine pour les entités des modules
- Support de PHP 8.1 à 8.4 (la compatibilité avec 8.5 est en cours de test)
- Taux de TVA mis à jour pour l'Estonie et la Roumanie
- Bibliothèques de graphiques D3 et NVD3 mises à jour — les widgets du tableau de bord peuvent nécessiter des tests
- Thème Classic mis à jour en version 3.1.1 pour les boutiques qui l'utilisent encore
Le hook actionModuleUpgradeAfter est particulièrement utile pour les développeurs de modules — il permet d'exécuter une logique post-mise à jour (vidage du cache, migration de configuration) de manière fiable, sans dépendre de l'ordre d'appel des scripts de mise à niveau du module.
Les nouvelles commandes CLI éliminent les tâches administratives courantes qui nécessitaient auparavant de cliquer dans le back-office. prestashop:thumbnails:regenerate à lui seul fera gagner du temps lors des déploiements pour les boutiques qui gèrent les images produits via des scripts ou des pipelines CI/CD.
Pourquoi 9.1 est la meilleure cible de migration
Nous recevons cette question en permanence : « Je suis sur PrestaShop 1.6 (ou 1.7, ou 8.x) — dois-je migrer maintenant ou attendre ? »
Notre réponse depuis l'année dernière a été « attendez la 9.1 ». Voici pourquoi :
Si vous êtes sur PrestaShop 1.6
Vous utilisez un logiciel en fin de vie depuis octobre 2023. Plus aucun correctif de sécurité, plus aucune mise à jour de compatibilité, plus aucun support de modules. PHP 7.x approche également de sa fin de vie chez la plupart des hébergeurs. Chaque mois d'attente augmente le risque de sécurité et le coût de la migration future.
PS 9.1 sur Symfony 6.4 LTS vous offre une plateforme qui sera supportée jusqu'en 2027 et au-delà. Le saut est important, mais il ne fait que s'agrandir avec le temps.
À quoi s'attendre : Une migration 1.6 → 9.1 est essentiellement une reconstruction. Vos données (produits, clients, commandes) peuvent être migrées, mais votre thème devra être reconstruit de zéro (thème enfant Hummingbird 2.0 ou nouveau thème), et la plupart des modules devront être remplacés. Prévoyez 2 à 6 semaines selon la complexité de la boutique.
Étapes clés :
- Installer une nouvelle installation PrestaShop 9.1 sur un serveur de staging
- Exporter votre catalogue produits, base de données clients et historique des commandes depuis la 1.6
- Importer les données dans la 9.1 en utilisant les outils d'importation ou des scripts de migration directe en base de données
- Installer et configurer vos modules — tester chacun individuellement
- Construire ou personnaliser votre thème (commencer par un thème enfant Hummingbird 2.0)
- Mettre en place des redirections 301 des anciennes URLs vers la nouvelle structure d'URLs
- Tester minutieusement : tunnel de commande, passerelles de paiement, calculs de livraison, notifications par e-mail
- Planifier la bascule DNS sur une période de faible trafic
Si vous êtes sur PrestaShop 1.7
La 1.7 était la version « transitionnelle » — mi-legacy, mi-Symfony. De nombreux modules et thèmes ont été conçus autour de son architecture hybride. PS 9.1 poursuit fortement cette migration vers Symfony, mais elle ne la termine pas : des contrôleurs d’administration legacy basés sur Smarty existent encore et s’exécutent via LegacyController. L’API est moderne (API Platform), et la couche thème dispose enfin d’un thème par défaut correct et accessible.
La compatibilité des modules est bonne. La plupart des modules bien maintenus supportent déjà le chemin 1.7 → 9.x. L'effort est modéré et le gain est substantiel.
À quoi s'attendre : PrestaShop fournit le module Update Assistant (anciennement autoupgrade) pour les mises à niveau en place. Pour 1.7 → 9.1, c'est le chemin recommandé. Cependant, nous recommandons vivement de tester d'abord sur une copie de staging — ne mettez jamais à niveau la production directement.
Problèmes courants lors des migrations 1.7 → 9.1 :
- Fichiers d'override — si vous avez des overrides PHP dans
override/classes/, ils peuvent entrer en conflit avec la nouvelle architecture Symfony. Examinez chacun d'eux et envisagez de les remplacer par des hooks ou des alternatives basées sur des modules. - Fonctions dépréciées —
Tools::displayPrice()est supprimée.AdminController::ajaxDie()est supprimée. Si vos modules personnalisés utilisent ces fonctions, ils doivent être mis à jour. - Compatibilité des thèmes — les thèmes basés sur Classic de la 1.7 fonctionnent généralement sur 9.x mais peuvent présenter des défauts visuels. Les thèmes Hummingbird de la 1.x nécessitent la migration Bootstrap mentionnée ci-dessus.
- Version PHP — PS 9.1 requiert PHP 8.1 minimum. Si votre hébergeur est encore sur 7.4 ou 8.0, mettez d'abord à niveau PHP.
Si vous êtes sur PrestaShop 8.x
C'est le chemin de mise à niveau le plus simple. Le passage de PS 8 à 9 correspondait au saut Symfony 4.4 → 6.4 avec une nouvelle API d'administration. Le passage de PS 9.0 à 9.1 est une mise à niveau incrémentale en douceur. Si vos modules sont déjà compatibles 9.0, la 9.1 devrait fonctionner avec des tests minimaux.
Les principales raisons de migrer : Hummingbird 2.0 est un meilleur thème que Classic, la livraison multi-transporteur résout de vrais problèmes opérationnels, et vous bénéficiez de mises à jour continues de sécurité et de performance.
À quoi s'attendre : Utilisez le module Update Assistant. Le chemin 8.x → 9.1 est bien testé. Principales zones à vérifier après la mise à niveau : personnalisations de l'administration (l'API d'admin a changé dans la 9.0), tous les modules qui s'accrochent au flux des commandes (la livraison multi-transporteur modifie le modèle objet des commandes), et les widgets du tableau de bord (mise à jour de la bibliothèque D3).
La vision à long terme
PrestaShop 10 est à l'horizon. jQuery sera entièrement supprimé. L'administration poursuivra sa modernisation Symfony. Le checkout en une page que les marchands attendent depuis des années a vu ses premiers commits fusionnés et est ciblé pour une future version mineure. Les fonctionnalités B2B sont également en cours d'intégration dans le cœur du système.
PS 9.1 sur Symfony 6.4 LTS est la version de PrestaShop la plus stable, la plus moderne et la plus pérenne disponible aujourd'hui. Migrer maintenant signifie que vous êtes sur la plateforme qui recevra des correctifs de sécurité, de nouvelles fonctionnalités et l'attention de la communauté pour les années à venir. Rester sur 1.6 ou 1.7 signifie que vous êtes sur une plateforme déjà abandonnée.
Checklist de migration
Quelle que soit votre version de départ, voici une checklist universelle pour migrer vers PrestaShop 9.1 :
- Auditez votre boutique actuelle — listez tous les modules, les personnalisations de thème, les overrides et les intégrations (passerelles de paiement, ERP, APIs de livraison)
- Vérifiez la compatibilité des modules — contactez chaque développeur de module ou consultez leur documentation pour le support 9.x. Remplacez les modules non supportés avant de migrer.
- Mettez en place un environnement de staging — clonez votre base de données et vos fichiers de production sur un serveur séparé. Ne testez jamais en production.
- Mettez à niveau PHP — PS 9.1 requiert PHP 8.1+. Nous recommandons la 8.2 ou 8.3 pour le meilleur équilibre entre performance et compatibilité.
- Lancez l'Update Assistant — pour les boutiques en 1.7+, utilisez le module de mise à niveau officiel de PrestaShop. Pour la 1.6, faites une installation fraîche et migrez les données.
- Testez tous les tunnels de commande — passez des commandes de test avec chaque méthode de paiement et option de livraison. Vérifiez que les notifications par e-mail sont bien envoyées.
- Vérifiez la structure des URLs — assurez-vous que vos URLs SEO-friendly sont préservées. Mettez en place des redirections 301 pour toutes les URLs qui ont changé.
- Vérifiez l'OPcache — après le déploiement, réinitialisez l'OPcache via une requête web (pas en CLI). C'est un piège classique qui provoque des « écrans blancs » après une mise à niveau.
- Surveillez pendant 48 heures — surveillez attentivement les journaux d'erreurs, les taux de conversion au checkout et les temps de chargement des pages après la mise en production.
Pièges courants lors de la migration
Nous avons aidé des dizaines de boutiques à migrer entre les versions de PrestaShop. Voici les problèmes qui surprennent le plus souvent :
- Les fichiers d'override qui cassent silencieusement — le système d'override de PrestaShop charge
override/classes/Foo.phpà la place declasses/Foo.php. Un override obsolète peut casser des fonctionnalités sans aucune erreur visible. Examinez et supprimez toujours les overrides inutiles avant de migrer. - L'OPcache qui sert l'ancien code — après l'envoi des nouveaux fichiers, le serveur web peut encore servir le bytecode mis en cache de l'ancienne version. Réinitialisez toujours l'OPcache via un script PHP accessible via le web, pas en CLI (ils ont des pools de cache séparés).
- Colonnes de base de données manquantes — les modules personnalisés qui ajoutent des colonnes aux tables du cœur peuvent entrer en conflit avec les changements de schéma dans la 9.1. Comparez le SQL de mise à niveau (
upgrade/sql/9.1.0.sql) avec vos modifications de schéma personnalisées. - Webhooks de passerelles de paiement — si vous changez votre domaine ou structure d'URLs lors de la migration, mettez à jour vos URLs de webhooks chez Stripe, PayPal et autres prestataires de paiement. Des webhooks manqués signifient des confirmations de commande manquées.
- Cron jobs pointant vers d'anciens chemins — PrestaShop 9.x a modifié certains points d'entrée des crons. Vérifiez que toutes les tâches planifiées fonctionnent encore après la mise à niveau.
- Templates d'e-mail — PS 9.x utilise un moteur de templates d'e-mail différent. Les templates d'e-mail personnalisés de la 1.7 peuvent ne pas s'afficher correctement. Testez tous les e-mails transactionnels.
Performance : à quoi s'attendre
PrestaShop 9.1 sur Symfony 6.4 est mesurément plus rapide que les versions anciennes pour plusieurs raisons :
- Compilation du conteneur Symfony 6.4 — le conteneur d'injection de dépendances se compile plus efficacement, réduisant le temps de démarrage.
- Poids front-end de Hummingbird 2.0 — le nouveau thème embarque moins de CSS et de JavaScript que Classic. Avec jQuery déprécié, la charge JS totale est plus légère sur les nouvelles installations.
- Compilation JIT de PHP 8.x — si vous migrez depuis un environnement PHP 7.x, le compilateur JIT de PHP 8 offre à lui seul une amélioration de performance de 10 à 30 % pour les charges de travail PrestaShop typiques.
- Mise en cache améliorée — le cache HTTP de Symfony 6.4 et la mise en cache des requêtes Doctrine sont plus matures que leurs équivalents de la 4.4 utilisés dans les anciennes versions de PS.
Sur notre propre environnement de test, une boutique PrestaShop 9.1 avec 5 000 produits sert les pages de catégories en ~120 ms (TTFB) contre ~250 ms sur le même matériel avec la 1.7 et le thème Classic. Vos résultats varieront selon l'hébergement, les modules et la configuration — mais la tendance est claire.
Et nos modules ?
Les 140+ modules mypresta.rocks ont été passés sur PrestaShop 9.1. Nous utilisons la 9.x en interne depuis la bêta. Nos modules supportent PrestaShop 1.7 jusqu'à la 9.1 avec une base de code unique — pas de versions séparées, pas de forks de compatibilité.
Quelques notes de compatibilité spécifiques pour la 9.1 :
- Contrôleurs admin — nos modules utilisent un framework d'administration partagé qui gère automatiquement l'encapsulation Symfony. La navigation par onglets parent, les fils d'Ariane et la barre latérale fonctionnent correctement dans le nouveau layout d'administration.
- Traduction — nous utilisons
$this->module->l()qui fonctionne sur toutes les versions de PS. La suppression de$this->l()dans les contrôleurs admin n'affecte pas nos modules. - Formatage des prix — nous gérons la suppression de
Tools::displayPrice()avec un helper rétrocompatible qui utilise le formateur basé sur les locales moderne sur la 9.x et bascule en fallback sur les versions plus anciennes.
Si vous planifiez une migration et souhaitez tester nos modules en avance, téléchargez une démo gratuite de 30 jours de n'importe quel module et testez-la sur votre environnement de staging. Nous proposons également des services de conseil en migration si vous avez besoin d'une aide concrète.
Foire aux questions
Puis-je passer directement de la 1.7 à la 9.1 en sautant PrestaShop 8 ?
Oui. L'Update Assistant supporte les mises à niveau directes de la 1.7.x vers la 9.x. Vous n'avez pas besoin d'installer la 8.x comme étape intermédiaire. Assurez-vous cependant que tous vos modules sont compatibles 9.x avant de migrer.
Mon thème Classic fonctionnera-t-il encore sur la 9.1 ?
Oui. Le thème Classic est mis à jour en version 3.1.1 dans PS 9.1. Il n'est plus le thème par défaut pour les nouvelles installations, mais il reste entièrement supporté. Si votre boutique utilise un thème enfant Classic, il devrait continuer à fonctionner avec des ajustements mineurs.
La fonctionnalité multi-transporteur est-elle prête pour la production ?
Elle est disponible derrière un feature flag, ce qui signifie que PrestaShop la considère suffisamment stable pour la production mais se réserve le droit de modifier l'API dans les futures versions. Si la livraison multi-transporteur est critique pour votre activité, activez le feature flag et testez minutieusement en staging avant de passer en production.
Quelle version de PHP dois-je utiliser ?
Nous recommandons PHP 8.2 ou 8.3 pour les boutiques de production prudentes. PHP 8.1 est la version minimale requise, et PrestaShop 9.1 prend en charge PHP 8.4 et PHP 8.5. Testez toutefois votre pile de modules avant de passer la production à la branche PHP la plus récente.
Combien de temps prend généralement une migration ?
Cela dépend entièrement de votre point de départ et de la complexité de votre boutique. Une simple mise à niveau 8.x → 9.1 peut être réalisée en une après-midi. Une migration 1.7 → 9.1 avec 20 modules ou plus prend généralement 1 à 2 semaines de tests. Une migration 1.6 → 9.1 avec reconstruction du thème peut prendre 2 à 6 semaines. Prévoyez du temps pour les tests — le processus de mise à niveau en lui-même est rapide, mais vérifier que tout fonctionne correctement représente l'essentiel de l'effort.
Faut-il attendre ou commencer à préparer maintenant ?
Commencez à préparer maintenant. PrestaShop 9.1.0 est déjà stable, donc la prochaine étape est une mise à niveau en staging : auditer les modules, tester le checkout, vérifier le thème, puis seulement planifier la migration en production.
EO2S — Le premier Ecommerce Open Source Summit
Mise à jour, mai 2026 : EO2S 2026 a maintenant eu lieu. Cette section reste comme contexte historique sur l'importance de la version 9.1 pour la communauté PrestaShop.
En résumé
PrestaShop 9.1 n'est pas une révolution — la 9.0 était la révolution (Symfony 6.4, nouvelle API d'administration, architecture moderne). La 9.1 est la version qui rend la fondation de la 9.0 pratique et aboutie : un thème moderne prêt pour la production, la flexibilité de livraison dont les marchands ont besoin, et un système de réductions plus propre.
Que vous soyez sur 1.6, 1.7 ou 8.x — c'est la version vers laquelle migrer. Plus vous attendez, plus l'écart se creuse et plus la migration future sera coûteuse. PrestaShop 9.1 vous offre une plateforme moderne, supportée et pérenne qui portera votre boutique pendant plusieurs années.
Si vous attendiez, l'attente est terminée. C'est la version à cibler.
Articles Connexes
- CSS et JavaScript personnalisés dans PrestaShop sans casser les mises à jour
Commentaires
Aucun commentaire pour le moment. Soyez le premier !
Soyez le premier à poser une question ou à partager un retour utile.
Laisser un commentaire
Partagez une question, un détail de pose ou un retour qui pourrait aider un autre lecteur.