Mais quelle c…

Nous partons aux États-Unis cet été, Pierre en formation à Montain View, moi en touriste en Californie 😉

Me suis occupée des billets d’avion hier… recherche d’un billet sur kayak.com (bien foutu ce truc), passage sur le site de Continental, achat du billet, numéro de carte bancaire… PAF « veuillez recommencer, erreur technique, blah ». Je pensais que c’était seulement voyages-sncf qui faisait ça, apparemment non.

J’attends 10 minutes, le temps de voir si un mail m’indiquant que ça a marché arrive, pas l’air, je recommence la procédure. Je cherche cette fois mes billets sur le site de Continental directement, je sais quand je pars et quand je reviens, bon. Je réserve le truc, je reçois le mail… heuuuuuuuuuuuuuu… c’est QUOI ce Sunday qui traîne là alors qu’on part un mercredi et qu’on revient un mercredi ??

Eh oui, la championne du monde a réussi à se planter de date sur le billet de retour. D’un mois.

Va falloir aller discuter avec Continental, du coup… j’ai bien peur que ça ne nous coûte la peau des fesses tout ça 😦 (ya des jours comme ça, on se sent con, mais con !!!)

PIRACY. IT’S A CRIME. *grrrrrrrrrrrrr*

Mon chéri m’a offert pour mon piti Noël l’intégrale de la série de la Famille Addams en DVD. Un très grand moment.

MAIS. Au démarrage du DVD, ya une super vidéo qui m’explique que puisque je volerais pas un sac à main il faut pas que je downloade non plus. Pour les chanceux qui n’ont pas encore eu l’honneur de se faire agresser par ladite vidéo et qui sont curieux (j’imagine qu’il y en a peu, mais sait-on jamais), elle est dispo ici (D’ailleurs, partager la vidéo anti-piratage, c’est mal ou pas ?).

Et comme c’est un DVD de série télé, que conséquemment le DVD se fait rallumer, voire ré-insérer chaque fois qu’on veut regarder un épisode, ben on se tape la vidéo 22 fois. (une fois par épisode, à peu près 😉 ).

Grr, quoi.

D’ailleurs, j’ai la même vidéo sur mes DVD de L Word Saison 2. Qui a EN PLUS un générique extrêmement merdique par rapport à la saison 1, mais bon, c’est hors propos.

Entre ça et certains DVD (je pense à ceux de House MD ou de Code Quantum) qui sortent SANS sous-titres VO… alors que ça coûte rien… ya des baffes qui se perdent. Comment garder l’envie d’acheter des DVD quand on se fait insulter au boot et qu’on a une « qualité de service » (les sous-titres !) inférieure à ce qu’on pourrait trouver par ailleurs ?

R.I.P.

Ouin. Mon iPod est mort ce matin. Ca faisait quelques temps qu’il donnait des signes de faiblesse : musique coupée, ça rame un peu plus que d’habitude, mais bon, je me disais « c’est pas bien grave, il survivra ». Et ben, non. Je l’allume ce matin dans le RER, comme d’habitude, je le mets en mode « mix de morceaux », je passe 6 morceaux que je n’avais pas envie d’écouter, j’arrive sur le 7e, bof aussi, je clique sur suivant… je reclique sur suivant… damned il est freezé.

Aaaaah.

Je reboote la bête, et là le symbole que tous les possesseurs d’iPod redoutent : le Sad iPod (pour les amateurs de Sex and the City, c’est comme le Sad Mac de Carrie, mais avec un iPod à la place du Mac. Très meugnon, mais on s’en passerait bien). Bref, et au vu des symptômes précédents, le disque est mort.

Manque de pot, l’iPod (ou équivalent), quand on prend le RER et qu’on est toute la journée dans un openspace, c’est un instrument de survie. D’isolation des boulets. Et il y a beaucoup de boulets. Rien que ce matin dans le RER une fille qui écoutait du zouk sur son téléphone portable. SANS écouteurs. Et comme je suis une serpillère, j’ai pas osé râler 😦

