Comment ne plus procrastiner
Vous êtes beaucoup à reporter les choses au lendemain…. Oui ok, NOUS sommes beaucoup à reporter les choses au lendemain. C’est l’enfer comme trop souvent on se retrouve à devoir au dernier moment nous mettre à bosser comme des fous pour terminer une tâche… Mais comment s’améliorer? Voici une observation fort utile dans ce contexte tirée du site e! Science News:
The findings, reported in Psychological Science, a journal of the Association for Psychological Science, were very clear. Even though all of the students were being paid upon completion, those who thought about the questions abstractly were much more likely to procrastinate–and in fact some never got around to the assignment at all. By contrast, those who were focused on the how, when and where of doing the task e-mailed their responses much sooner, suggesting that they hopped right on the assignment rather than delaying it.
Voilà peut-être l’une des clés. Définir comment, quand et où effectuer nos tâches restantes. Je ne suis pas psychologue mais pour moi, le pourquoi est quasi aussi important pour rester productif. Je suis persuadé que si l’on comprend bien le pourquoi de la tâche, ce qu’elle apportera concrètement une fois accomplie, la motivation sera encore plus grande que de simplement connaître le processus pour l’accomplir. Celà rappelle facilement la méthodologie Getting Things Done de Dave Allen qui, si vous ne la connaissez pas encore vous enchantera j’en suis certain!
Elle date de combien de temps ta dernière sauvegarde?
Les sauvegardes font partie de ces choses qu’il faudrait faire mais qu’on a tendance à repousser indéfiniment. Lisez cet article et vous aurez une méthode qui vous demandera 2 minutes à mettre en place (aller 5 grand max) et vous n’aurez plus à vous inquiéter de vos sauvegardes!
Créer un compte DropBox
DropBox est un service en ligne s’intégrant merveilleusement bien à tout système d’exploitation. Son but: synchroniser les fichiers entre plusieurs ordinateurs avec la possibilité de partager des fichiers. Son prix: gratuit jusqu’à 2Go et payant pour 50Go.

La seule chose à faire est de télécharger le client correspondant à son système et de l’installer. Vous aurez ensuite un dossier pas tout à fait comme les autres (se trouvant par défaut sous Mes Documents sur Windows mais paramètrable) qui dès que vous en modifiez son contenu, se synchronise automatiquement avec votre compte DropBox en ligne. Si vous utilisez plusieurs ordinateurs, pas de problème, vous installez le client et hop il se synchronise, même sur votre iPhone!
Script de copie
Profitant de cette synchronisation automatique sur Internet il n’y a plus qu’à se créer un script copiant les fichiers à sauvegarder dans le dossier DropBox! Travaillant sur une station Microsoft au boulot mon script est un .bat mais sera très facilement porté sur n’importe quel système (zip étant sur tout OS)! Pour ma part voici son contenu:
zip -9 -v -u -r Dropbox\backups\merck merck >> Dropbox\backups\log.txt
zip -9 -v -u -r Dropbox\backups\Logica Logica >> Dropbox\backups\log.txt
Les paramètres devront être ajustés à votre convenance. Ici nous avons:
-
-9 : compression maximum
-
-v : verbeux pour le rapport enregistré dans le fichier log.txt
-
-u : met à jour l’archive ne la recrée pas à chaque fois complètement
-
-r : récursif dans l’arborescence, tout le contenu du dossier et de ses sous-dossiers sont archivés
Je n’ai sur ma machine que deux dossiers que je veux absolument sauvegarder, je n’ai donc pour ma part pas besoin d’un espace disque énorme (je tiens largement sur un compte gratuit DropBox). Par contre si vous voulez sauvegarder vos mp3, vos photos et vos films ça va vite faire volumineux. Dans ce cas-là il existe d’autres solutions tout aussi avantageuses (ou presque). Je vous laisse jeter un oeil au très bon article de Paul Stamatiou concernant son utilisation du service d’Amazon: S3.
Automatisation
Finalement, plus qu’à demander à sa machine de lancer **régulièrement **le script ci-dessus et hop plus besoin de s’inquiéter de la sauvegarde de ses données! Cron sur systèmes Unix et planificateur des tâches (at en ligne de commande) sous Windows feront l’affaire! Les sauvegardes sont trop souvent mises de côtés mais lorsqu’un crash arrive on se sent tout perdu et on s’en veut de ne pas en avoir fait assez souvent, ou pas du tout. J’espère que cette méthode en encouragera plus d’un à ne plus la mettre de côté! Si c’est le cas demandez-moi une invitation à DropBox ce qui me permettra d’augmenter la capacité de stockage de mon compte ;)
Pour aller plus loin
-
Backing up Windows machines using rsync and ssh by Manu Garg concis et puissant, méthode plus poussée et plus généraliste (en anglais)
-
Sauvegarder un site web avec rsync utilise le même outil que l’article précédent (en français)
-
How I Use Amazon S3 autre option utilisant Amazon S3 (en anglais)
Parfois la solution est juste plus simple que ce que l'on pensait...
La lecture de The Pragmatic Programmer from journeyman to master vaut la peine. Le chapitre que je viens de terminer m’a une fois de plus permis de garder à l’esprit certains points dont on est certainement tous conscients, mais les mettre par écrit fait parfois toute la différence.
Il doit y avoir un moyen plus facile!
Qui ne s’est pas retrouvé un jour face un problème technique n’offrant visiblement aucune solution? Tourner le problème dans tous les sens ne suffit parfois pas à le résoudre: on est bloqué! La deadline approche, c’est la panique! Il est bon à ce moment-là - voir bien avant si possible - de ce poser ce genre de questions:
-
Est-ce qu’il y a une autre solution plus facile à implémenter? Est-ce qu’il est obligé de le résoudre de cette manière? Parfois faire les choses juste autremement peut être non seulement plus facile à implémenter mais encore mieux: offrir une solution que le client n’avait pas forcément imaginée et qui l’enchante!
-
Est-ce que je suis en train de passer mon temps sur le vrai problème? Attention! Les défis techniques peuvent se transformer en vraies de trappes mangeuses de temps.
-
Pourquoi ce problème est-il un? Pourquoi est-ce si difficile de le résoudre? Le formuler, à soi ou à un collègue peut ouvrir la porte à une solution.
-
Est-ce que la fonctionnalité sous-jacente nous posant problème à implémenter est réellement indispensable? “Instead of outdoing, try underdoing.” - Build Less du livre Getting Real
Je ne sais pas pourquoi mais il m’arrive régulièrement de rester bloqué sur un problème et de me rendre compte tout d’un coup que la solution pourrait être beaucoup plus simple! Mais est-ce que je suis le seul dans ce cas? Une chose est sûre, ce genre de questions ne peut qu’aider à s’en sortir!
Après DestroyFlickr, DestroyTwitter!

