Bon, bon, bon, certains d’entre vous le savent, j’ai été recrutée par mon entreprise afin de finir la v2 d’un de leurs sites suite au départ de mon prédécesseur.
Depuis septembre, j’ai eu l’occasion :
- de voir à quel point Internet Explorer est en retard sur ses concurrents niveau JavaScript : une virgule en fin d’objet JSon peut faire planter toute une page : http://benjamin.hkb.fr/v2/2009/02/dojo-internet-explorer-et-les-virgules
- et qu’il gère les events comme ça lui chante : l’événement onBlur d’un tableau est déclenché par tous les navigateurs lorsque l’on clique en dehors du tableau, sauf par IE, qui le trigger lorsqu’on change de cellule dans le tableau : http://bugs.dojotoolkit.org/ticket/10485
- de constater qu’un framework puissant et possédant de belles interfaces n’est pas forcément ergonomique pour les utilisateurs finaux : qui penserait à taper sur la touche Entrée pour enregistrer les informations d’un tableau ? http://dojo-toolkit.33424.n3.nabble.com/DataGrid-last-edited-cell-does-not-save-td2358868.html
- d’apprendre que les annotations Hibernate ne se placent pas n’importe où : http://stackoverflow.com/questions/3286508/where-to-put-hibernate-annotations
- de découvrir qu’Hibernate a non pas un mais deux caches qui, couplés à celui d’IE, m’en ont fait voir des vertes et des pas mûres : http://docs.jboss.org/hibernate/core/3.3/reference/en/html/performance.html#performance-sessioncache
- de m’arracher les cheveux quand Eclipse plantait sans raison : http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6969236
- et bien d’autres encore.
Vers mi-avril, j’ai achevé la v2 du site (comprendre par là que ce dernier fonctionnait sans embêter personne sur sa base MySQL), et me suis donc lancée dans la phase finale du projet : adapter les classes PHP de la v1 du site pour qu’une synchronisation puisse avoir lieu entre un serveur Oracle en local géré par mes collègues, et “mon” serveur MySQL hébergé par un prestataire. En effet, il a été décidé que jusqu’à la fin de l’été, les deux versions du site allaient cohabiter parce se débarrasser de la v1 maintenant empêchait la synchro de se faire et que réécrire cette dernière allait faire l’objet d’un stage estival.
Durant ces six dernières semaines, l’interjection la plus utilisée de mon vocabulaire s’est révélée être “Aaah, d’accord”.
- Aaah, d’accord, la base de données Oracle contient plein d’espaces dans ses varchar et il faut que j’utilise systématiquement trim() si je veux que le J2EE récupère des données non faussées.
- Aaah, d’accord, mes dossiers servent à rembourser de l’argent, mais parfois, des utilisateurs en créent sans mettre de dépense juste parce qu’ils veulent garder une trace de ce qu’ils font.
- Aaah, d’accord, la v1 du site ne se lance plus parce que j’ai upgradé de PHP4 à PHP5 et que mon prédécesseur n’utilisait pas les tags formels du langage PHP mais les balises courtes.
- Et mon préféré : aaah, d’accord, j’avais corrigé les classes PHP sur notre serveur distant A, mais il fallait que j’en fasse une copie sur un serveur local B, car la v1 du site, bien qu’hébergée sur A, utilise les fichiers sur B.
Chers lecteurs, reprendre un projet, c’est déjà pas de la tarte, mais quand il faut faire coïncider une webapps J2EE/Struts/Hibernate avec un site Web 1.0, ça ressemble plus à un chemin de croix qu’autre chose.