Donc, voilà, je sens qu’il va falloir réinvestir. J’avais acheté un iPod parce que j’avais un Mac à l’époque (je l’ai toujours, hein), pendant ma période « Apple fangirl » (ça par contre ça m’a un peu passé, je suis revenue à mon Linux, et je m’en porte pas plus mal). Du coup, j’ai un peu (pas la majorité, mais des trucs quand même) de zik iTunes que j’ai la flemme de m’embêter à transférer ailleurs. Du coup… bin je crois qu’en bonne cliente captive de technos propriétaires, vais racheter un iPod. Pis celui-là, il aura la couleur et la vidéo (chouette.)

Et là, c’est le drame : j’ai acheté Marie-Claire.

Tout a commencé hier quand je suis tombée sur le billet de Caro (blog dont je vous recommande par ailleurs la lecture, c’est rigolo 😉 ) qui parlait d’un article dans le dernier Marie-Claire. Ledit billet étant… bon, violent, il faut bien le dire, j’me suis bêtement dit ce matin en passant devant un machin de presse « tiens j’vais acheter Marie-Claire, ça me fera marrer ». Je m’attendais, bêtement, à ce que Caro exagère. J’ai eu tort. C’est pire que ce que j’imaginais.

L’article en question s’intitule « Ma vie en ronde », et commence déjà très fort avec une photo « avant/après » de la demoiselle. Bin déjà, la « après », elle est vachement mieux (sauf que sa robe est moche, ça doit être fait exprès. Je bondis à la dixième ligne : « Qu’est-ce qui se passerait si on se laissait juste vivre, mais bien vivre ? » ainsi qu’à la deuxième colonne : « Si on acceptait 10 kg de plus que nous octroie d’office notre métabolisme ? Le défi est tout simple : manger de tout, avec plaisir à satiété, remiser au placard ses petites manies alimentaires ». Alors là cocotte, je t’arrête tout de suite : si tu manges de tout, avec plaisir, à satiété, tu vas pas chercher 10kg de plus que ce que t’octroie ton métabolisme, tu as 10kg de pas assez par rapport à ce que t’octroie ledit métabolisme. Enfin bon, j’vois ça comme ça, cela dit c’est sûr que vue la gueule de ma balance, j’ai rien à dire sur le sujet. Mais, bon.

Deuxième page, on arrive au mois d’octobre (le «  »reportage » » se passe sur 5 mois), première mention du poids de la demoiselle après avoir pris 2kg : 58kg. Bon. Admettons, elle mesure ptêt 1m45 hein. C’est possible. Après, elle nous raconte comment elle fait quand même du sport parce que le sport c’est bien et faudrait voir à pas faire mollir tout ça et comment elle voit « gourou Dukan » (marrant, j’croyais que son crédo c’était plutôt de vendre des machins protéinés lui…) pour se rassurer. D’ailleurs, on est rassurés : « Ce diététicien aime les rondes (comme moi) et dénonce (comme moi) les canon, rachitiques, de la beauté moderne ». Mbon. Admettons.

Décembre : c’est Noël ! « Pas de diète préfestins, pas de purge post-excès ». BIN MANQUERAIT PLUS QUE CA ! +5kg, retour chez Dukan « OMG je fais 80cm de tour de taille ». C’est dur, la vie de ronde. J’ai été prendre mes mesures pour ma future robe de mariée, bon, ça choquera personne : chuis au-dessus de ça. Très, très nettement. Et là, l’information qui tue. « Je suis ronde, j’ai un IMC à 22. » Allez, on sort sa calculatrice et on rigole. 62 kilos, IMC à 22, ça fait 1m68. « Je me sens basculer dans le camp des grosses », nous dit-elle. NON MAIS JE RÊVE !

Fin de l’histoire lue rapidement, parce que j’étais choquée. Oui, choquée. Z’allez me dire, il en faut pas beaucoup et il y a plus dramatique dans la vie tout de même. Certes. Ceux qui me connaissent savent que c’est un sujet sensible chez moi (et mes 110kg pour 1m70, j’assume) et que je n’ai cherché que le bâton pour me faire battre en allant lire ce torchon. C’est pas faux : ça doit être mon côté maso.

Cela dit, le plus beau reste pour la fin. Le petit encart « Comment j’ai reperdu… un peu mais pas tout. ». Trofacile(); : en faisant du sport et j’avais même le droit de manger des pâtes. Comme quoi faut vraiment pas être malin pour pas réussir à perdre de poids, vous voyez bien. Visiblement, quand même, elle doit pas avoir grand-chose d’autre à foutre de ses journées au vu du temps qu’elle a l’air de passer en salle de gym. Le plus beau : « Pour maigrir comme pour s’assumer en ronde, le sport est indispensable. Quant à moi, j’arrête les compteurs à 59,5 kg : mon nouveau poids, qui me va bien ». J’aime beaucoup le passage juste sous la barre symbolique des 60.

Bref. Je suis déprimée et en colère par cet article. N’étant pas lectrice de MC habituellement (c’est la première fois que je lis ce truc, j’ai pas été déçue…), j’ai aucun intérêt à me faire chier à leur envoyer un courrier – si c’est pour gagner un abonnement d’excuses, merci bien :o) Mais quand même… Ya vraiment des gens qui trouvent que ce genre d’article n’est pas juste dégueulasse ? Et je vais laisser le mot de la fin à Caro : « La prochaine fois, c’est quoi ? Une de vos reporters se crève l’oeil pour vérifier qu’être aveugle c’est moyennement pratique ? » (en précisant, comme Caro, que ça a pas vraiment rien à voir, m’enfin tant qu’à faire d’exagérer, hein…)

