WordPress Gutenberg : uploads massifs, un cauchemar technique

État des lieux : Gutenberg et les uploads massifs, un fiasco technique

Vous venez de passer une heure à trier 60 photos pour votre dernier article WordPress. Vous glissez joyeusement vos fichiers dans le bloc “Galerie” de Gutenberg, pensant que l’éditeur moderne va tout gérer en un clin d’œil. Erreur fatale. Vingt minutes plus tard, vous êtes face à une cascade d’erreurs JSON, des timeouts Cloudflare, et une moitié de vos images portée disparue. Frustrant ? Inacceptable pour un CMS comme WordPress. Cet article décrypte pourquoi Gutenberg échoue sur les uploads massifs et comment y remédier.

Symptômes : un parcours du combattant pour les uploads massifs

Tentez d’uploader plusieurs dizaines de photos via le bloc “Galerie”, et voici le chaos qui vous attend :

Le pire ? La même opération dans la médiathèque (upload.php) fonctionne parfaitement. Pourquoi ? Parce qu’elle utilise async-upload.php, qui traite les fichiers séquentiellement, contrairement aux appels REST parallèles et chaotiques de Gutenberg.

Diagnostic : Gutenberg, mal conçu pour les lots de fichiers

Le problème ne vient ni de WordPress en général, ni de votre serveur, mais de la conception de Gutenberg :

Le problème d’upload de Gutenberg vient du module @wordpress/media-utils, qui utilise apiFetch() sans file d’attente. Une solution durable nécessiterait un patch upstream dans le Core WordPress, via une Pull Request sur le dépôt GitHub de Gutenberg.

Pourquoi ce silence des développeurs ?

Ce problème d’upload massif n’est pas nouveau. Des utilisateurs le signalent depuis des années sur le Trac WordPress et dans des issues GitHub. Pourtant, l’équipe Gutenberg semble sourde à ces plaintes, concentrée sur des fonctionnalités comme les blocs dynamiques ou l’interface utilisateur, plutôt que sur des cas d’usage concrets comme ceux des photographes ou des médias manipulant des lots d’images. Cette focalisation sur un usage “blog individuel” ignore les besoins des utilisateurs professionnels, poussant les développeurs indépendants à bricoler des solutions palliatives.

Solutions de contournement : retrouver un workflow fluide

1. Uploader via la médiathèque (upload.php)

La médiathèque utilise async-upload.php, qui traite les fichiers un par un. Allez dans Médias > Ajouter un fichier média, uploadez vos images, puis insérez-les dans une galerie Gutenberg. Simple, stable, mais cela brise le flux intégré de l’éditeur.

2. Limiter les uploads parallèles avec un script

Un script JavaScript pourrait intercepter les requêtes REST /wp/v2/media et les sérialiser pour éviter les conflits liés aux uploads parallèles. Mais cette solution n’est pas native et peut entrer en conflit avec d’autres plugins qui modifient ou étendent le fonctionnement de apiFetch(). De plus, elle peut nécessiter une maintenance régulière pour rester compatible avec les évolutions de Gutenberg.

3. Modifier le comportement natif de Gutenberg

Surchargez le composant MediaUpload via un filtre JavaScript, mais il s’agirait d’un hack fragile (car dépendant de l’API interne de Gutenberg, qui peut changer à chaque mise à jour) qui peut casser l’intégration moderne et poser des problèmes d’affichage.

4. Explorer les plugins tiers

Certains plugins de galerie (comme Envira Gallery, Modula ou NextGEN Gallery) contournent les limitations de Gutenberg en utilisant leurs propres systèmes d’upload. Ils offrent souvent des interfaces optimisées pour les lots d’images, avec des options comme l’upload par glisser-déposer ou la gestion hors Gutenberg. Testez-les pour voir s’ils répondent à vos besoins, mais vérifiez leur impact sur les performances.

Conclusion : une régression à corriger

L’upload de médias est une fonction essentielle pour un CMS. Pourtant, Gutenberg transforme cette tâche simple en cauchemar pour les photographes, journalistes et blogueurs manipulant des lots de fichiers. En comparaison, l’ancien éditeur et async-upload.php restent des modèles de stabilité.

Les solutions proposées – du contournement rapide au plugin sur mesure – permettent de retrouver un workflow fluide. Mais elles ne masquent pas une réalité : Gutenberg doit évoluer pour répondre aux besoins des utilisateurs professionnels. En attendant un correctif officiel, faisons avancer WordPress !

Article publié le et actualisé le .


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *