Gifs intégrés dans les posts mis en pause après téléchargement local

Bonjour,

Je rencontre un problème lors de l’intégration de GIF personnalisés (créés avec ScreenToGif) dans des messages Discourse. Lorsqu’un GIF est intégré, il fonctionne un instant avant de se figer sur la première image, comme dans cet exemple :

Il semble fonctionner correctement dans l’aperçu du message. De plus, lorsque j’ouvre le GIF téléchargé dans un nouvel onglet, il fonctionne également. Le problème ne se produit que sur Discourse lui-même.

J’ai essayé quatre solutions de contournement :

  1. Télécharger le GIF sur un autre site (par exemple un bucket S3), puis y ajouter un lien. Cela fonctionne jusqu’à ce que le bot du système le télécharge localement, moment où il se fige à nouveau.

  2. J’ai également pensé que cela pourrait être lié au redimensionnement, alors j’ai essayé de supprimer la syntaxe Markdown pour l’image, par exemple :

    ![](upload://4IHl8zz0sJiYl5Vm3H21YTEFo9z.gif)
    

    au lieu de :

    ![exemple|690x383](upload://4IHl8zz0sJiYl5Vm3H21YTEFo9z.gif)
    
  3. Puisque le GIF fonctionnait lorsque j’ai suivi le lien vers un nouvel onglet, j’ai essayé de remplacer l’URI abrégé “upload” par l’URL complète de l’image téléchargée, par exemple :

    ![exemple|690x383](https://d11a6trkgmumsb.cloudfront.net/original/3X/2/1/211635b9ae2b0960e8e135299b3a91189b00c289.gif)
    
  4. Enfin, j’ai pensé que le problème pourrait être lié à l’interprétation du code Markdown par Discourse, alors j’ai essayé d’utiliser une balise HTML brute avec l’URL complète de l’image téléchargée :

    <img src="https://d11a6trkgmumsb.cloudfront.net/original/3X/2/1/211635b9ae2b0960e8e135299b3a91189b00c289.gif">
    

Malheureusement, rien n’a fonctionné. Si je contrôlais le forum où je souhaite publier, je sais que je pourrais désactiver les téléchargements locaux. Mais malheureusement, je ne le peux pas !

Puisque cela fonctionne ici mais pas sur votre site, je vous suggère de reconstruire votre site et de réessayer. Nous avons apporté de nombreuses modifications récentes autour des GIF. Pendant certaines périodes, nous avons eu des bugs comme celui que vous signalez, et votre site peut être sur une version concernée.

Je ne pense pas que ce soit le problème. De mon côté, cela ne fonctionne pas. Je ne vois que la première image.

Est-il possible qu’un autre paramètre par défaut de Chrome fasse obstacle ?

Oh, je peux le reproduire sur Chrome. C’est très étrange.

Original

Optimisé via Gifscicle
weird_optimized

Après l’avoir passé par Gifscicle, cela fonctionne :

Merci d’avoir reproduit le problème. Quelle commande gifcicle avez-vous exécutée pour optimiser ?

C’est simple :

gifscicle original.gif -o fixed.gif

Au fait, Discourse prend en charge nativement la lecture automatique des fichiers MP4 et WEBP, ce qui pourrait vous donner de meilleurs résultats !

Je ne pense pas que ce soit une question de taille de fichier, car j’ai testé des GIFs beaucoup plus grands et plus petits sans succès.

Super, laissez-moi vérifier si cela fonctionne pour mes vrais GIF. Je ferai une mise à jour une fois terminé.

Ce n’est absolument pas une question de taille de fichier, mais d’un fichier « malformé » que gifscicle corrige. Il est courant de voir certains outils générer des fichiers défectueux. Je fais toujours passer mes GIF par un bon outil comme ffmpeg avant de les partager. Mais même ainsi, on peut facilement obtenir un fichier malformé si les dimensions sont impaires, par exemple.

Le format GIF est complexe, et il existe aujourd’hui de meilleures options comme MP4 et WEBP pour la plupart des applications.

Cela a fonctionné pour tous mes gifs. J’ai également dû ajouter le drapeau --colors 256 dans certains cas.

Pour ceux qui se demandent, j’ai généré les gifs à l’origine défectueux avec le générateur de gifs « Réseau de neurones » de ScreenToGif.

Merci pour votre aide @Falco

@nbianca as-tu une idée pourquoi la miniature du GIF n’est pas animée ? Il semble que le GIF original soit bien dans les limites.

C’est animé sur Firefox. C’est soit un GIF mal formé, soit un bug de Chrome.

Ça ne s’anime pas pour moi sur la dernière version de FF / Windows 10.

Intéressant ! Voici comment cela s’affiche pour moi sur Linux : Firefox à gauche, Chrome à droite :

Tous les GIF de ce sujet sont animés pour moi (Chrome sous Arch Linux), mais la version actuelle de FastImage indique qu’ils ne le sont pas à cause de ce bug.

Dans ce cas, nous devrions nous efforcer de faire fusionner cela plutôt plus tôt que plus tard :+1:

Pour ce que ça vaut, j’ai trouvé quelques cas où gifsicle ne fonctionne pas. Plus précisément, il est parfois nécessaire d’utiliser --colors 256 pour obtenir un GIF fonctionnel. Mais d’autres fois, il est nécessaire de ne pas inclure ce drapeau.

Bonjour,

La correction de votre problème a été acceptée et est désormais disponible dans la dernière version.