Vieillissement accéléré

Vous vous en souvenez peut-être, parce que ce n'est pas si vieux que ça, mon précédent blog était chez 20six. Pour le déménagement, j'ai écrit un programme qui aspire toutes les notes et commentaires d'un blog 20sixien pour les injecter sous DC. Comme ça, j'ai toutes mes archives avec moi.
Ecrire un programme, c'est cool. L'utiliser, c'est mieux. Un programme qu'on n'utilise qu'une seule fois, c'est un peu frustrant. Comme je savais que Samantdi voulait elle aussi récupérer ses archives 20sixiennes, je lui ai généreusement proposé de faire la manipulation.

Déjà, il a fallu augmenter mon programme : pour une raison qu'il faudra chercher dans les entrailles de 20six, mon ancien carnet utilise une mise en page particulière des notes, et celui de Samantdi une autre. L'analyseur qui extrait les notes, les commentaires, les dates et heures et les coordonnées des commentateurs a dû être modifié. Je fais mes tests sur une duplication du carnet de Samantdi sur ma plate-forme (c'est vraiment bien d'être totalement maître de son truc), ça roule, pas d'erreurs, tout se passe bien. Prêt pour le prime-time.

La procédure est un peu alambiquée :

  1. faire une sauvegarde de la base DC, par le plugin Mysql, et récupérer le fichier de sauvegarde,
  2. l'injecter dans une base de données associée à un Dotclear créé juste pour l'opération,
  3. lancer l'outil de récupération des notes 20six, qui va remplir cette base de données dupliquée
  4. si tout se passe bien, faire une sauvegarde de ce faux blog, toujours par le plugin Mysql, et récupérer le fichier,
  5. l'injecter dans le vrai blog, comme s'il s'agissait de la restauration d'une sauvegarde.

Voilà pour la théorie. Hier, nous avons fait une première tentative. Tout s'est bien déroulé jusqu'à l'ultime étape, la réinjection de la base dans le vrai Dotclear. Echec fatal, le fichier est trop gros, la décompression se passe mal. L'opération de restauration ne commençant même pas, la base initiale n'est pas touchée. Aujourd'hui, après diverses cogitations et la modification temporaire du plugin Mysql[1], je m'estime prêt à tester de nouveau aujourd'hui en début d'après-midi.

Tout se passe bien jusqu'à la dernière étape, la restauration de la fausse sauvegarde. Là, il faut savoir comment le fichier de sauvegarde/restauration est composé, pour savourer ma douleur. Pour chaque table :

  1. on détruit la table (DROP machin-chouette)
  2. on la recrée (CREATE TABLE machin-chouette...)
  3. on la remplit (INSERT INTO machin-chouette VALUES(...))

Evidemment, vous le voyez venir gros comme un camion, la création d'une des tables a échoué. Pour être exact, la création de la table dc_user échoué. Or, cette table est celle qui définit la liste des utilisateurs autorisés à agir sur le carnet. Donc, à 14:30 aujourd'hui, le blog de Samantdi est parti en vrille : impossibilité de s'y connecter, puisque l'une ou l'autre des requêtes pour afficher une page va interroger la table des rédacteurs. Cette table n'existant plus, la requête finissait en erreur pas très propre, et plouf un vilain message dans le navigateur, au lieu d'une belle page avec des jolis mots qui racontent des trucs intéressants.

J'ai pris 15 ans à ce moment. Bousiller mon propre carnet, déjà, ça me gonflerait sévère. Ce ne serait pas très grave, puisqu'ayant le contrôle complet de la machine sur laquelle il tourne, je peux remonter tout ce que je veux. Par contre, bousiller le carnet d'une amie, qui fonctionne sur une machine à laquelle je n'ai aucun accès si ce n'est au travers d'un navigateur... Panique à bord.

Je vous passerai les détails scabreux de mes manipulations frénétiques. Le carnet est revenu en ligne à 15:15, et j'ai pu respirer de nouveau. Et, ayant pigé le problème, j'ai modifié la procédure opératoire, et ai fini par boucler l'opération d'injection des archives. Tout est donc bien qui finit bien.

Toutefois, je conseillerai une première modification du plugin Mysql : avant toute chose, qu'il vérifie que la version de la base de données sur laquelle on restaure une sauvegarde est compatible avec celle sur laquelle la sauvegarde a été faite. Et, à terme, une reprise totale de ce plugin, qui est sympa pour faire joujou mais constitue, en l'état, un extraordinaire outil pour bousiller son blog (même si c'est clairement indiqué, on a tendance à sous-estimer ce genre d'avertissements).