Je n’en ai jamais parlé ici mais j’adore DestroyFlickr. Cette application superbement sobre et intuitive permet de naviguer librement au sein de l’immense masse d’images de Flickr. Codée sur la plateforme Air, on se retrouve en 2 clics sur des photothèques que l’on n’aurait jamais parcourue depuis le site de Flickr et ce avec un plaisir infini. Attention, à ne pas installer au boulot! Bref tout ça pour dire, que Jonnie Hallman, le talentueux développeur derrière DestroyFlickr (allez voir son labo), nous offre maintenant le pendant twitter: j’ai nommé DestroyTwitter! Habitué à Tweetdeck, Twitterrific et twhirl, je me réjouis de voir ce que cela donne… Au 1er coup d’oeil, on retrouve des animations simples et agréables un design d’une sobriété frappante qui est très loin de me déplaire… Bref, cela vaut assurément le coup que vous alliez jeter un oeil à ce qu’il fait!
Les 110 meilleurs livres à lire
MAJ: pour encore plus de listes de recommandations voici une source intéressante: Flashlight Worthy. Vous connaissez un autre site du même style? N’hésitez pas à m’en faire part, j’en suis friand!
Lire c’est la liberté, lire c’est se cultiver mais lire peut aussi parfois devenir ennuyeux lorsqu’on tombe sur une oeuvre qui ne nous accroche pas. Dans ce cas-là, on est libre d’arrêter la lecture bien sûr… Mais pourquoi donc je n’arrive pratiquement jamais poser un livre qui ne me plaît même pas? Pennac le dit pourtant très bien dans Comme un roman, on a le droit de lire à voix haute, on a le droit de ne pas lire, on fait ce qu’on veut avec un livre, le but est de passer un bon moment… Bref, je ne sais pas. Mais si j’essayais de contourner le problème et de ne trouver que des livres passionants! C’est vrai quitte à lire au moins que des bons livres!
Vers qui se tourner pour obtenir de bonnes recommandations? Je suis tombé il y a déjà un bout de temps de celà sur un article du Telegraph mentionnant les 110 meilleurs livres à lire. Autant commencer par ceux-là! Lesquels sont déjà passés entre vos mains? Lesquels vous ont le plus marqués? Des coups de coeur?
J’ai commencé à en faire une liste cadeau sur Amazon si cela vous intéresse de vous les procurer (ou de m’en offrir un ;) ). Par défaut, j’y insère la version livre de poche pour que le porte-monnaie supporte la charge. Au final, il y aura plus de 110 livres puisque certaines oeuvres sont en plusieurs volumes. Il est à noter également que certains livres mentionnés dans l’article ne trouve pas de correspondant en français, je ne les ai donc pas ajoutés. Bon voyage!
Encore à lire
- The Iliad and The Odyssey par Homer
- The Barchester Chronicles Anthony Trollope
- Pride and Prejudice par Jane Austen
- Gulliver’s Travels par Jonathan Swift
- Jane Eyre par Charlotte Brontë
- War and Peace par Tolstoy
- David Copperfield par Charles Dickens
- Vanity Fair par William Makepeace Thackeray
- Madame Bovary par Gustave Flaubert
- Middlemarch par George Eliot
- Sonnets par Shakespeare
- Divine Comedy par Dante
- Canterbury Tales par Chaucer
- The Prelude par William Wordsworth
- Odes par John Keats
- The Waste Land par T. S. Eliot
- Songs of Innocence and Experience par William Blake
- Collected Poems par W. B. Yeats
- Collected Poems par Ted Hughes
- The Portrait of a Lady par Henry James
- A la recherche du temps perdu par Proust
- Ulysses par James Joyce
- For Whom the Bell Tolls par Ernest Hemingway
- Sword of Honour trilogy par Evelyn Waugh
- The Ballad of Peckham Rye par Muriel Spark
- Rabbit series par John Updike
- One Hundred Years of Solitude par Gabriel García Márquez
- Beloved par Toni Morrison
- The Human Stain par Philip Roth
- Rebecca par Daphne du Maurier
- Le Morte D’Arthur par Thomas Malory
- Les Liaisons Dangereuses par Choderlos de Laclos
- I, Claudius par Robert Graves
- Master and Commander par Patrick O’Brian
- Gone with the Wind par Margaret Mitchell
- Dr Zhivago par Boris Pasternak
- Tess of the D’Urbervilles par Thomas Hardy
- The Plantagenet Saga par Jean Plaidy
- Swallows and Amazons par Arthur Ransome
- The Lion, the Witch and the Wardrobe par C.S. Lewis
- His Dark Materials par Philip Pullman
- Babar par Jean de Brunhoff
- The Railway Children par E. Nesbit
- Winnie-the-Pooh par A.A. Milne
- Harry Potter par J.K. Rowling
- The Wind in the Willows par Kenneth Grahame
- Treasure Island par Robert Louis Stevenson
- Frankenstein par Mary Shelley
- Twenty Thousand Leagues Under the Sea par Jules Verne
- The Time Machine par H.G. Wells
- 1984 par George Orwell
- 2001: A Space Odyssey par Arthur C. Clarke
- Do Androids Dream of Electric Sheep? par Philip K. Dick
- Neuromancer par William Gibson
- The Talented Mr Ripley par Patricia Highsmith
- The Maltese Falcon par Dashiell Hammett
- The Complete Sherlock Holmes par Sir Arthur Conan Doyle
- The Big Sleep par Raymond Chandler
- Red Dragon par Thomas Harris
- Murder on the Orient Express par Agatha Christie
- The Murders in the Rue Morgue par Edgar Allan Poe
- The Woman in White par Wilkie Collins
- Killshot par Elmore Leonard
- Das Kapital par Karl Marx
- The Rights of Man par Tom Paine
- The Social Contract par Jean-Jacques Rousseau
- Democracy in America par Alexis de Tocqueville
- On War par Carl von Clausewitz
- Leviathan par Thomas Hobbes
- On the Interpretation of Dreams par Sigmund Freud
- On the Origin of Species par Charles Darwin
- L’Encyclopédie par Diderot, et al
- Zen and the Art of Motorcycle Maintenance par Robert M. Pirsig
- The Hitchhiker’s Guide to the Galaxy par Douglas Adams
- The Tipping Point par Malcolm Gladwell
- The Beauty Myth par Naomi Wolf
- How to Cook par Delia Smith
- A Year in Provence par Peter Mayle
- A Child Called ‘It’ par Dave Pelzer
- Eats, Shoots and Leaves par Lynne Truss
- Schott’s Original Miscellany par Ben Schott
- The Decline and Fall of the Roman Empire par Edward Gibbon
- A History of the English-Speaking Peoples par Winston Churchill
- A History of the Crusades par Steven Runciman
- The Histories par Herodotus
- Seven Pillars of Wisdom par T. E. Lawrence
- A People’s Tragedy par Orlando Figes
- Citizens: A Chronicle of the French Revolution par Simon Schama
- The Origins of the Second World War par A.J.P. Taylor
- Confessions par St Augustine
- Lives of the Caesars par Suetonius
- Lives of the Artists par Vasari
- Memoirs of a Fox-Hunting Man par Siegfried Sassoon
- Eminent Victorians par Lytton Strachey
- A Life of Charlotte Brontë par Elizabeth Gaskell
- Goodbye to All That par Robert Graves
- The Life of Dr Johnson par Boswell
- Diaries par Alan Clark
Lus et critiqués
- Alexander Trilogy par Mary Renault (tome 1, tome 2, tome 3)
- Brave New World par Aldous Huxley (critique ici)
- The Prince par Niccolo Machiavelli (critique ici)
- The History of the Peloponnesian War par Thucydides (tome1, tome 2)
- The Lord of the Rings par J.R. R. Tolkien (critique ici)
- Foundation par Isaac Asimov (critique ici)
- Tinker, Tailor, Soldier, Spy par John le Carré (critique ici)
- Paradise Lost par John Milton (critique ici)
- If This is a Man par Primo Levi (critique ici)
- Jonathan Livingston Seagull par Richard Bach (critique ici)
- The Day of the Triffids par John Wyndham (critique ici)
Que conseilleriez-vous à quelqu'un qui voudrait devenir programmeur mais sans aller à l'uni?
Un changement d’orientation professionnelle est aujourd’hui certainement plus facile qu’auparavent. La question se pose donc pour les programmeurs reconvertis mais également à ceux qui n’ont pas la possibilité d’accéder à une formation supérieure (pour cause de manque de financement, de temps, charges familiales, etc.) ou encore qui n’en ont tout simplement pas envie! Quels conseils donneriez-vous à quelqu’un voulant devenir programmeur sur le tas sans passer par une formation universitaire? Premièrement, ne pas baisser les bras c’est tout à fait possible! Le monde online donne accès à une mine d’information gigantesque. Le plus dur sera donc peut-être de s’organiser pour tirer le meilleur parti possible de ce savoir qui nous tend les bras. Dans ce sens, il faudra sûrement résister à la tentation de vouloir trop en faire. Le développement couvre une foule de sujets intéressants, attention donc à ne pas se disperser. Une tactique peut être de dresser une liste de sujets ((Ne pas hésiter à demander de l’aide pour élaborer cette liste)) à suivre afin d’assimiler tous les concepts dans l’ordre. La deuxième étape sera de trouver les informations pour chaque sujets, cela peut aller d’un simple tutoriel à un cours online et gratuit donné – justement – par une université. Internet a grandement encouragé le partage du savoir, autant en profiter!
Par où commencer?
Voici un extrait d’une discussions sur reddit:

LE livre donc par lequel commencer: SICP. Rendez-vous sur ce site, récupérez le livre – gratuitement – et étudiez-en le contenu. Etudier, c’est-à-dire lire, visionner les vidéos et – surtout – faire les exercices, tout les exercices! On n’est pas à l’école mais justement raison de plus! Il faut vraiment assimiler le contenu de ce bouquin. Un autre avantage de se focaliser sur ce livre est qu’il devrait susciter votre curiosité et vous pousser à approfondir vos connaissances dans le développement en général. Prenez note de chacun de ces domaines mais gardez-les pour plus tard! C’est aller (trop) loin que de dire qu’après avoir lu ce livre, vous serez plus avancé qu’un informaticien sortant de l’université. Par contre, ce sera certainement une excellente base! C’est un livre consistant mais gardez courage et aller jusqu’au bout1! Parallèlement à cela, mettez la main à la pâte: CODER! C’est en forgeant qu’on devient forgeron. Pour se faire trouvez un projet open-source plutôt que de partir dans votre coin. Trouvez un projet, récupérez le code source, modifiez, testez, jouez avec. Coder est peut-être la meilleure formation imaginable mais le plus gros avantage à développer sur un projet open-source est de cotoyer des développeurs expérimentés et souvent (très) talentueux – des geeks passionés. Si vous êtes perdus et que vous ne savez pas vers quel projet vous tourner, jetez peut-être un oeil à la demande sur le marché de l’emploi pour orienter votre choix en rapport à la technologie utilisée.
Troisième et dernier conseil, prenez régulièrement du temps pour parcourir les blogs de développeurs que vous appréciez, voir au fil du temps que vous admirez. Ajoutez encore à ces blogs, un ou deux sites communautaires tels que reddit (section programming) ou encore dzone et tenez-vous ainsi au courant des tendances actuelles, des expériences d’autres développeurs ou encore de l’état actuel des produits que vous aimez. Mais attention! Fixez- vous une limite à ce temps pour qu’il ne déborde pas sur les deux princiaples activités précédemment citées.
Quelques articles intéressants de développeurs
-
Teach Yourself Programming in Ten Years par Peter Norvig
-
Practicing Programming par Steve Yegge
-
How Not To Become a Rockstar Programmer Jeff Atwood
Avant de nous quitter
Le plus important: programmer doit vous faire plaisir! Si vous ne prenez pas de plaisir arrêtez, pour être développeur il faut être passionné. Devenir programmeur se résume donc à étudier, coder, et ce dans un cycle continu. Suivez-le si la passion vous anime! Voilà pour une liste non exhaustive de plusieurs choses à faire pour devenir – à mon avis – un bon programmeur…
Qu’en pensez-vous?
-
Je ne l’ai moi-même pas encore terminé mais je peux garantir qu’il vaut la peine d’être lu rien que pour ce que j’en ai déjà lu. ↩︎
Critique de livre: La Religieuse de Denis Diderot
Diderot révèle au moyen de ce roman les affres du monde religieux de son époque. Ce roman suit, semble-t’il, une affaire révélée au grand public mettant aux prises une religieuse ayant voulu faire annuler ses voeux. Celle- ci en est allée jusqu’au tribunal, mais malheureusement pour elle sans succès. Le roman met en oeuvre une religieuse, du nom de Suzanne, qui est envoyée au couvent sans avoir droit au chapitre. Principalement du fait que cette Suzanne serait née d’un autre père que ses deux soeurs ainées, histoire de famille donc… Il s’ensuit que pour Suzanne c’est loin d’être la vie rêvée! Elle finit par sortir du couvent une première fois pour rapidement se retrouver dans un autre… Eh oui Suzanne n’a pas de chance dans la vie! Ce n’est qu’après un dernier transfert qu’elle se trouve dans un troisième couvent où elle sera bien traitée. La vie semble - enfin - lui sourire. Au cours de ce troisième séjour, Suzanne explique toutes ses mésaventures à la mère religieuse. Cette mère-ci est d’ores et déjà très attachée à Suzanne et prend particulièrement à cœur les épreuves de Suzanne jusqu’à dire:
Il n’y a que dans les couvents où l’hummanité puisse s’éteindre à ce point. Lorsque la haine vient à s’unir à la mauvaise humeur habituelle, on ne sait plus où les choses seront portées.
Pleine de compassion, il s’ensuit une relation vraiment spéciale entre Suzanne et cette mère religieuse… Ca en devient érotique par moment et je dois dire que ça m’a pas trop conquis! Bref, je conseille cette lecture à qui veut lire du Diderot mais qui n’a pas peur d’entrer dans l’intimité de deux femmes ayant plus qu’une amitié platonique (bien que Suzanne soit toute naïve du début à la fin).
Pour aller plus loin
Une analyse de l’oeuvre: http://membres.lycos.fr/jccau/ressourc/romem/diderot.htm
Résumé 2008
Avec un peu de retard, je voulais quand même faire un petit bilan de 2008 et poser quelques objectifs sur l’année 2009.
Le boulot
2008 a marqué mes réels débuts au sein de Logica. Après mon stage de 3 mois à Lyon, j’ai débuté ma première mission chez Merck Serono où je travaille encore actuellement. Le métier de consultant est enrichissant et offre la possibilité de progresser dans beaucoup de domaines. Très heureux de pouvoir profiter de cette opportunité, je tiens encore une fois à remercier (si elle me lit) Patricia. Merci de m’avoir donné ma chance!
Le développement
Côté technique, j’ai passé la grande majorité de 2008 à coder en PHP - PL/SQL (Oracle) - HTML/CSS - JavaScript (YUI). Sur la fin de l’année j’ai également eu le plaisir de débuter un projet à temps partiel en Java (Spring, Hibernate, Castor)… A nouveau: très satisfaisant!
Lectures
Sur mes lectures de 2008, il m’est tout bonnement impossible de ressortir qu’une oeuvre du lot. Voici un petit melting pot de mes lectures préférées sur l’année:
-
Pour se marer: Gros problème de Dave Barry
-
Pour un beau français : Cyrano de Bergerac de Rostand
-
Pour gérer ses activités: Getting Things Done de Dave Allen
-
Pour une histoire touchante: For One More Day de Mitch Albom
-
Pour un moment d’Histoire: Le Maître de Garamond d’Anne Cunéo
-
Pour philosopher un peu mais pas trop: Hackers and Painters de Paul Graham
Ces bouquins ne quitteront pas de sitôt ma bibliothèque!
PoXd
Au niveau de ce blog, il y a eu du changement en un an avec la phase relooking dont je suis assez satisfait bien qu’il me reste encore une ou deux choses à régler. La fréquentation est également montée d’un cran, mais ça flatte juste mon égo à la limite… Ce blog existe surtout à usage perso. Evidemment s’il devient utile à d’autres, j’en suis ravi! J’ai également publié davantage de billets sur la 2ème moitié de l’année. En espérant pouvoir continuer sur ma lancée en 2009…
2009
Dans un an il y a 2 choses principales que j’aimerais pouvoir dire:
-
“J’ai terminé la lecture de SICP et - surtout - compris tout ce que j’y ai lu.” C’est un challenge, je l’ai toujours en tête et je fais ce que je peux pour le remporter mais c’est loin d’être facile!
-
“Voici ma première contribution à un projet Open-Source (autre qu’un projet perso).” J’ai déjà quelques idées de ce côté-là. Celà demande un peu d’investissement mais je suis persuadé que celà en vaut largement la peine. En plus le développement me passionne alors….
Au-delà de ces objectifs, j’aimerais beaucoup développer mes compétences business et élargir toujours plus mes contacts. J’ai beaucoup à apprendre de ce côté-là mais je préfère mettre plus l’accent pour le moment sur mes compétences techniques.
C’est reparti pour une année, rempli de volonté et de bons objectifs, souhaitons-là autant enrichissante!
Tests unitaires JavaScript avec YUI
La méthodologie TDD, on l’a vu, propose d’écrire les tests comme première étape de code. Mais comment s’y prendre en JavaScript? Jetons un oeil à la solution proposée par les développeurs Yahoo! Ceux connaissant Java ont l’habitude des frameworks tel JUnit ou encore TestNG. Le principe est le même avec YUI Test (développé donc par Yahoo!) qui va être utilisé lors de cet article. Si maintenant nous entrons dans le coeur du sujet, imaginons que nous ayons à programmer une fonction qui vérifie que l’entrée d’un formulaire est bien un nombre. Si l’on suit la méthodologie TDD, on écrit d’abord le test de cette fonction. Cela va donner quelque chose comme ça:
var oTestCase = new YAHOO.tool.TestCase({
name: "Test Common Fonctions",
setUp : function () {
this.data = [-1,1,' -1', '+1', 'a234', '034'];
},
tearDown : function () {
delete this.data;
},
testIsNumber: function () {
var n, notN, result;
n = this.data[0];
result = isNumber(n);
YAHOO.util.Assert.isTrue(result);
},
});
Quelques explications sont peut-être nécessaires:
-
On utilise ici l’objet YAHOO.tool.TestCase qui permet de rassembler nos tests. Dans l’idéal il faudrait veiller à garder un objet logique, c’est-à-dire ayant un ensemble de tests qui ont un rapport entre eux comme par exemple le test d’un fichier javascript spécifique.
-
La propriété _name _permet de savoir quel test a été lancé. On le verra plus loin, une console nous permet de savoir rapidement si des tests ont échoués ou réussis.
-
Les fonctions setUp et tearDown permettent de définir et détruire des objets nécessaires aux tests.
-
Les tests en eux-mêmes commencent par test (ici testIsNumber). Ces contiennent ce qu’on appelle des assertions, qui en l’occurence dans le cas présent va vérifier que la valeur retournée par isNumber vaut bien true. Dans l’exemple ci-dessus je ne teste que la première entrée du membre data, mais c’est un exemple, ce n’est pas un test complet. Pour bien faire ses tests, il faut essayer de tester tous les cas possibles.
Passons maintenant à la deuxième étape: l’implémentation de notre fonction isNumber:
function isNumber(chain) {
try {
intval(chain);
return true;
} catch (e) {
return false;
}
}
Nous avons donc notre implémentation de prête. L’exemple est ici très simple et j’espère qu’il ne déssert par la méthodologie dans le sens que ce n’est pas une perte de temps que de commencer par les tests. Un code dont on prend la peine de bien tester devient vraiment robuste et facilement maintenable. Le développeur garde également confiance en son code et si un nouveau développeur vient sur son code il peut rapidement se faire la main simplement en parcourant les tests! Bref, de nombreux avantages… Maintenant pour lancer les tests, c’est comme toujours très simple avec YUI:
YAHOO.tool.TestRunner.add(oTestCase);
var oLogger = new YAHOO.tool.TestLogger();
YAHOO.tool.TestRunner.run();
Et encore uniquement les deux dernières lignes sont nécessaires! En ajoutant la première on a l’avantage d’avoir un affichage plus précis sur une console comme celle-là:

