Bah c'est facile: tu modifies le fichier XML directement...
Cette semaine je devais travailler sur la définition de la supervision d'un client. Dans ce cas là, j'ai l'habitude de remplir une feuille de données Calc d'OpenOffice.org. Typiquement, cette feuille contient le nom de tous les serveurs et équipements à superviser, leur adresse IP, les services à superviser sur ces équipements, ... Pour une meilleure efficacité, le document est rempli avec les équipes techniques du client en étant projeté sur un écran grâce à un rétroprojecteur. Ce qui signifie que le client voit le fichier se mettre à jour, il corrige en même temps les erreurs potentielles. Jusqu'à ce qu'OpenOffice se bloque....
Après un malheureux Copier/coller d'une cellule d'un onglet vers un autre, la fenêtre d'OpenOffice se bloque, mon ordinateur semble au ralentit. Bon... Des gouttes de sueur perlent sur mon front... On va essayer d'arrêter puis re-démarrer OpenOffice! OpenOffice me demande si je souhaite enregistrer mon fichier avant de le fermer. La réponse est bien évidemment oui: faire le recensement du SI n'est pas quelque chose de fondamentalement amusant car il faut identifier tous les processus (certains comme "vsftpd", "xregd", "srvd", "ndsd", "slpd", ...). Il faut donc faire très attention à ne pas oublier une lettre ni en inverser deux. Maintenir l'attention pendant 2 heures, pas de problème. Mais pendant 2 jours, c'est plus compliqué et vite épuisant. Au milieu du 2e jour (donc quasiment à la fin du recensement), OpenOffice "plante". Bon, ce n'est pas grave, c'est un outil de qualité: au prochain redémarrage, il va me demander de restaurer le fichier et je n'aurais rien perdu. Ce qu'il n'a pas eu besoin de faire vu que... j'avais sauvegardé avant de fermer. Donc OpenOffice se lance et la fenêtre apparaît quasiment de suite et ... se fige. Tiens! Bizarre: même comportement qu'avant? Comment se fait-ce? Bon je ferme encore. Et là je kille tous les processus "soffice.bin". "Aucun processus killé": tiens, ça veut dire qu'il a bien réussi à se fermer. Donc je relance! Même problème. OK, je viens de comprendre: OpenOffice a tout simplement corrompu le fichier. Le copier/coller a dû coller un objet (oui mais lequel?) mal interprété par OpenOffice... et la sauvegarde l'a sauvegardé... et donc il a corrompu mon joli fichier. Les gouttes de sueur s'amoncellent sur mon front! Oui oui, je ne rêve pas: mon fichier est corrompu et le client voit tout ce que je fais à l'écran! Que faire?
Heureusement j'ai eu la chance de travailler à côté de Sophie Gautier. Je me souviens m'être arrêté un jour, d'avoir levé la tête et d'avoir vu Sophie travailler sur un document XML. Je lui ai demandé ce qu'elle faisait. Elle me répondit:
- bah... j'ai reçu un fichier corrompu qu'on me demande de réparer!
- ???
- bah c'est facile! Tu dé-zip le fichier OpenOffice avec unzip. Là tu as plusieurs fichiers. Et tu modifies le fichier XML.
- ???
- Sissi c'est facile! Tu l'ouvres et tu le modifies. C'est juste un fichier XML.
- heu... oui mais ... heu... ça doit être du XML compliqué non?
- ... ch'ai pas. attends. OK.. c'est bon: j'ai trouvé. Je vérifie... oui ça marche! je vais pouvoir lui renvoyer! cool.
- !!!
C'est ça qui est incroyable avec elle: ça semble toujours facile.
Du coup, j'ai essayé. Que pouvais je faire? Il fallait bien tenter quelque chose. Je n'avais que deux possibilités: réparer le fichier ou tout recommencer! Donc j'ai fait comme Sophie m'a dit:
- un coup d'unzip
- ouverture du fichier XML (d'ailleurs si vous connaissez un éditeur XML qui permet de lire sans trop de ralentissement un fichier XML très lourd et qui ne soit pas emacs, ni vim, ni kate, ni kedit qui rament beaucoup trop, eux, je suis preneur!!!)
- identification de l'erreur (là, typiquement, il faut se poser une question "qu'ai je fait qui aurait pu causer un bug?" puis chercher dans le fichier quelque chose se rapprochant)
- modification du fichier
- re-zip de l'archive
- vérification avec OpenOffice
Bon je vous avoue, les étapes de 3 à 6 sont sûrement à faire plusieurs fois. L'étape la plus compliquée étant l'étape 3... Avec un peu de réflexion et beaucoup de chance, on réussi. Sissi: je l'ai même fait!
Un grand merci à Sophie Gautier de m'avoir, il est vrai sans le vouloir, aider à me sortir de ce mauvais pas! Merci au client d'avoir patienter une heure. Merci aux formats ouverts d'être ... ouverts et donc modifiables par d'autres outils. Une seule question: qu'aurais je fait avec Microsoft Office?



Salut Cédric, le problème que tu décris est une
kult | jeudi, avril 2 2009 | 09:46Salut Cédric,
le problème que tu décris est une démo que je fais lors de certaines conférence pour montrer l'intérêt des formats ouverts. Et j'avoue que je n'ai rien trouvé de plus parlant que celui là pour montrer comment modifier un document sans avoir le logiciel. ça fait mouche à chaque fois. Ok là c'était stress et compagnie donc moins fun surtout la première fois.
Concernant ta question sur un éditeur XML, j'avais utilisé pendant un temps le logiciel MlView (http://www.freespiders.org/projects...). Je n'ai pas souvenir de l'avoir utilisé sur un XML de taille importante, mais c'est l'occasion de le tester ;)
à plus.
Salut Tony, Si tu veux, dans tes présentations tu
Cédric Temple | dimanche, avril 5 2009 | 07:42Salut Tony,
Si tu veux, dans tes présentations tu peux me citer. Tu peux même mettre un lien vers cet article. Ca me permettra d'avoir des visites sur mon blog. Ben oui avec toutes les pubs qu'il y a ici, je vais au moins augmenter mes revenus de 100000%. ;-)
Concernant l'outil MlView: je ne le connaissais pas. Je te confirme, il marche très bien sur des "gros" fichiers XML (mieux que VIM et Emacs). Donc merci pour l'info!
A bientôt!
Bonjour, Je n'ai jamais testé la modification de
Ben | jeudi, avril 9 2009 | 15:23Bonjour,
Je n'ai jamais testé la modification de document OpenOffice, mais le principe du dézippage est aussi de mise avec la version 2007 de Word (fichiers docx, xlsx, ...).
Certe, le contenu n'est pas super lisible pour un humain (je ne peux comparer avec Oo), mais on retrouve les différents styles, les images, header/footer, et un xml de contenu !
Je ne défends pas microsoft coeur et ame, mais je réponds juste à la dernière question de cette article :
Qu'aurais je fait avec Microsoft Office ?
La même chose :)
En tous cas, merci pour ce blog et toutes ces infos sur FAN !
Bonne journée
Ben
@Ben: C'est vrai qu'avec la nouvelle version de
Cédric Temple | vendredi, avril 10 2009 | 17:40@Ben:
C'est vrai qu'avec la nouvelle version de Microsoft Office, il est maintenant possible de faire cela. Cela fait tellement longtemps que je n'ai pas utilisé Microsoft Office que je crois toujours que c'est le format ".doc" (ou ".xls", ...) qui est utilisé. En fait j'aurais plutôt du écrire: "Qu'aurais je fait avec un format fermé?" puisque c'est de cela que je voulais exprimer dans cette question. Merci pour le retour. :-)
Il y a si peu de problèmes avec les logiciels
Jeepy | mardi, juillet 7 2009 | 19:18Il y a si peu de problèmes avec les logiciels privés comparativement aux logiciels libres, que la question ne se pose pas vraiment en pratique.
@Jeepy: Hahaha! Tu m'as bien fait rire! Qui n'a
Cédric Temple | mardi, juillet 7 2009 | 19:53@Jeepy:
Hahaha! Tu m'as bien fait rire! Qui n'a jamais vu un plantage de Word, Excel, Powerpoint, Windows leur faisant perdre tout leur travail?
Hahaha! halala. Merci pour cette tranche de fou rire! ;-)