Notes

[1] Pour qu'il sache restaurer une sauvegarde déjà présente dans le répertoire share/mysql, où elle aura été placée par un transfert ftp.

Commentaires

1. Le samedi 29 avril 2006, 02:14 par samantdi

Mille mercis ! Je suis un peu confuse de t'avoir occasionné tous ces tracas pour quelques billets qui n'auraient pas manqué au patrimoine de l'humanité...

Ouf : tout est bien qui finit bien.

2. Le samedi 29 avril 2006, 06:58 par Kozlika

Et là, en principe on devrait voir débarquer Pep, qui expliquera qu'Opérations MySQL n'est pas un plugin d'import/export et n'est pas destiné à se substituer à phpmyadmin :)

Et s'il est dans un jour bavard il dira peut-être même que le plugin d'import/export qui tourne actuellement en test sur la v2 pourrait bien servir de « modèle » à un tel plugin pour la v1.

3. Le samedi 29 avril 2006, 07:03 par Kozlika

Hi hi, ho ho, ce que les hommes sont prévisibles :-P

4. Le samedi 29 avril 2006, 11:42 par Nuits de Chine

Samantdi : de rien, j'aime terminer ce que j'ai commencé, quand bien même cela est contre vents et marées.
Kozlika : voui je sais ce que j'ai fait est mal, c'est pas un plugin d'import-export. Je suis un mécréant. D'un autre côté, je crois que j'ai fait ma pénitence en même temps que je commettais l'offense.
-- Xj

5. Le samedi 29 avril 2006, 12:30 par miss lulu

quand tu te seras remis de tes émotions (quel talent!!), je veux bien que tu viennes bousiller mon blog :)

6. Le samedi 29 avril 2006, 12:42 par Thomas

Oh, comme ça me rappelle la migration des <a href="http://melie.entierement.nu/"><em>Enfants rouges</em></a> de HautEtFort vers Wordpress ! C'était une atrocité en 4 passes successives qui m'a pris un après-midi et quelques litres de café, mais ça a fini par marcher. (Bon, et je n'avais pas la contrainte supplémentaire de devoir incorporer les notes importées à un blog existant.)

7. Le samedi 29 avril 2006, 15:55 par brol

Salut
J'ai pas trouvé le formulaire de contact...
Juste pour te signaler que tu as un ascenseur horizontal avec firefox et ie en 1024*768.

8. Le samedi 29 avril 2006, 16:44 par TarValanion

Et Samantdi de me raconter cette histoire la derniere fois que nous avons partgaé une table. Tout interessé par un tel programme, j'ai demandé la source à Nuits de Chine pour essayer de le transformer un peu (j'etais chez u-blog). Ceci dit, vu les obstacles racontés ici, je vais faire tres tres attention, moi.

9. Le samedi 29 avril 2006, 18:44 par palpatine

Franchement bravo ^^. Va vite falloir que je devienne ton ami quand dotclear2 va sortir et que je serai assez riche pour me payer un hébergement et un vrai nom de domaine, alors :p.

10. Le samedi 29 avril 2006, 21:26 par Vroumette

Yeaaaaaaaaaaaaah, et un autre que je peux embêter quand je merdouille. J'adore embêter les geeks.

11. Le samedi 29 avril 2006, 23:43 par obni

palpatine > Pour ce qui est de l'hébergement gratuit, free est ton ami.

12. Le dimanche 30 avril 2006, 11:45 par Nuits de Chine

Lulu : Je refais d'abord pousser tous mes cheveux.
Thomas : Les affres du Peuple Migrateur.
Brol : Damned. Je vais regarder. Mais y a-t-il encore des gens en 1024*768 ???
Tarval : En réalité je te le dis, mon programme marche vachement bien. Si tu as un DC "vide", a priori tu ne devrais pas rencontrer autant de problèmes. Et puis entre régionaux, on peut s'aider.
Palpatine : Ca y est, tout de suite les amitiés intéressées. Pfff.
Vroumette : Pourquoi ne suis-je donc pas surpris ?
Obni : Et comment j'amortis ma plate-forme si tu envoies les gens intéressés chez Free ?

13. Le dimanche 30 avril 2006, 19:53 par brol

Oui, il y en a même qui sont en 800*600 ;-)
Sinon, tu fais dans l'hébergement maintenant ? Je pourrais être intéressé, là... cher régional ;-)

14. Le dimanche 30 avril 2006, 21:06 par Nuits de Chine