Logiquement, je sens que je vais me prendre quelques commentaires à la con de boulets qui viendront traîner dans le coin ; vous préviens, si ça me plaît pas, je censure. C’est chez moi, ici. Non mais.

Le pourquoi du comment du rhaaaaaa.

Christophe m’a demandé de préciser ce que j’avais contre le MVC & le n-tiers etc etc.

Alors, MVC, sur le principe, c’est très bien. J’en suis même, en théorie, un ardent défenseur. Le principe, c’est « pour une appli, on a des données (model), on veut les voir (view), et on veut y appliquer des traitements (controler). Et on découple tout ça de manière à ce que (par exemple) si on change l’algorithme de traitement, il y ait normalement pas besoin de changer ni la visualisation des données ni le modèle de données. Très bien.

Là où ça se gâte, c’est que le cloisonnement du modèle MVC, bien souvent, il est dur. Ça veut dire que pour appeler un truc du côté contrôleur quand on est côté vue, faut se manger des callbacks pas possibles et, bien souvent, c’est pénible ET long. Pour l’exemple, la dernière fois que j’ai dû aller rechercher une fonction à la noix de ce type là, ça m’a pris 4 ou 5 heures pour mettre en place ledit callback. On me rétorquera que 1/ c’est que je suis une buse 2/ c’est qu’y’a ptêt un problème avec le framework que j’utilise ; ça n’empêche que par rapport à appeler bêtement une fonction, c’est long.

En pratique, le problème, et tout particulièrement quand on travaille à plusieurs sur du code, c’est que les choses ne sont jamais aussi claires que ça. Déjà, il va en général y avoir du code qu’on aimerait bien avoir des deux côtés (côté contrôleur (on dit aussi métier) et côté vue (on dit aussi présentation)). Techniquement, on est bien d’accord, ça veut dire que quelque part, on sait pas trop où va le code, qu’il faudrait réfléchir, éventuellement le déplacer d’un côté à l’autre et/ou faire les choses plus proprement qu’elles ne sont faites.