Simple non? La documentation fera découvrir encore d’autres utilisations possibles de YUI Test mais encore une fois, je ne peux qu’encourager cette méthode de développement qui facilitera la vie à bien plus d’un!
Pour aller plus loin
-
La documentation de YUI Test pour découvrir toutes les possibilités du framework.
-
La vidéo (~50 minutes) qui m’a fait découvrir YUI Test.
-
Code source de l’exemple
-
Autre billet parlant de YUI Test en anglais qui va dans le même sens
Critique de livre: Un risque calculé de Katherine Neville
C’est histoire est sympathique et agréable. A découvrir par un dimanche pluvieux devant la cheminée… L’histoire tourne autour de Vérity Banks qui voudrait faire payer les banquiers verreux et corrompus. Elle-même travaille dans le mileu, à la sécurité plus particulièrement. Elle se lance alors dans un défi de plus grande envergure que ce qu’elle imaginait au départ et ce à cause (ou grâce) de Zlotan Tor… C’est assez bien écrit bien que ce ne soit pas l’histoire la plus captivante que j’ai lue. Si le milieu bancaire ou informatique vous intéresse, je vous le conseille. Sinon je ne pense pas trop qu’il en vaille la peine.
Les tekos sont plus proches des ordinateurs que de leurs congénères. Ils travaillent mieux la nuit, quand tous les animaux, à l’exception des rapaces, sont allés se coucher. Ils mangent peu et n’importe quoi, sans aucun souci de gastronomie. Ils ne voient jamais le jour. Ne respirent jamais de l’air frais. Ils ne s’épanouissent qu’à la lumière artificielle, dans une atmosphère climatisée. S’ils se marient, s’ils font des enfants, ils les répartissent en analogiques et en numériques. Ils peuvent se montrer arrogants, désordonnées, incontrôlables et antisociaux. Je sais tout sur les tekos, parce que je suis de la même race.