Le blog a retourné des données non valides. Et moi j’ai retourné le blog.

Un petit post rapide pour rassurer les visiteurs des cinq derniers jours sur ma santé mentale, et éventuellement pour servir de tutoriel à ceux qui seraient embêtés comme moi… Attention ce n’est pas du tout mon domaine, donc ne prenez pas tout pour parole d’Evangile (et il se peut que certains termes techniques aient été malmenés durant la rédaction de ce billet ;-))

Enoncé
Le week-end dernier, j’ai publié mon article « J’ai une mission pour toi » (initialement en p=211 et maintenant en 369, ce qui implique tout de même 158 modifications cette semaine). Tout se passait bien, jusqu’à ce que je fasse quelques corrections depuis mon PC, sur les conseils bien avisés de ma relectrice de Chérie… Juste après ces modifications sur PC (j’insiste) et le poste d’un commentaire, mon application WordPress iOS sur iPhone ne voulait plus mettre à jour la liste des articles, et me répondait « Le blog a retourné des données non valides ».

Problème
L’appli ne met plus à jour aucun article : je peux en écrire un sur l’appli, puis le retrouver sur internet (sur Firefox sur mon PC ou sur Safari sur iPhone). Par contre, si j’écris un billet sur un des deux navigateurs cités, il ne sera pas mis à jour sur l’appli… On comprendra aisément mon immense désarroi.

Développement
L’appli donne deux solutions à ce problème : lire la FAQ ou lire les forums.
La Foire Aux Questions répond : il faut vérifier que vous n’avez pas de caractères invalides avec W3C Markup Validator, et sinon mettre le thème par défaut et sans plug-in. Insuccès des deux manœuvres.
Sur les forums, je lis beaucoup de théories :

  • activer les protocoles XML-RPC et Atom pour communiquer avec l’iPhone : ok, je le sais déjà
  • mettre un fichier .htaccess contenant un mystérieux php 1 quand on est chez Free.fr (pour passer en PHP 5) : déjà fait pour pouvoir mettre le blog en ligne (pour info, la version 3.1.2 fonctionne chez Free)
  • reprendre wp-config voire tous les fichiers php de votre blog (grâce à Filezilla par exemple) et les éditer (avec Notepad++ mettons) pour les convertir en UTF-8 sans Byte Order Mark (BOM) : c’est long et ça ne sert à rien. Snif.
  • sacrifier une chèvre à l’autel de Free : done, useless.

Avec leurs histoires de caractères invalides dans la FAQ et d’UTF-8 sans BOM dans les forums (une vraie obsession), je me mets en tête que c’est un problème d’encodage, d’autant plus que tout a débuté quand j’ai fait des modifications sur mon PC. Après tout, peut-être que l’appli ne fait pas pareil que le reste (elle écrit sans BOM), et qu’elle ne supporte pas qu’un PC embaume l’article derrière elle.

Bon… Je reprends tout depuis le début…

  • Supprimer l’article permet effectivement à mon appli de se mettre à jour – enfin, c’est bien beau, mais je n’écris pas un article pour qu’il passe la moitié de son temps dans la corbeille tandis que j’en édite des nouveaux.
  • Copier l’article avant de le supprimer sur Safari (internet), et le coller comme un nouvel article dans l’appli WordPress.

Et là… ça marche ! Finies les « données non valides ».
Pour un temps.
Je remets alors le commentaire de nfkb (en modifiant l’ID du post auquel il fait référence dans PhpMyAdmin.free.fr, pour le passer de 211 à 369 donc, comme je disais en introduction), et juste derrière – BIM ! – « blog returned invalid data in your face, guy » (en français, mais les réponses sur les topics de forums sont en anglais, donc j’adapte un peu). Du coup, re-copier, re-supprimer, re-coller sans les commentaires… Sauf que cette fois, les données invalides persistent :'(
A ce stade, je persévère uniquement grâce à ma personnalité très légèrement obsessionnelle.

Comme je crois toujours que l’encodage a une particularité (peut-être les points de suspension, les guillemets, je comprends riiiiiiiiiiiien), j’essaie de supprimer sur Safari paragraphe par paragraphe en commençant par garder le dernier. Ça fonctionne jusqu’aux trois-quatre premiers paragraphes, qui me reposent le problème sur l’appli des « invalid data ». Je cherche désespérément des points communs entre ces paragraphes : de l’italique, des points de suspension…

Puis j’ai la bonne idée de faire la même manœuvre à l’envers : écrire l’article sur l’appli, paragraphe par paragraphe, en commençant par le début… Et là, c’est l’inverse qui se produit : les premiers paragraphes fonctionnent, les derniers non.

Ca a donc finalement l’air d’être un problème de « place ». Mon appli (dont j’ignore le fonctionnement) n’arrive pas à mettre à jour la totalité des articles à cause de la longueur du nouveau billet.

Entre temps, j’ai couru trois heures, marché dix heures, rendu visite à de la famille et à mon futur service, lu un peu, twitté… Bref, je me suis occupé, rassurez-vous, et ce que je vous raconte s’étale sur trois soirées depuis le mardi. Je me suis d’ailleurs plusieurs fois imaginé les 343 visiteurs depuis lors se trouver face à une page dont les paragraphes disparaissent, dont le titre varie avec ou sans guillemets, avec ou sans commentaires… 😀 Pour vous tous donc, venus via e-carabin, remede.org, le site de confrères bloggeurs (ou depuis Google en cherchant « parotidomégalie », « sur la table du gynéco » ou « coucheries à l’hôpital »), acceptez ce billet comme mon mea culpa. Ainsi que les restes de cette chèvre, sacrifiée pour Free.

Solution
Le vendredi après-midi, je découvre qu’on peut avoir accès au log de l’appli (le fichier où sont recensées les actions et erreurs) :

  • Dans l’idéal, supprimez l’appli et re-téléchargez la sur l’App Store, pour effacer tous vos errements des derniers jours… (je vous passe le détail de « tiens mais l’iPhone croit qu’il l’a encore téléchargée mais non, ah ah ah, bon comment ça marche une désinstallation sur iTunes, bord*l »)
  • Dans l’iPhone > Réglages > WordPress (tout en bas) > Extra-debug ON
  • Connectez l’iPhone au PC/Mac, lancez iTunes et iExplorer
  • Faites-vous plaisir : mettez à jour vos articles pour avoir le fameux message : « le blog a retourné des données non valides »
  • Allez dans iExplorer > Apps > org.wordpress.com > Documents > wordpress.log
  • Là, il vous propose une preview qui ne fonctionne pas – il faut bien le dire, sauf si être une fenêtre grise est sa fonction.
  • Vous pouvez comme moi essayer de télécharger iPhone Browser, DiskAid ou autre pseudo-iExplorer, mais ça ne sert à rien : vous feriez tout aussi bien de lire le minuscule « Help > Quick References and FAQ » qui vous dit « How do I transfer files ? Drag and drop files to and from the box on the right »… Pour « transférer des fichiers depuis votre iPhone sur votre PC grâce à iExplorer » (mais pourquoi cette phrase n’apparaît-elle nulle part sur internet ? >< ), il suffit donc de faire glisser le fichier .log.
  • Vous venez d’économiser une heure déprimante de votre vie en utilisant ce que la Princess Peach a pourtant toujours essayé de vous inculquer : cliquer sur « Help ».
  • Tout en bas du fichier .log que vous avez ouvert après transfert sur votre PC, il y a une piste pour résoudre votre problème. Quelque chose de plus détaillé que « tiens, le blog me renvoie des données non valides. Lesquelles ? Ah ah, mystère ! »

En l’occurrence, la piste chez moi c’est « Allowed memory size of 33554432 bytes exhausted » (blablabla).

Les quatre solutions trouvées sur les forums ne fonctionnent pas chez Free, car il limite sa mémoire allouée à 32 MB (33554432 bytes pour les matheux) :

  • vous n’avez pas d’accès au fichier php.ini pour y ajouter memory_limit = 64 MB
  • mettre la ligne define('WP_MEMORY_LIMIT', '64M'); dans wp-config.php ne sert à rien
  • ajouter php_value memory_limit 64M dans votre fichier .htaccess n’entraîne qu’une erreur interne 500.
  • quant au conseil « call your host », on parle de Free et je suis malheureusement trop occupé pour rester bloqué au téléphone jusqu’en 2015.

La conclusion logique, si on ne peut pas ajouter de la mémoire, est donc… de supprimer ce qui l’utilise. Alias les plug-ins et extensions (ou le système de traduction du blog, d’après ce que je peux lire sur cette page et que je n’ai absolument pas le courage de tester – d’autant que jusqu’à maintenant, l’appli est redevenue fonctionnelle ! Youpi ! :))

Du coup, j’ai passé à peu près neuf heures là-dessus depuis le début de semaine (me dit, blasée, ma Chérie de relectrice :D) pour faire finalement ce que recommandait la FAQ.

Ceux qui suivent savent pourtant que c’est ce que j’ai fait en premier (avant de remettre le thème et les plug-in, devant l’inefficacité de leur désactivation). J’imagine que ça n’a pas suffi et que maintenant, en UTF-8 sans BOM ou en ayant supprimé des brouillons, les commentaires indésirables et tout le reste, l’accès au fichier xml par l’appli iOS ne dépasse plus 32 MBytes. D’ailleurs, je devais être pile sur la corde car remettre le commentaire de nfkb en ligne avait suffi à refaire chavirer ma mémoire du côté obscur de la Force (au passage, j’ai remis le commentaire en l’ajoutant manuellement sur l’administration de MySQL mais du coup j’ai perdu l’IP et l’avatar de nfkb dessus – un très moindre mal toutefois :D)

Toujours est-il qu’en désinstallant les plug-in inutiles de Jetpack (oui oui, celui que j’ai installé 2 jours avant que ça plante, et grâce auquel je sais que vous êtes 343 depuis mardi), j’ai récupéré enfin un accès à mon blog sur mon iPhone. Je vais vraiment pouvoir me remettre à bloguer… Et vous parler des stages en gynécologie-obstétrique par exemple 😉

A très bientôt, en espérant que mon expérience malheureuse servira à d’autres !

Relu et corrigé par… 😉

Loading spinner