Brol : oui, faut que j'amortisse ma plate-forme super-top, donc j'héberge. Si t'es intéressé, on peut en discuter par mail (nuitsdechine@gmail.com; après, je t'enverrai mon adresse pro :-)

15. Le dimanche 30 avril 2006, 21:26 par samantdi

Ah, voilà une bonne idée : faire une communauté de Toulousains hébergés chez NuitsdeChine, un club, un clan, une équipe, une secte, une compagnie (oui, cette Samantha, tout de suite des idées de grandeur)!

Bon, on pourrait même accepter des non-régionaux aussi, hein...

16. Le lundi 1 mai 2006, 12:05 par Nuits de Chine

Samantdi : haaa une secte dont je suis le Grand Gourou. Mon rêve.

17. Le mercredi 3 mai 2006, 01:38 par brol

Ben en attendant, le guru a son ascenseur qui lui fait des coucous amusés... ;-)

18. Le jeudi 4 mai 2006, 12:43 par akynou/racontars

Bravo. J'aimerais bien aussi rapatrier mon blog chez u-blog. Mais je ne me sens abosolument pas de taille. Alors quand j'ai un moment, je le fais à la main… c'est long, mais c'est sûr (vu mon degré de connaissances)

19. Le samedi 3 juin 2006, 20:04 par Ricovitch

Salut,

Je fais des recherches depuis une heure sur l'export 20six vers dotclear, et à part une discussion avortée sur le forum dotclear et cette page je ne trouve rien d'autre. Ce que tu appele l'outil de récupération des notes de 20six c'est ton programme ? Serai-t'il possible d'y jeter un oeil ?

Merci !

20. Le samedi 3 juin 2006, 21:27 par Nuits de Chine

Brol : oui, je sais, c'est pas bien, j'ai toujours pas corrigé.
Akynou : Pour u-blog, je ne peux rien pour toi.
Ricovitch : oui, et peut-être. Je ne pense pas qu'il soit prêt pour le prime-time, mais si tu n'as pas froid aux yeux je peux te l'envoyer.
-- Xj

21. Le mardi 6 juin 2006, 09:28 par Ricovitch

Salut,

Merci d'avoir répondu sur mon site. C'est du perl de brute si je comprend bien ton programme lol... Enfin je jetterai bien un coup d'oeil quand même si ça ne t'embète pas, ne serai-ce que par curiosité. Je verrai bien ce que ça donne.

email : adresse mail supprimée

Merci ;-)

22. Le mardi 6 juin 2006, 12:22 par Nuits de Chine

Ricovitch : de rien, ça part d'ici peu. J'ai supprimé ton mail de ton commentaire, histoire que tu reçoives pas de spam ou autre.
-- Xj

23. Le dimanche 27 août 2006, 14:07 par la belle bleue

Moi qui me demandais si je ne pourrais pas faire une petite sauvegarde de mon blog 20six quelque part, je vois que ça promet d'être largement plus au-dessus de mes moyens (informatiques) que je l'imaginais...

24. Le lundi 28 août 2006, 21:03 par Nuits de Chine

La belle bleue : ben si tu veux je peux le faire pour toi, après tout nous sommes du même coin.
-- Xj

25. Le mercredi 22 novembre 2006, 10:13 par K

Je pense créer, enfin pouvoir créer un aspirateur "universel".

Pour Wordpress je sais que l'on peut importer via du XML. Mais sous DotClear ?

Ce serait pas mal de créer une petite appli. qui puisse faire ça.

Mais faire ça seul...boah...trop de code pour un cerveau ;]

26. Le mercredi 22 novembre 2006, 21:45 par Nuits de Chine

K : j'ai entendu parler, pour DC2, d'un véritable plugin d'import/export. Je n'en sais pas plus (faudrait que je me penche sur la question, je le concède).

27. Le jeudi 5 juillet 2007, 23:42 par aAlex

Hello Nuits de Chine, je ne sais pas si tu verras mon commentaire, je serais très intéressé par ton plug-in magique, je cherche désespérement un plug-in pour rapatrier les notes de mon blog 20six dans mon Dotclear. Tiens moi au courant si tu te sens l'ame d'un sauveur A+ Une dédicace et des badges en récompense ^_^

La discussion continue ailleurs

1. Le samedi 29 avril 2006, 02:15 par Vie Commune

Bravo et merci Xiaojie !

Et voilà : le secret du mystère est résolu ! Non, je n'installais pas Dotclear 2 à l'insu du plein gré de l'équipe (mouarf, mouarf, le bazar que ça aurait mis...) ! C'était mon blogami-presque-voisin Xiaojie qui a rapatrié chez...