Maintenant, considérons la situation suivante. On livre en intégration demain. Il est 16h. J’ai une fonction qui traîne, avec le code kivabien dedans, mais elle est pas du bon côté. J’ai pas de mapping pour faire mon callback. Faire le mapping, ça va relativement vite, sauf qu’il faut recompiler pour mettre le mapping au bon endroit (et ça, c’est long), et que pour mapper, il faut que les paramètres de la fonction soient sérialisables, sinon ça passe pas (et oui, un Boolean, c’est sérializable, un boolean, ça l’est pas. Astuce.) (oui, je fais du Java.) Et, comme dit plus haut, avec toutes ces emm… diverses, faire le mapping proprement, ça peut prendre 4h (avec les divers bugs et autres ennuis) (bon, ça peut aussi prendre un quart d’heure si on s’en tire bien, hein, soyons honnête !!), donc… bin on duplique le code. Moche.

On pourrait contourner ça en ayant une partie de code « commune » qui serait compilée à la fois avec la partie métier et avec la partie présentation. Il faudrait bien sûr faire super gaffe en y mettant quoi que ce soit (c’est un coup à exploser complètement le modèle, donc pas très beau), MAIS quelques fois ça serait intéressant. Je pense en particulier à tout un tas d’utilitaires à la noix qui peuvent très bien servir des deux côtés, traitement de chaînes, tris, etc. Sauf que, évidemment, simplicité et développement à l’arrache obligent, on finirait toujours par y trouver « la fonction qui récupère la liste des gens à qui envoyer un mail pour telle opération » (mbof) et/ou par ne pas y trouver « le petit utilitaire de trois lignes qui appelle le Tokenizer pour parser m chaîne, là ».

En-dehors du code potentiellement duplicable, ya aussi le problème du code qui est « juste pas au bon endroit, du moins il me semble ». Pour moi, une fonction qui envoie un mail à un utilisateur avec des informations sur une instance particulière du modèle, ça va côté présentation (parce que je crée mon mail et je le présente à l’utilisateur). Bon, pour la personne qui a fait la fonction, ça va côté métier. Et là, c’est la lutte. Je sais pas qui a raison (enfin, si, moi 😉 ) mais, techniquement, non, j’ai pas le temps d’en discuter et j’ai pas le temps de corriger quoi que ce soit (rappel : il est 18h et je livre demain en intégration). Donc, on lutte. Pis là on se rend compte qu’il y a deux fichiers de ressources pour les chaînes. Gargl, le fichier en question est côté présentation, il faut donc que je crée le mail côté présentation et que je l’envoie côté métier. Ouiménon, en fait, les chaînes elles étaient dans l’autre fichier. Damned, il est 22h.

Bref, voilà. Le modèle MVC, conceptuellement, c’est très joli. En pratique, entre le code qu’on sait pas où mettre, le code qu’est pas au bon endroit, le code qu’on voudrait bien des deux côtés, le tout dans un environnement d’équipe et à l’arrache, le modèle MVC, ça te pourrit la vie d’une manière monstrueuse.

Quant à l’archi n-tiers… bin mon code métier et mon code présentation, ils sont sur deux serveurs Websphere différents. Il faut lancer le serveur métier avant le serveur présentation, sinon ça plante. Relancer les deux serveurs, ça me prend au moins 10 minutes à chaque fois. La trace d’exécution, elle se fait sur deux serveurs et c’est donc le bordel (d’un côté, ta trace s’arrête sur l’appel au callback, de l’autre, faut déjà voir si elle commence (aka si t’as pas foiré ledit callback)). Debugger du n-tiers, c’est pas marrant.

Voilà. Ceci était mon billet argumenté sur le hurlement primaire de l’autre jour.

Je reprécise donc que dans un environnement parfait où tout le monde sait ce qu’il fait, où personne ne fait de bugs et où on n’a pas (trop) de contrainte de délais, le MVC et le n-tiers, c’est probablement fantastique.