tag:blogger.com,1999:blog-5897316067942474322009-07-14T19:09:59.386-04:002101Un peu de tout, un peu de rien...Alainhttp://www.blogger.com/profile/09743445097442226493noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-589731606794247432.post-80737332524200027882008-08-20T20:50:00.002-04:002008-08-20T21:34:41.277-04:00PHP ou le retour aux sourcesIl y a quelques années de cela, alors étudiant en <a href="http://licenceinfo.univ-fcomte.fr/">licence d'info</a>, j'avais créé mon<a href="http://www.afaf-arbitres.com/"> premier vrai site Web</a> dynamique "from scratch" en apprenant <a href="http://www.php.net/">PHP</a>. Le vrai challenge étant de créer un <a href="http://fr.wikipedia.org/wiki/Content_management_system">CMS</a> avec un éditeur Javascript <a href="http://fr.wikipedia.org/wiki/Wysiwyg">Wysiwyg</a>. Aujourd'hui, je pense que je prendrais peur à la simple lecture de ce code de débutant écrit à grand renfort de copier coller.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.php.net/www.php.net/images/php.gif"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://static.php.net/www.php.net/images/php.gif" alt="" border="0" /></a>Après cette expérience j'ai plus ou moins tourné le dos à la création de site (à <a href="http://www.elixia.fr/">ça</a> et <a href="http://www.healthy-promenade.com/">ça</a> près) pour faire beaucoup de développement en Java, d'abord du pur <a href="http://fr.wikipedia.org/wiki/J2SE">J2SE</a> puis plus récemment <a href="http://fr.wikipedia.org/wiki/J2EE">J2EE</a> avec les <a href="http://fr.wikipedia.org/wiki/Jsp">JSP</a> et <a href="http://fr.wikipedia.org/wiki/Struts">Struts</a>. Je suis donc revenu au Web au travers des serveurs d'applications, ces solutions magiques qui sont supposées tout faire toutes seules, au final avec pas mal de sueur tout de même !<br /><br />Et voilà qu'il y a deux semaines de cela, j'ai débuté un nouveau projet en PHP. Fort de mes expériences passées et d'un langage qui a bien évolué, j'arrive à écrire du code dont je suis facilement satisfait, chose plutôt rare.<br /><br />Le fait d'avoir pas mal d'expérience en Java permet de décider facilement quand est ce que j'ai besoin d'objets et où s'en passer. Les quelques évolutions de PHP "à la <a href="http://fr.wikipedia.org/wiki/Python_%28langage%29">Python</a>" ne sont pas pour me déplaire non plus (fonctions à nombre d'arguments variable, valeurs par défaut pour les arguments, closures, etc...).<br /><br />Après quelques jours de travail, j'avais construit ma propre librairie me permettant une gestion des formulaires digne de Struts (sans les bugs...) et de faire évoluer mon site rapidement sans avoir recours à l'arsenal d'un serveur d'application. Je structure également plus facilement mon application selon le modèle <a href="http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur">MVC</a> grâce à l'expérience de J2EE et des actions Struts.<br /><br />Au final, je me suis complètement retrouvé dans <a href="http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html">cet article en Anglais</a> où l'auteur exprime des sentiments très semblables aux miens. Passer par la case "serveur d'application" est plus enrichissant que ce que l'on pense, probablement parce que ces architectures nous poussent à entrer dans un moule de pratiques pleines de bon sens.<br /><br />Le vrai bonheur étant celui de revenir aux sources, au sens propre comme au sens figuré : écrire du PHP, du SQL, du Javascript ou du HTML avec CSS2, ça donne vraiment l'impression d'entrer dans l'aire du <a href="http://fr.wikipedia.org/wiki/Web_2.0">Web 2.0</a> par la grande porte !<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589731606794247432-8073733252420002788?l=twentyoneohone.blogspot.com'/></div>Alainhttp://www.blogger.com/profile/09743445097442226493noreply@blogger.com0tag:blogger.com,1999:blog-589731606794247432.post-83756968989117022282008-08-11T19:53:00.002-04:002008-08-11T20:11:13.876-04:00Culture vidéoludiqueLes jeux vidéos sont souvent décriés parce que violents, bla bla bla, pas bien, tout ça tout ça. Aujourd'hui, la réalité a rattrapé la fiction. En effet, en 2001, un jeu auquel je jouais, appelé <a href="http://fr.wikipedia.org/wiki/Tom_Clancy%27s_Ghost_Recon">Ghost Recon</a> déroulait le scénario suivant :<br /><br /><div style="text-align: center;"><span style="font-style: italic;">"Durant les premières missions du jeu, les </span><i style="font-style: italic;">Ghosts</i><span style="font-style: italic;"> doivent </span><span style="font-weight: bold; font-style: italic;">combattre les forces rebelles d'</span><a style="font-weight: bold; font-style: italic;" href="http://fr.wikipedia.org/wiki/Oss%C3%A9tie-du-Sud" title="Ossétie-du-Sud" class="mw-redirect">Ossétie-du-Sud</a><span style="font-weight: bold; font-style: italic;"> du Nord de la Géorgie, qui sont en train de harceler le gouvernement légitime et ses alliés</span><span style="font-style: italic;">. (...) </span><span style="font-weight: bold; font-style: italic;">La Russie envoie alors l'armée</span><span style="font-style: italic;"> </span><span style="font-weight: bold; font-style: italic;">pour aider les rebelles d'Ossétie-du-Sud</span><span style="font-style: italic;"> (...) et l'armée américaine est </span><span style="font-weight: bold; font-style: italic;">incapable d'empêcher les Russes d'envahir la Géorgie</span><span style="font-style: italic;">"</span><br /></div><span style="font-weight: bold;"><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ghostrecon.3dretreat.com/images/grpic.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://ghostrecon.3dretreat.com/images/grpic.jpg" alt="" border="0" /></a><br />Le plus étonnant est que l'action était supposée prendre place... en Août 2008 !<span style="font-weight: bold;"> </span>Vous voulez savoir la suite ? <span style="font-weight: bold;"><br /><br /></span><div style="text-align: center;"><span style="font-style: italic;">"...ce qui déclenche une <span style="font-weight: bold;">guerre à grande échelle</span> entre les Russes et les Américains."</span><br /></div><br />Espérons que ce scénario là ne sorte pas du jeu. Un point que le jeu n'avait pas prévu, c'est que les Russes attaqueraient les sites du gouvernement Géorgien, qui s'est réfugié... sur <a href="http://georgiamfa.blogspot.com/">ce blog Blogger</a> afin de pouvoir communiquer sur le conflit sans risque d'attaque des hackers Russes.<br /><br /><span style="font-style: italic;">Google est partout !</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589731606794247432-8375696898911702228?l=twentyoneohone.blogspot.com'/></div>Alainhttp://www.blogger.com/profile/09743445097442226493noreply@blogger.com0tag:blogger.com,1999:blog-589731606794247432.post-82996987845006985732008-06-29T11:26:00.003-04:002008-06-29T11:36:24.306-04:00QWERTY... et les accentsVivre aux USA, c'est aussi avoir un clavier QWERTY, et ça c'est pas top pour écrire en Français. A moins d'apprendre par coeur le code ASCII de tous les caractères accentués, ou bien de mémoriser la position de tous ces caractères sur un AZERTY et de switcher le clavier en "AZERTY" au niveau de l'OS, je n'avais jusqu'alors pas vraiment de solution satisfaisante.<br /><br />Heureusement, il existe de petits logiciels utilitaires qui sauvent la vie... Ainsi, <a href="http://www.jlg-utilities.com/">QWERTY ACCENT</a> ajoute des raccourcis claviers bien utiles pour les utilisateurs de claviers QWERTY.<br /><br /> Par exemple, pour faire un"é", il suffit de faire ctrl + ' puis e. Pour faire un "à" : ctrl + ` puis a. Pour faire un "ç" : ctrl + , puis c. Etc, etc... Le diagramme ci dessous résume toutes les possibilités :<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.jlg-utilities.com/images/schema.gif"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://www.jlg-utilities.com/images/schema.gif" alt="" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589731606794247432-8299698784500698573?l=twentyoneohone.blogspot.com'/></div>Alainhttp://www.blogger.com/profile/09743445097442226493noreply@blogger.com0tag:blogger.com,1999:blog-589731606794247432.post-74681722756919566942008-06-18T21:55:00.003-04:002008-06-18T21:59:43.620-04:00Going greenJ'ai découvert une initiative intéressante (voir le <a href="http://350.brighterplanet.com/">badge</a> en bas à gauche du site) qui consiste à placer un badge sur son blog pour permettre de recycler 350 livres de carbone, soit l'équivalent de deux semaines sans utiliser la voiture.<br /><br />Bien entendu, on ne peut pas vérifier que cela réellement fait, mais l'initiative valait le coup de pub !<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589731606794247432-7468172275691956694?l=twentyoneohone.blogspot.com'/></div>Alainhttp://www.blogger.com/profile/09743445097442226493noreply@blogger.com0tag:blogger.com,1999:blog-589731606794247432.post-13182930353138981742008-06-08T13:56:00.002-04:002008-06-08T14:08:52.563-04:00WebDriver : Quelques reservesApres avoir approfondi WebDriver et sa simplissime API, j'ai trouve a ce jour deux restrictions (de taille) qui m'empechent de poursuivre son utilisation...<br /><br />La premiere restriction s'appliquait deja a Selenium : Les deux fameworks ne sont pas tres bons lorsqu'il s'agit de detecter si une page est completement chargee ou pas, en particulier lorsque l'on joue avec des frames ou des composants AJAX. La consequence directe est que certains tests echouent parce que le framework ne trouve pas un composant qui n'a pas encore ete charge... Frustrant.<br /><br />La deuxieme restriction n'existe pas dans Selenium mais est vraiment bloquante dans WebDriver. En effet, les fenetres modales Javascript (alert, confirm...) ne sont tout simplement pas prises en charge, ce qui fait que les tests restent pendus indefiniment, tant que quelqu'un ne clique pas sur le bouton approprie "a la main".<br /><br />Il semblerait que le premier probleme ait ete resolu par l'equipe de WebDriver et que la resolution du deuxieme soit planifiee. Au vu de la productivite de l'equipe projet (au moins une nouvelle revision du projet par jour) on peut conserver bon espoir de voir ce framework tenir toutes ses promesses prochainement.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589731606794247432-1318293035313898174?l=twentyoneohone.blogspot.com'/></div>Alainhttp://www.blogger.com/profile/09743445097442226493noreply@blogger.com0tag:blogger.com,1999:blog-589731606794247432.post-64249589290977637392008-06-01T12:59:00.002-04:002008-06-01T13:10:01.008-04:00Petit pétard mouillé deviendra grandCe blog est mon énième tentative de site perso, quasiment morte née, tout comme les tentatives précédentes. J'ai décidé de le reprendre en main. La règle sera simple désormais : Plus de règle, je parlerai de tout et n'importe quoi à chaque fois que j'en aurai envie, ce qui est généralement le concept même du blog, à savoir raconter ce qui nous intéresse au moment où ça nous intéresse.<br /><br />Je ne garantis rien concernant l'actualisation, mais j'essaierai de faire de mon mieux, au moins une fois par semaine serait déjà pas mal. Les news les plus récentes seront toujours <a href="http://usa.alain-chautard.net/">par ici</a> de toutes façons. Il n'y a plus qu'à croiser les doigts !<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589731606794247432-6424958929097763739?l=twentyoneohone.blogspot.com'/></div>Alainhttp://www.blogger.com/profile/09743445097442226493noreply@blogger.com0tag:blogger.com,1999:blog-589731606794247432.post-1141713275533281702008-04-03T18:01:00.004-04:002008-06-01T12:52:19.209-04:00Introduction à WebDriverTester un site Web semble être facile, mais ne serait ce pas mieux avec des tests automatisés et donc exécutables à l'infini ? <a href="http://selenium.openqa.org/">Selenium</a> semble être la référence à ce sujet, mais ils souffre de plusieurs lacunes. Le site Web de Selenium n'est pas très évident et manque de documentation (encore qu'il semblerait qu'ils soient en train d'y remédier) et j'ai malheureusement toujours le sentiment qu'écrire, maintenir et lancer des tests Selenium n'est pas chose aisée.<br /><br />Google, comme souvent, a une solution. Le projet <a href="http://code.google.com/p/webdriver/">WebDriver</a> propose une API très simple pour écrire et lancer des tests de sites Web écrits en Java, ce qui veut dire qu'ils peuvent par exemple se greffer très facilement sur le très répandu <a href="http://www.junit.org/">JUnit</a>. Installer WebDriver consiste simplement à ajouter une extension à Firefox ou à copier une DLL pour Internet Explorer. C'est ce qui fait d'ailleurs la force de Webdriver par rapport à Selenium : Selenium n'utilise que du Javascript alors que WebDriver prend le contrôle du navigateur, ce qui le rend plus rapide et probablement plus fiable que Selenium.<br /><br />Le code de l'API est composé de 3 archives jar ayant une taille totale inférieure à 100 Ko. Cela prend à peine 5 minutes pour écrire un premier test qui sera à la fois <a href="http://code.google.com/p/webdriver/wiki/GettingStarted">facile à lire</a> et à lancer. Au boulot, j'utilise mes heures perdues à travailler sur un exemple d'utilisation de Webdriver dans un environnement d'intégration continue. Je vous tiendrai au courant dès que j'aurai des résultats significatifs !<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589731606794247432-114171327553328170?l=twentyoneohone.blogspot.com'/></div>Alainhttp://www.blogger.com/profile/09743445097442226493noreply@blogger.com2tag:blogger.com,1999:blog-589731606794247432.post-38325573367968460422008-03-31T18:43:00.004-04:002008-11-15T05:49:31.477-05:00Qui suis je ?Je suppose qu'il est toujours intéressant de connaître deux ou trois choses à propos de l'auteur d'un blog. Je suis un jeune Français de 25 ans expatrié aux USA pour raisons professionnelles. Dans la vie de tous les jours, je suis ingénieur en développement logiciel. Je suis marié avec <a href="http://a2lyn-creations.over-blog.com/">Adeline</a>, nous n'avons pas encore d'enfant et nous nous sommes installés aux USA en Janvier 2008.<br /><br />Nous sommes aux US pour 2 ou 3 ans, voire plus si affinités. Nous sommes bien contents d'avoir fait ce grand saut et avons du pain sur la planche pour visiter et découvrir cet immense pays. Nous avons un autre <a href="http://usa.alain-chautard.net/">site Web</a> qui nous permet de partager nos photos et aventures avec notre famille at amis en France.<br /><br />Je suis passionné de foot et je joue pas mal aux jeux vidéo. En France, j'étais arbitre de foot (photo ci-dessous) et j'ai entamé les démarches pour faire la même chose aux USA. J'apprécie également les bons films, les promenades dans la nature et voyager...<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_M8WngG8eoss/R_FtEVeJHgI/AAAAAAAAED0/_gpRUZaEg-8/s1600-h/DSC00448.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_M8WngG8eoss/R_FtEVeJHgI/AAAAAAAAED0/_gpRUZaEg-8/s320/DSC00448.JPG" alt="" id="BLOGGER_PHOTO_ID_5184044567330627074" border="0" /></a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589731606794247432-3832557336796846042?l=twentyoneohone.blogspot.com'/></div>Alainhttp://www.blogger.com/profile/09743445097442226493noreply@blogger.com0