Publicité

Jeudi 12 juillet 2007
Ce bug a fait perdre des semaines à des dizaines d'usagers d'over-blog. Je crois avoir trouvé la cause : une mauvaise gestion de la limite (60 Ko) de longueur d'article. Du coup je prolonge ce blog, qui devait initialement durer quelques minutes mais qui suite à ce bug m'a pris des semaines. J'espère ainsi aider les usagers suivants et les développeurs à y perdre moins de temps que moi... Au passage, merci à OB pour cette plateforme que (malgré ce bug - tout le monde en a !) j'ai trouvée fonctionnelle et efficace, agréable et sympathique.
 
1) Pourquoi ce blog provisoire
 
Ce blog a été fait au départ pour préparer des petits compléments à l'article de Cécile sur la Namibie (spontané mais précis, charmant et entraînant) ; après être tombé dessus par hasard, et avoir été enchanté (avec un Merlin à chaque bout, c'est bien le moins !), j'ai pris contact avec son auteur inconnue "Cécile" pour lui suggérer d'ajouter une carte-itinéraire, elle m'a très gentiment répondu aussitôt, mais elle n'avait pas le temps. Pour lui préparer ces petits compléments (carte itinéraire, et pour cela noms, coordonnées géographiques et sites web des étapes et visites) sans trop la déranger (puisqu'elle est apparemment en train de déménager entre deux continents avec ses trois enfants) j'ai ouvert ce blog provisoire.
 
2) Le bug a frappé...
 
Ce qui devait être une affaire de minutes m'a en réalité pris des semaines. Comme souvent en informatique, cette science censée nous faire gagner du temps... Après une série de petites améliorations qui étaient passées sans encombre, je me suis retrouvé tout-à-coup avec un "layout" (plan de page) fortement désorganisé : apparemment, le contenu normal de la colonne de droite est passé en bas de celle de gauche, le contenu du footer de bas de page est passé en colonne droite.
 
3) Mais je ne suis pas le seul...
 
Je vais donc sur le Forum d'OB, et je m'aperçois qu'il y a un grand nombre de threads déclenchés par des personnes ayant eu leur layout subitement détruit ; le problème semble à 1ère vue chaque fois différent, il est difficile de trouver d'où il vient (quand il frappe on vient en général de changer pas mal de choses différetes, dans les articles, dans les CSS, dans la configuration, etc) mais après examen il semble souvent avoir exactement les même symptômes - et sans doute les mêmes causes.
 
4) Explication du bug.
 
 Je tente ici de l'expliquer sur mon cas, qui est apparemment le plus fréquent, celui d'un design standard à 4 conteneurs :
  1. un bandeau de tête sur toute la largeur de la page (header)
  2. une colonne principale large à gauche (pour l'article lui-même)
  3. une colonne de droite plus étroite (pour les catégories : calendrier, etc)
  4. un bandeau de pied de page sur toute la largeur (footer).
Ce qui se passe c'est apparemment qu'il y aurait dans le soft d'over-blog une mauvaise gestion du rescindement en pages multiples. En effet lorsque l'article soumis est trop long, le soft d'OB le coupe automatiquement en plusieurs pages web (la limite est apparemment de 60 Ko de source HTML par page web). Malheureusement lorsque le saut de page est proche du bas de l'article, le soft tronquerait le bas de l'article mais ne fabriquerait pas la nouvelle page, et du coup, supprimerait tout ou partie du code qui aurait séparé les 2 pages, mais qui devrait rester pour séparer les conteneurs. Ainsi la séparation entre conteneurs serait effacée, ce qui expliquerait les symptômes observés :
  • dans le conteneur 2 (col de gauche, article) il manque la fin du contenu. La partie perdue est petite et parfois indécelable.
  • le contenu du conteneur 3 (col de droite, catégories) passe en bas du conteneur 2 (col de gauche)
  • le contenu du conteneur 4 (bandeau bas, footer) passe dans le conteneur 3 (col de droite)
Le manque d'une séparation entre conteneurs affecte naturellement l'article en cause, mais aussi la page de l'Accueil du blog qui devrait contenir cette séparation.
 
5) Démonstration dans ce blog
 
J'ai supprimé tous mes essais (qui s'étendaient sur encore un autre blog), devenus inutiles maintenant que j'ai trouvé (je crois) la cause du désordre ; je n'ai donc laissé ci-après que les 4 étapes qui montrent que finalement le critère est bien (si j'ai deviné juste - mais aux développeurs qui ont accès au source du programme de voir) la longueur de l'article (ou de la page) et rien d'autre :
  1. Au départ tout allait bien. Je faisais mes divers tests pour peaufiner. Puis tout-à-coup le désordre est apparu, et ne voulait plus partir. Comme c'était juste après un changement dans les CSS j'ai essayé toutes sortes de retours en arrière sur les CSS, sans succès. Ce sont les essais maintenant inutiles.
  2. Puis je me suis aperçu qu'en entrant mon article en source HTML (OB > Administration > Publier > Articles > article à corriger > ToggleMode > Source), les désordres disparaissaient : Draft1 - Namibie juillet-août 2006 (hiver).
  3. Mais quelques jours après ils réapparaissaient : Avec qq modifs minimes, la Colonne de Droite est rejetée en bas !.
  4. Cependant il suffit de raccourcir légèrement l'article, sans retirer aucune des particularités qui venaient d'être ajoutées, pour voir l'ordre revenir : Article LÉGÈREMENT tronqué = Article OK (mais Accueil toujours désorganisé bien sûr).
  5. Je peux alors poster l'article final, il se trouve qu'une fois débarrassé des textes provisoires du brouillon, il devient assez court pour ne plus être affecté par les ennuis : Namibie juillet-août 2006 (hiver).
6) Remèdes proposés.
 
Il serait bon que l'usager ait un meilleur contrôle sur le découpage de l'article en pages. Lorsque l'auteur soumet un article trop long, le soft devrait lui refuser l'article, avec un message aimable, court mais clair et précis, du genre :
« le site over-blog n'accepte pas les pages dépassant 60 Ko de source HTML. Veuillez utiliser la fonction Scinder un article en plusieurs pages »
Je ne sais si une telle fonction existe déjà (si oui, elle n'est peut-être pas indiquée suffisamment et aux bons momennts), sinon il faudrait la créer, avec sa page de présentation (ou d'« aide »), en veillant à  ce que l'usager puisse définir lui-même les emplacements des sauts de pages. Dans un 1er temps on peut IMO laisser le système de publication d'articles tel qu'il est, et y ajouter juste une fonction transformant une suite d'articles" en "pages" d'un même article, liées entre elles par des liens de pagination standard.
 
En agissant ainsi on court-circuitera toutes les difficultés causées, aux développeurs comme aux usagers, par les différences entre longueurs de texte selon telle ou telle méthodes (en source HTML, ou autres).
Par Michel Merlin
- Voir les commentaires - Recommander
Retour à l'accueil

Calendrier

Novembre 2009
L M M J V S D
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
<< < > >>

Recherche

Commentaires Récents

Recommander

Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus