mini_150

Embed Size (px)

Citation preview

3:HIKONB=^UZ^Z]:?a@l@p@a@a;M 04319 - 150 - F: 5,95 E Printed in EU - Imprim en UE - BELGIQUE 6,45 SUISSE 12 FS- LUXEMBOURG 6,45 - DOM Surf 6,90 Canada 8,95 $ CAN - TOM 940 XPF - MAROC 50 DH NOUVELLE FORMULEmensuel n150 - mars 2012MatrielLa maison 100 % geek et la variable WAFL G H B C B Z ! D G O U O G V G L O P P G H G D T150Dveloppeuse un dveloppeur comme un autreVeille technoWebKit, pire que IE 6 ?ScuritHTML 5, une passoire ?Faire carrire, les nouvelles comptences, les salaires, quel avenir ?NumroFier dtre dveloppeur !Source Microsoft D.R.DCOUVREZ LE NUMROsommairenumro 150 - mars 2012Donnez votre avis sur ce numro : www.programmez.com/magazine_ RESSOURCESNotre slection de livres ................................................22Agenda ..............................................................................23SAVOIR-FAIREClasses Coffeescript versus Classes Java..................47BUZZWORDHTML 5, future passoire du web ? ..................3ACTUSEn bref ............................................................................6WebKit : pire que IE6 ? ..........10Angie/ xbrain soft frappe trs fort !......................12MATERIELProteus et la matrise de la mtrique WAF..........14VEILLETECHNOHadoop : pourquoi lutiliser ? ..................................16Dcouvrir Hadoop sur Windows Azure..................1712Avril 2012 - n151, parution le 31 mars 2012Un numro ne pas manquer !f HTML 5 de A ZDbuter avec HTML 5, la scurit, la compatibilit, les outilsf SQL Server 2012f Windows 8f Visual Studio 11f Choisir son outil demodlisation UML10Fier dtre dv. ............................................................25Grande Enqute : le dveloppeur aujourd'hui ..........................26Quelles sont vos priorits pour votre carrire ? ..................................................................32 Dveloppeuse : un dveloppeur comme un autre......34Soumow, Carmen, Sarah, Julie, Lucie, Laika, Amira,7 dveloppeuses dhorizons diffrents tmoignent ................35Comment allons-nous dvelopper dici 5 10 ans ? ............44DOSSIERFIERDTREDVELOPPEUR!Image Microsoft D.R.Avec ce numro 150, et notre prochain14eanniversaire,cestloccasiondunrapide coup dil sur le pass.Le lancement de Programmez !tait un dfi : informer sur le monde du dveloppement logiciel.Leseconddfiaujourdhuiestdelefaireautraversdunmagazine. Tant que vous continuez nous acheter chez votremarchand de journaux ou vous abonner, vous justifiez notremission.Chaqueexemplaireestsouventluparplusde4personnes,auseindesquipes,cequidmontreleprofondimpact de la revue et son utilit.Maisbienentendu,laconsommationdelinformationestenpleinemutationetProgrammez!doitcontinueramliorersesdclinaisonsdigitales:web,formatsnumriqueslisibles,et versions mobiles et tablettes venir. Ce dfi des interfaces,vous le connaissez au quotidien sur vos projets et ceux de vosclients.Au-deldelaforme,nousnousdevonsdevousapporterlecontenu utile et concret, voire les services que vous attendez.Lepremierdentreeuxestcetteexigencedobjectivit.La baseline initiale tait le magazine de tous les langages .Depuis le dbut, nous avons veill vousinformersur touteslestechnologies.Nouscontinueronslefaire,etnourrirainsi les plus curieux dentre vous, ceux qui ne se contententpasderabcherlemmecode,etveulentdcouvrirdunouveau.Pas de diplme de dveloppeur!Il y a sans doute plus de 300 000 dveloppeurs francophones.Ilnexistepaseneffetdestatistiqueofficielle.Nide professionclairementidentifie!Lesrecruteursparexemplerecherchentdesingnieurs,ou(encore!)desanalystes-programmeurs.Ettoujourspasundiplmequireconnaisselemtierdedveloppeur.Biensr,ilyadesdiplmes d ingnieur , d experts en technologie logicielle ,des certifications prives sur tel ou tel langage ou outil. Maisle mtier en est-il vraiment un,demeurantnon sanctionnparuneformationdiplmanteexplicite,contrairementauxcoiffeurs, infirmires, moniteurs dauto-cole, mdecins etc.*Cela confre au dveloppeur lavantage paradoxal de rester unternelautodidacte.EtconserveProgrammez,pourlesnombreuses annes venir, la mission dtre un outil de veille,dinformation, et de formation permanente.# Jean KaminskyVoir la page de lOnisephttp://www.onisep.fr/Ressources/Univers-Metier/Metiers/developpeur-euse-informatiquesatisfaction.php CASDUSAGEMigrer du code Drupal 6 vers Drupal 7 ....................56PRATIQUEA la dcouverte du langage R........................60Mise en application des nouveauts de WindowsPhone 7.5 ............................64JEDBUTEPremiers pas avec jQuery ..........................69GAMINGCrer des jeux Flash 2D acclrs GPU avec Starling ........................74WEBMASTERPlay Framework : enfin un renouveau pour les applications Web crites en Java..................78BUGTRACKLes bugs vicieux du multithread ..................8117Abonnement: Programmez,17,ChemindesBoulangers,78926Yvelines Cedex 9 - Tl. : 01 55 56 70 55 - [email protected] - Fax : 01 55 56 70 91 - du lundi au jeudi de 9h30 12h30et de 13h30 17h00, le vendredi de 9h00 12h00 et de 14h00 16h30. Tarifs abonnement (magazine seul) : 1 an - 11 numros Francemtropolitaine : 49 - Etudiant : 39 - CEE et Suisse : 55,82 -Algrie, Maroc, Tunisie : 59,89 Canada : 68,36 - Tom : 83,65 - Dom : 66,82 - Autres pays : nous consulter. PDF : 30 (MondeEntier) souscription exclusivement sur www.programmez.comEditeur: Go-02sarl,[email protected]. Rdaction : [email protected] de la Rdaction : Jean Kaminsky. Rdacteur enChef : Franois Tonic - [email protected]. Ont colla-bor ce numro : F. Mazu, Y. Grandmontagne. Experts :S.Amer,J.Delhomme,P.Charrire,S.Morin, G.Bougenire,F.Nicollet,L.Descotte,C.Pichaud, D. VojtisekIllustrations couverture : Microsoft D.RPublicit : Rgie publicitaire, K-Now sarl. Pourlapublicituniquement:Tl.:[email protected] :parution-Commission paritaire : 0712K78366 ISSN : 1627-0908.Imprimeur:S.A.CorelioNevadaPrinting,30alledelarecherche, 1070 Bruxelles Belgique.Directeur de la publication : J-C VaudecraneditoFiers dtre auservice desdveloppeurs !6474EXTRAITDE PROgrammez ! < 4 > MARS 2012Lditeur National Instruments organisait le7fvriersonvnementannuelauCNITde Paris La Dfense. La 15e dition franaisedeNIDaysaattirplusde1100visiteurs,soit une affluence record.Ilfautdirequelvnementestunrendez-vous incontournable du monde de la concep-tion, du test et du contrle sur PC. NationalInstrument est un leader incontest sur sonmarch et excelle animer son cosytme :clients, distributeurs, mais aussi universits,lyces. Les 70 confrences, les travaux pratiques sur LabView, le soft de lditeur et 72 standssarticulaientautourdenombreusesthma-tiques:programmationgraphique,acquisi-tiondedonnes,capteurs,instrumentation,mesure RF,contrle/commande, conceptiondesystmesembarqus,enseignement,recherche,services... LecosmonautefranaisPatrickBAUDRY,invit star de la confrence plnire, a parta-g son exprience de pionnier de lEspace etsa vision de linnovation.> Coupes de robotiqueParmi les temps forts de ldition 2012, unenouveaut,l apremi redi ti ondedeuxcoupes de robotique : la premire rserve auxlves de lycestechniques - avec le kit LEGO MINDSTORMSNXT-remporteparlInstitutSaint-LouisdArmentires la seconde pour les tudiants de lenseigne-mentsuprieur(avecleStarterKitRobo-ticsdeNationalInstruments),remportepar lISAT. En savoir plus sur ces comptitions et voir lesvidos : http://franceom/nidays/participez/ concours-robotiquegApple advoilmi-fvrierlaprochaine mise jour majeure de sonsystmeOSX:OSX10.8al i asMountainLion.CetteversionseraenquelquesorteunaboutissementdelaOSX10.7Li onetd unnouveaurapprochemententreOSXetiOS.CertainesfonctionsetapplicationsdusystmemobileseretrouverontdansOSX(notification,Notes,iMessageparexempl e).Cetteversi onproposerauneintgrationplusfinedesservicesenlignedApple:iCloud.Ceux-ciserontpardfautprsents,surtout,lasynchronisationdesdocumentsetapplicationsseralargementrenforce.Dautrepart,lesapplicationspourrontdi rectementaccderauxdocumentssuriCloud.SurlapartieAPIetlibrairies, Apple retire X11 et Java (propossen tlchargement supplmentaire). X11 estremplacparunelibrairiegraphiqueplusmoderne : XQuartz. De nouvelles versions deXCodesontdisponiblespourcommencertravailler immdiatement dessus. OS X 10.8estactuellementrservauxdveloppeursrfrencs,laversionfinaleseradisponiblecourant de lt.i actu [ dveloppement ]NIDays 2012 : plus de 1 100 visiteurs gC++ 11 et Visual Studio. Durant les Microsoft Techdays, nous avons croisquelquesmembresdelquipeC++/VisualStudiodelditeur.Unebtaseradisponibledans quelques semaines et apportera de nombreuses nouveauts et amliorations par rap-port la version alpha actuelle. Surtout, quen est-il de C++ 11? Lquipe distingue lesnouveauts librairies et les nouveauts langages. Les nouveauts librairies seront suppor-tes par le prochain Visual Studio. Par contre, les nouveauts langages, plus nombreuses,seront implmentes au fur et mesure, pas de prcision sur la manire de rajouter ceslments langages. Concernant lutilisation de C++ 11 sur Windows, les tests internes sontprobants et les deux fonctionnent bien ensemblegGoogle livreunnavigateurChromium(labasedeChrome)compatibleaveclelangageDartquise veut une alternative Javascript.Son surnom est dartium. Il inclut unemachinevirtuelleDart.Parcontre,Googleprvientqu ilnefautpaslutiliser comme navigateur de travail.Lusage de Dart se fait sans ajout decode ni de composants. Dartium estdi sponi bl epourMacetLi nux,l aversionWindowsseradisponibleprochainement. Site : http://www.dartlang.org/dartium/gOracle futuracteurmajeurducloudJavaetparticulirementdelacoucheplate-forme?LditeurveutltreassurmentavecOraclePublicCloudetleJavaCloudService,uneoffrePaaSJava.Ilsagitdeproposerunmodl ededvel oppement,unepl ate- f ormededpl oi ementetdexcutionJavaEE6.Ledveloppeurdisposera de toutes les API et librairiesJEE et du support des frameworks tierscommeSpring,Hibernate.Lesoutilstels que Maven et Ant seront eux aussisuppor ts.JavaCl oudSer vi cefonctionne sur des instances contenantunserveurdapplications(WebLogicServer 11g) pour pouvoir excuter uneappl i cati onJava.Pl usi eurstypesdinstancesserontdisponibleslorsdulancementofficielduservice.Pourlesouti l sdedvel oppement,i l serapossible dutiliser JDeveloper, Eclipse ouNetbeans. Site : http://cloud.oracle.comgMySQL se met jour. Le SGBDestmaintenantdisponibleenversion7.2pourlditionClusteravecuntauxdedi sponi bi l i tde99,99%( di xi tOracle).Cetteversionmiseaussibiensurl eSQLquel eNoSQLavecMemcached.Oracleveutprofiterdesdeuxmondes.D autrepart,MySQLCluster 7.2 est certifi Oracle VM (partievirtualisation).Loutildadministrationalui aussi t mis niveau. EXTRAITDE PROgrammez ! < 5 > MARS 2012i actu [ dveloppement ]gMozilla commence parler, un peu,desonproj etdesystmemobi l e:Boot2GeckoutilisantHTML5.IlincluraunjeudenouvellesAPIweb,unmodebootpour les terminaux. Linterface est le projetGaiadontlessourcessontdisponiblessurgit. Gecko fera office de moteur dexcutionpourl esappl i cati ons.Gonkestl ebasniveau du systme avec un noyau Linux. Source interface : https://github.com/andreasgal/gaiaWiki B2G : https://wiki.mozilla.org/B2GgAdobe se prpare lancertoute une srie de nouveaux outilsdedveloppementetdecration,dontl outi l Musepourcrerrapidement des sites web. La bta6atpubl i el e15f vri erderni er.Cettepr- versi onfonctionnesurMacetWindows.Musepermetdecrertrsrapidementlenchanementdespages,ledesign,letoutenvitantdecrerlecodederrire. Il apporte aussi un haut niveau de personnalisation et dobjets media. Site : http://muse.adobe.com/betadownload.html?trackingid=JPSSNgMozilla renforcelesoutilspourlesdveloppeurs dans Firefox : - AvecPageInspector,lesdveloppeurspeuvent examiner la structure et la disposi-tiond'unepagesansquitterFirefox.Celaleur permet de naviguer rapidement entreles lments de la page et de visualiser lastructure HTML de la page.- StyleInspector simplifiegalementlamanire dditer le style des sites Web : lesdveloppeurspeuventmaintenantaccderfacilementauxpropritsCSSetafficheroumodifierlesvaleursdeleurspagesdepuis Firefox.- Scratchpad utilisemaintenantl'diteurdecode Orion d'Eclipse, et offre la coloration syn-taxique ainsi que d'autres fonctions qui facili-tent et simplifient l'criture de JavaScript.Disponible pour les versions Windows, Macet Linux.gJetbrains annoncelaversion4desonoutildedveloppement,RubyMine.L'outil bnficie d'amliorations sensibles deperformance,d'unetoutenouvelleinterfacegraphi que,d' di teursCof f eeScri ptetSCSS/LESSaml i orsai nsi quedenombreusesnouveautspourfaci l i terl'critureducode.RubyMine4prendencharge le framework Rails jusqu' la version3.2etintgrePhusionPassengerentantqueserveurpourl'excution/ledbogage.Onnoteencorel'amliorationdestestsetdudbogageavecpri seenchargedeMinitest 2.10 et de RSpec 2.8.gLesrumeurslesplusfollescirculentautourdeAndroid5.0.Leprochainsystme serait disponible ds lt prochainselonDigitimesmaisbeaucoupdoutentdela ralit de cette sortie si proche de la v4quiatoujoursdumaltredployesurlesterminaux.EnralitnousnesavonspasgrandchosedelaprochaineversiondAndroidquiapournomdecodejellybean.LaprochaineconfrenceI/O,enmai,devraitnousclairer.Windows8aurait-ilpoussGoogleagirplusvitequeprvuauri squedebouscul eruncosystmequiesttoujoursenmigrationvers la v4 ?gOracle maintient le support de Java6SEjusquennovembre2012.Jusquprsent,Oracleavaitfixjuilletmaissansdoute que la transition vers JDK 7 est pluslongue que prvu et il faut laisser le tempsaux entreprises de migrer, ce qui nest pasforcmentunepriorit.LditeurrappellesesrglesdusupportdelaversionSE: 3ansaprsladisponibilitgnraleduneversion majeure, 1 an pour les mises jourmajeures. gH.264 va bientt laisser sa place unenouvellespcificationducodecdecompressionvido,H.265.Cetteversiondevraitpermettrederduirelepoidsdesvidode50%etseraprtepourlatrshautedfinition.Sonlancementnestpasprvu avant dbut 2013, peut tregLes dveloppeurs du framework dojoprparentladisponibilitdelav1.8.Cetteversion apporte de nombreuses nouveauts :ref onteducomposantE/S,nouveaucalendrier,tactileetHTML5,meilleurepriseenchargedestermi nauxmobi l es,supportamliordeSVGetCanvas.Uneversionmajeurepourle dveloppeur !gXamari n annoncel anouvelle version de MonoTouch, lav5.2.LoutilpermetdegnrerdesapplicationsiOSpartirduncodeC#.Cetteversi onestimportanteparlesnombreusesamliorationsetnouveauts(plusde300):nouveaumoteurdegarbage,profilingdemmoire,APIdedialogue,testsunitaires,nouvelles librairies Cette versionest disponible immdiatement !EXTRAITDE PROgrammez ! < 6 > MARS 2012Webkit est-il rellement la cause ? Pas sr !Premierconstat,leproblmenestpasrellementnouveau.Ilexisteplusieursmoteursderendu,citonsgecko,webkit.Microsoftnouvrepaslesien.Soyonshon-nte, personne na forc la main Google,Nokia, Google implmenter WebKit. Applene force personne limplmenter. Le pro-jetWebKitestunprojetouvertquivolueconstamment, charge aux diteurs dutili-serlesversionsrcentes,ounon.Lefaitque ce moteur soit omniprsent sur les ter-minaux mobiles, cest moins vrai sur desk-top,mmesi Chromeaf or tementprogress,estaussiunpeulehasarddumarch,lesutilisateursachetantaujour-dhui des smartphones / tablettes Androidet iOS. Naurait-on pas dit la mme chose siWindows Phone 7 stait impos ? Oui il se pose un rel problme doptimisa-tion pour les sites mobiles en ciblant web-kit. Mais pour le dveloppeur, un diteur, laquestion est de savoir sil veut ou non offrirle confort aux utilisateurs mobiles qui utili-seront,sanslesavoircarcenestpasleproblme de lutilisateur, un moteur webkit.Si le site saffiche mal, linternaute ira sou-ventailleurs.Cestuneralitmarch(etdonc conomique) ne pas ngliger.Oui,idalement,ilfaudraitarrterlusagedesprfixesCSSetduuser-agent,bannirlusagedepropritsCSSexprimentalespourununiquemoteur.Cespropritsexprimentales peuvent changer ou encoreil sagit de proprits non incluses dans laspcificationofficielle.Ouiilnestpasnor-mal quedesnavi gateursnon- webki tveuillent inclure le prfixe webkit pour trom-per le site web ce qui serait, selon nous, unvritable aveu de faiblesse de ces diteurs. Que faire ? Il ny a aucune solution miracle.Apple et Google peuvent tre responsablespourlefaitquelesguidelinespoussentutiliser des fonctions non standard mais ilsnobligentpersonneintgrerwebkit,nimme des lments propres la platefor-me anime par webkit. On peut aussi poserla question inverse, pourquoi un Mozilla napas su jusqu prsent offrir un moteur derendu aussi populaire que WebKit sur mobi-le ? Nous ne pouvons pas blmer les dve-loppeurs,mmesilsvontsansdouteauplus simple. Et le W3C dans tout cela ? Laquestion est pertinente car il est cens dfi-nirlesspcificationsetdonclestandard.Oui, un standard prend plusieurs annes dfinir mais aujourdhui, le temps du W3Cnest pas celui de lindustrie, HTML 5 est unautreexempleproblmatique.Lasolution,sisolutionilya,estcomplexe.Ilfaudraitque le W3C et lensemble des acteurs pro-posent des alternatives, des solutions cr-diblesetrapidement,pasdansunanoudeux ans. # F.T.i actu [ dveloppement ]Appel laction : le web ouvert a besoin de vous maintenantWebKit,lemoteurderenduaucurdeSafari etdeChrome,i nstal l dansl esiPhones, iPads et les priphriques Android,est maintenant le navigateur ultra-dominantdansleWebmobileettechniquement,leWebmobilecomportedenombreuxsitesne-fonctionnant-quavec-WebKit...Ducoup,lesautresnavigateursetleursutilisateursnont nouveau que leurs yeux pour pleurer.De nombreux sites dtectent lAgent Utilisa- pourrendreleurssitescompatiblesavecMozilla, Microsoft ou Opra. Mais ils ne lontjamais fait. Laissez-moi tre trs clair : ce nest PAS unesituation hypothtique et je ne parle pas icidequelquechosequipourraitarriver.Touslesfabricantsdenavigateursnousontoffi-ciellement fait savoir que cela arrivera bienplusrapidementquonnepourraitlecroireparcequilsnont,jecite,pasdautreoption . Clarifions un autre point : ce nestPASunmanquedinnovationdelapartdeteur des navigateurs et filtrentlesnavigateursnon-WebKit.Tout comme par le pass avecIE 6, ce nest pas une questiondinnovation mais de monopoledumarchparlematrieletles logiciels fournis avec celui-ci. Il y a cependant un aspectduprobl mequenousnavions pas lors de lre IE 6 :ces sites Web sont galementspcifiquesWebKitparcequilsutilisentdespropritsCSS exprimentales exclusivement prfixespar-webkit-*etsansutiliserleursquiva-lentsMozilla,MicrosoftouOpera.Ainsi,mme sans aucune dtection du navigateur,ces sites Web apparatront toujours casssauxnavigateursnereposantpassurWeb-KitDansbeaucoup,voiredanslaplupartdescas,lesproprits-webkit-*quecessitesspcifiquesutilisentontdesquivalents-moz-*, -ms-* ou -o-*. Les crateurs de sitesWeb nont besoin que de quelques minutesWebKit : pire que IE6 ?Avertissement : il sagit de la traduction dun post original de Daniel Glazman, co-responsabledu CSS Working Group au W3C. Traduction assure par lopenwebgroup(http://openweb.eu.org/). Nous en reproduisons ici de larges extraits.PROgrammez ! < 11 > MARS 2012i actuces fabricants de navigateurs,dautant plus quils supportentBIEN une proprit mais avecleurpropreprfixe,suivantainsilesrglesdugroupedetravail.Lesprfixesconstruc-teurnontpaschou.Ilsnesont pas parfaits, mais ils pr-serventduchaoslesauteursdesitesWeb.Nouspouvonscertainementlesamliorermaisnouslepouvonsunique-ment si les prfixes construc-teurrestentdesprf i xespropreschaqueconstruc-teur.Cettesituationsestproduitedans le pass avec IE 6, quandlesnavigateursfonctionnaientuniquementsurlesordina-teurs de bureau, et il a fallu dixlongues annes pour en sortir.Aveclesmilliardsdenaviga-teurs mobiles daujourdhui, leWebpourraitnejamaissenremettre.Cela nedoit pasarriverJe demande toutelacom-munautdescrateursdesitesWebdar-rter de faire des sites unique-mentpourWebKi t,enparticulierlorsquajouterlesupportdesautresnaviga-teurssersumecri requelquespropritsCSSpr-fixes supplmentaires.Jappelle toute la communautdescrateursWebcesserderecommanderdessiteswebquincessitentdutiliserunseultypedenavigateur,alorsquilspourraienttrecompatiblesavecplusieurs.Ne faites pas de lien vers eux,nelesmentionnezquepourdire la communaut quils nerespectent pas le Web ouvert.Nenourrissezpaslestrolls,mettez-l essurl i stenoi re,quimportelutilitduservicequils fournissent.Jappelle toute la communautdes crateurs Web mettre jourleursservicesenlignepourprendreenchargelesautresnavigateurssiceux-cioffrentunniveaudesupportCSSquinexistaitpasparlepass. Jappelle lensemble de la com-munautduWeb,touslesinternautes,contacterlesauteursdesi tesetseplaindresileursitenefonc-tionne quavec un seul moteurde rendu alors quil pourrait lefaireavecplusieurs.Aidez-nous diffuser la bonne paroleauprs de ces sites Web pourgarantirquelarchitectureduWeb demeure sre pour tous,quelle demeure base sur desstandardsWebconsensuelsetouverts.Parcequesidesditeurs de navigateurs impl-mententlesprfixesdautresnavi gateurs,anepeutconduirequunchaosdelamagnitude de celui de lpoquedIE 6. Jedemandeaussiauxdi-teursdenavigateursquisontderrireWebKit,cest--direApple et Google, de soumettreaussi vi tequepossi bl eaugroupedetravailCSS,toutesleurspropositionstechniquespourlespropritsCSSpro-pritaires quils ont laiss utili-serparlemondeentiersurl espri phri quesi OSetAndroi d,etqui nui sentauWebouvert.-webkit-text-size-adjustestunexempledunetelleproprit.Remarquezque les reprsentants dAppleauCSSWGontaffirmquilsleferont,etjelesenremer-cie.Sicespropritssontsibien implmentes et si utiles la navigation Web sur mobi-le,ellesdeviennentdefactodes standards ; transformons-lesdsquepossibleenstan-dards de jure au travers de lastandardisation du W3C.LeWebouvertnedoitpassouffrir dune telle dcision.EXTRAITDE PROgrammez ! < 7 > MARS 2012EXTRAITDE PROgrammez ! < 8 > MARS 2012Lassistantintelligentdoittrecapabledtre prsent partout quel que soit leterminal, le systme. Il se doit dtre leplus indpendant possible de la plateforme. Ilapprenddevousparlesrseauxsociaux,vosinformations,vosdplacements,votreannuaire,bref,touteslesdonnessuscep-tiblesdtreanalysesetinterprtesparAngie.Parexemple,voustesamateurdemuse,Angiepeutgolocaliservotreposi-tion et savoir si des muses sont proches devous ou non. Il peut tre une aide personnel-leauquotidienpourgrerlesrendez-vous,l esanni versai res,f ai redesl i stesdecadeaux.Outoutsimplement,trouverunestation dessence au meilleur prix. Angie, au-Angie : xbrain soft frappe trs fort !La dmonstration en direct, avec une connectivit rseau alatoire, de la plateformeAngie a t sans doute lannonce centrale des Microsoft TechDays 2012. Nousparlons ici dune nouvelle gnration dassistants personnels intelligents dontlorigine vient des agentsconversationnels. Angiehrite des premiresrflexions autour desagents et assistantsintelligents dont lespremiers prototypes avaient t dvelopps par Wygwam il y a 5 ans. deldumoteurtechnique,estunagrga-teur de donnes, il faut alors pouvoir acc-der aux bonnes donnes pour offrir les bonsservices. Cest en quelque sorte une utilisa-tion relle de lide de Big data. Finalement, Siri dApple a lambition de pro-i actu [ dveloppement ]Assistant personnel, assistant digital, ksako ?Ilsagitdeservicesddisaubien-treetaugaindetempsdelutilisateur.CesAssistants Personnels seront de plus en plus prsents dans nos vies. Ils agrgent desdonnes, sont disponibles sur toutes les interfaces, et vous pouvez leur parler en lan-gage naturel. Quelques scnarii possibles :Vieprive: Danstouslesinstantsdelaviequotidienne,votreAssistantPersonnelpourra vous prvenir de la mto, anticiper vos rendez-vous, raliser des tches. Plusspcialis,DealerdeZikvousoffrelapossibilitdeneplusjamaismanquerlesconcerts dartistes que vous aimez, ou cre pour vous des playlists en fonction de vosgots.Vie professionnelle : Votre Assistant Personnel pourra rserver une salle de runion,prvoir vos retards, anticiper votre besoin de rserver un taxiMaison Intelligente : Une maison que lon commande par la parole et le geste, qui peutrechercher une baby-sitter disponible ou encore enregistrer automatiquement les mis-sions TV dans vos prfrences, si elle dtecte que vous ntes pas la maison.E-Commerce : pour rpondre lenjeu dune exprience de e-commerce personnalisepour chaque internaute, le Smart Vendeur conseillera et assistera vos clients, il devien-dra le super-vendeur pour tous.poser un assistant personnel mme si celui-ci reste limit iOS et si ces possibilits sontencore trop limites pour tre utilises par-tout (ce qui est frustrant au quotidien maison peut dj faire pas mal de choses). > La plateforme Angie etson architecture logicielleAngiereposesurunearchitecturerelative-ment simple comme le montre le schma ci-dessus.Le cur de la plateforme est un serveur IASet les services digitaux, de l, les rsultatspassentparunmoteurdereconnaissancevocaleetdesynthsevocale.Lutilisateurreoitlersultatsursonterminal(smart-phone, tablette, PC, TV, objet connect). Larequte (vocale) est faite depuis le terminaletenvoyeauserveurIASparlemoteurvocal. Finalement, lapplication Angie ne faitrien hormis proposer une interface. Lintelli-gence,lestraitementssefontsurlesser-veurs.Dolimportancedelaqualitdurseau(wifi,tlphonique).Pluslerseauseramdiocremoinslutilisabilitserabonne.Ces technologies tant sensibles la qualitrseaummesilesrequtesvocalespeu-... Suite dans le magazine EXTRAITDE PROgrammez ! < 10 > MARS 2012Le rseau Proteus est compos de 6 ser-veursphysiques,2serveursvirtuels,1Grid de compilation et 3 Media center. Ctserveurs : 1 serveur de domaine pour grerla scurit au niveau du rseau, cest gale-ment lui qui gre lauthentification du lecteurbiomtrique qui scurise la porte du bureau.1 serveur de stockage dune capacit de 8To pour distribuer au niveau rseau tous lestypes de medias. 1 serveur de sauvegardequieffectueuneoprationdesauvegardepar image de tous les serveurs une fois parsemaine. 1 serveur SQL de trois instancespourgrerlesenvironnementsdeproduc-tion, dhomologation et de code source pourTFS.1serveurTFSavecunearchitecturepermettantdebnficierdunenvironne-ment dhomologation et de production. Poureffectuer la compilation ce serveur utilise leGrid de compilation, et publie les diffrentsbinairessurlesdeuxserveursdhomologa-tion et de production dont je vous ai parl unpeu plus haut.Proteus & la matrise de la mtrique WAFi matriel[ dveloppement ]Tout dabord, donnons une dfinition du WAF. Le WAF cest votre capacit faire accepter votre moiti toutes les lubies du Geek que vous tes, sans pourautant vous envoyer devant le juge du tribunal des affaires familiale pour uneprocdure de divorce !COMMENT A TMONT CE RSEAU ?DesserveursDell1Uonttlabase de ce rseau. La principalemodificationentermesdematrieltenait dans la disparition des 8 ventila-teurs dorigine afin de mettre lquipe-mentdansunbotier4UetsurtoutpourpouvoirbrancherletoutautourdeventilateursNoctua.Bruitinexis-tant et a cest 100% WAF ! Ct vo-lutionjelesmigrechacunleurtourvers des Core I7.Lorsquevousavezcetypedquipementle vrai besoin est surtout de ne pas sem-baller ct consommation lectrique. On vadonc allumer uniquement les serveurs dontonabesoinquandonenabesoin.Ctextinction des serveurs il ny a pas vraimentde problme effectuer une extinction dis-tance, sauf en cas de plantage de la machi-ne.Lapar ti eal l umagereprsentegalement un problme de taille. LutilisationduWOLnestpassystmatiquementpos-sible. La vraie solution, cest le Hard But-ton , et oui, on na jamais rien fait de mieuxque le bouton manuel On / Off. Cest l quele Lego Mindstorm entre en jeu. Un raildechaquect.LabriqueNXTposesurune planche en bois accompagne dun petitbrasquireoitunboutonpoussoiretuncapteur de couleur. (Tout ceci en .Net biensr, si le code source vous intresse nhsi-tezpasmesolliciter).Apartirdecemomentllesserveursbnficientdunesolution dallumage et dextinction manuelle.PROTEUS QUEST CE QUE CEST ?ALLUMAGE ET EXTINCTION DISTANCESANS LE WOL !... Suite dans le magazine EXTRAITDE PROgrammez ! < 12 > MARS 2012Hadoop possde trois sous-projets : HadoopCommon, Hadoop Distributed File System etHadoopMapReduce.LepremierinclutlesoutilscommunsauxprojetsHadoop,le2e(HDFS)estlesystmedefichierdHadoopen mode distribu. Le 3e, le framework entant que tel.Hadoopabesoindunsystmedefichiersdistribu pour permettre le stockage et lac-cs aux donnes / applications. Il fonctionnesurlematrielstandard.HDFSseveuthaute tolrance de panne. Un des soucis dutraitementBigdataestlirruptiondepro-blmes daccs, de corruptions du systmede fichiers, etc. Le systme distribu permetunegrandesouplessedanslesensochaque machine va stocker un morceau desdonnes du systme de fichier. HDFS utilisepourvitertoutechutedetraitementdesmcanismesdercuprationautomatique.HDFS repose sur une architecture matre /esclave.Basiquement,unclusterHadoopest un NameNode, un serveur matre qui vagrer le namespace du systme de fichiersetlesaccsauxfichiers.Acelasajoutentdes DataNodes, pour la partie donnes. Bref,ilnefautpascroirequeHadoopnepropose quun framework de dveloppementpourleBigdata.Non,ilreposesurunearchitecture logicielle cohrente et complexeallant de la dfinition du cluster, en passantpar le systme de fichier et les API. Le dos-sier de ce numrovous en expliquera cer-tains aspects.# F.T.Site officiel : http://hadoop.apache.org> Des cabinets pro-Bigdata, mais le march ?Danslesrapportspublisaujourdhui,For-rester indique que les entreprises devraientcommencerlaborermaintenant,desplansdescuritBigdata,demanirerduirelescots,lesrisquesetlespro-blmesdedploiement.Lesentreprisespeuvent se prmunir contre la rvolution Bigdata par divers moyens : Placerdessystmesdecontrleauplusprsdesdonnes:Sidesattaquantspntrentleprimtre,ilsdisposerontdunaccstotaletnon-restreintauxdon-nesetgrceBigdata,ellesseronttoutes stockes au mme endroit. En ins-tallantdessystmesdecontrleleplusprs possible de lendroit o sont stockeslesdonnes,onpeutcrerunelignededfense plus efficace. Dvelopper les technologies existantes decontrle et protection de Big data : AlorsqueBigdatagrandit,lesdtenteursdeces technologies vont rapidement mettre jour leurs produits pour sarranger avec lavaste varit de donnes non structuresinhrentes aux environnements Big data. Demander aux services juridiques de clai-rement dfinir une politique darchive et demise disposition des donnes : Alors queles volumes de donnes augmentent dansdes proportions de type petabytes, prot-ger de linformation sensible devient un tra-vai l ti tanesquepourl ascuri tdesentreprises.Lascuritdesdonnesdevientainsiplusfacilegrerlorsquonen rduit le volume. Contrler laccs aux ressources Big dataetanalyserlecomportementdelutilisa-teur:Toujourssesouvenirquechaquebyte de donnes peut contenir de linforma-tion relative aux personnes clients, colla-borateurs, et partenaires. Ne pas oublierHadoop : pourquoi lutiliser ? ForresterprsentaitainsileBigdata:unedonnequitombeentredesmainsmalfaisantespeutavoirdegravesconsquences.LarcentehistoiredeSonyluiacout170millionsdedollarsetpotentiellementplusde1milliarddopportunitsperdues. Les entreprises galement doiventse soucier des myriades de rgles et de loissurlaconfidentialitqui,siellessontvioles,peuventengendrerdecolossalespertes la fois financires et dimage. que les lois relatives la confidentialit vousobligentprotgerl eursdonnesper-sonnellesetqueper-sonnenemritedevoi rsescomptesbancaires dtruits par un cyber-criminel.Le cabinet Deloitte ne disait pas autre chosedans son rapport sur les tendances 2012 : En2012,90%dessocitsduFortune500 lanceront un grand chantier de gestiondesdonnes,gnrantunchiffred'affairesde11,5milliardde$-contre100mil-lions en 2009 . Ces projets nen sont enco-requleurtoutdbut,souventgrsparles dpartements IT, mais suscitent un int-rtgrandissant,carlebesoind'analysesstratgiques en temps rel pse lourdementsurlesoutilstraditionnelsdegestiondesdonnes. Les socits Internet ont ouvert lavoiedelexplorationdesBigData.Ellesseront suivies de prs par le secteur bancai-re et financier, public, la grande distribution,les loisirs et les mdias.> Du traitement massivement distribuAuj ourd hui ,Hadoop( del af ondati onApache) est le socle technique par exempleduBigdata.Ilseprsentesouslaformedun framework open source pour la disponi-bilit, la monte en charge et le traitementdistribu.Leframeworkfournitlesmca-nismes pour traiter sur du massivement dis-tribu(typiquementuncluster,enmodecloud computing) de grands volumes de don-nes.Letoutestaccessibleviaunmodlededveloppement.Unedesesforcesestdtre capable de monter en charge sur unouplusieursmilliersdemachines.Hadoopsestbeaucoupinspirdestechnologiestelles que MapReduce, BigTable. i veille techno [ dveloppement ]EXTRAITDE PROgrammez ! < 13 > MARS 2012i veille technoMicrosoft, qui nen est pas ses dbuts en matire de Big-Data , croit en Hadoop. Sil fallait le dmontrer, nous parle-rions de ce que lon peut qualifier de dommage collatral dela nouvelle stratgie de Microsoft, jai nomm Linq To HPC (aka DryadLinq).Cettetechnologieambitieuse,alternativeefficaceaumodleMapReduce, et prouve en interne chez Microsoftsur des servicesen production, a t abandonne dans la foule. Reste un survivantsur le crneau du MapReduce chez Microsoft, cest le projet Daytonaqui sera abord la fin de cet article. Il y a fort parier que Micro-soft,quidevraitdrainerunensembledeprojetsetdutilisateursconsquents, mettra les moyens pour tendre lcosystme Hadoopet faire progresser la solution, notamment, peut-on lesprer, grceau savoir-faire des quipes lorigine des avances sur Linq To HPC.> Big Data en quelques motsHadoop sur Azure est donc pour les entreprises une nouvelle option pourlexcution des calculs data intensive sur le Cloud, principalement auxctsdeloffreAmazonWebServicesdAmazonavecAWSElasticMapReduce. Pour ce type de calculs, ce que nous apporte le mode Plat-form as a Service tel que propos par Windows Azure, cest un accssimpleetmoindrecotauxtechnologiesBigDataquirequirentdesclusters performants, rsilients et localiss , sous forme de distribu-tions prtes lemploi. Les infrastructures ncessaires aux calculs dataintensive sont en effet trs particulires car ne loublions pas, lart duBigData est de penser conomie maximale des entres/sorties (accsau systme de fichiers, rseau). Rappelons au passage la formule de cir-constance : on pousse les calculs vers les donnes et non linverse !Ainsi, lhbergement sur Windows Azure peut attirer les entreprisesayant fait le choix des technologies Microsoft comme celles y trouvantun modle conomique plus adapt leur mode de consommation :on ne paye que pour les ressources dont on a rellement besoin. Pourdautres qui souhaitent rester prs de leurs donnes, loption CloudAzureprivproposeparMicrosoftpeuttreaussiunargument.Mettons de ct les aspects stratgiques et conomiques et intres-sons-nous aux particularits techniques, selon ces trois points : Hadoop sur Azure, qua-t-on disposition ? Ce que nous apporte lcosystme Microsoft Intgration avec les services AzureDcouvrir Hadoop sur Windows Azure Microsoft adopte Hadoop sur Windows Azure, sa plateforme de Cloud Computing ;la nouvelle, tombe officiellement en Novembre dernier, illustre la volont de Microsoftdouvrirsaplateformeauplusgrandnombreetraffirmeaupassagecelledesengagerdanslesupportetledveloppementdetechnologiesfaisantconsensusdanslindustriedulogiciel.HadoopsurAzure,conuenpartenariataveclasocitHortonsoft,acteurderfrencedanslemondeHadoop,sannoncecommetantle fer de lance de la stratgie BigData deMicrosoft.Lefruitdecettealliancedevraittredugagnant-gagnantpourHadoop,Microsoftetleurscommunautsrespectives.> Hadoop sur Azure, qua-t-on disposition ?Jetons tout dabord un coup dil Isotope, la distribution Hadoopconue pour Windows Azure. Rappelons avant tout une chose pourlever toute ambigut : la version dHadoop utilise sur Azure na past rcrite, elle reste le produit crit en Java dont il existe une ver-sion pour Windows. Attention galement, la version disponible cejour est seulement une preview, sur invitation. Hormis le noyau, cest--dire le moteur MapReduce et le systme defichiers distribu HDFS, nous trouvons :Hive, qui est un systme comprenant une infrastructure dentrept dedonnes et un langage dinterrogation ressemblant SQL, HiveQL.Pig, qui est un framework de calculs parallles, associ Pig Latin,langage orient dataflow (on crit des instructions composablesquiexprimentunenchanementdetransformationsdedonnes).Celui-ci est accompagn dun shell qui sappelle Grunt.De faon assez classique, on retrouve galement : Zookeeper, coor-dinateurdusystmedistribuetVaidya quipermetdanalyserlesperformances des jobs. Les fameux frameworks Mahout, Lucene etPegasus, sont galement mentionns comme briques de lcosyst-me cible.Ce qui est plus nouveau dans cette distribution, cest un frameworkFig.1... Suite dans le magazine EXTRAITDE PROgrammez ! < 14 > MARS 2012En2011I nri aami senplaceleconcoursBoostyour code, qui consiste en unappel projets de dveloppe-mentdelogiciellibre.Ouvertauxtudiantsetauxlvesingnieurs en dernire annedemasteroudcoleding-nieur, ce concours fait inter-veni runepremi reprslectionde36fina-l i stessurdossi ers(l eurnombre varie selon la qualitdesprojetssoumis).Lesfinalistes viennent prsenterleurprojetdevantunjuryconstitu de professionnelsetprsi dparRobertoDiCosmo. Le laurat dsign parle Jury se voit offrir un contratdingnieur jeune diplm dunan au sein dInria pour dvelop-per son propre projet. Tous lesfinalistessontrcompenss,en 2011 chacun dentre eux areuunetabl ettesousAndroid. Le laurat de ldition2011 sappelle Gabriel Cardo-so, il a propos le projet OAW(Open Audio Workstation), unestationdetravailaudiotour-neverslacrationmusicalecollaborative.Cetteplatefor-me offrira la possibilit de par-ticiperunprojetmusicalenajoutantdespistesaudio,enlesorganisantetenyappor-tantdesmodi fi cati ons,defaire des commentaires et dessuggestions,enunmotdecontribuer un projet de cra-tionmusicalecollaboratif.AucoursdesamissionGabrielcrera une communaut desti-nepasserlerelaispourprenniser le projet. En 2012loccasionseradonneunautretudiantdesinvestirfonddansleprojetpersonneldont il rve.Ceconcoursestunvol etimportant dans les plans dem-bauchedelINRIA.Linstitutproposechaqueanneplusieurs centaines de postesdestinsdesdiplmsdeniveaubac+5eninforma-tique, en mathmatiques appli-ques, en tlcommunicationset/ou en lectronique. Le dis-positif Ingnieurs Jeunes Diplms (IJD) est destin aux tudiantsquiveulentapprofondirleursconnaissancesdansunenvi-ronnementderechercheviaunpremieremploi.Toutaulong des contrats de deux ansquisontproposs,chaqueingnieurdbutantbnficiedunencadrementrenforc,de formations et il est intgrauseindunservicededve-loppementetdexprimenta-tionconstitudingnieursderecherche chevronns. Cesempl oi spermettent d'acqurir une premire exp-rienceprofessionnelleenri-chissanteendveloppementlogiciel,ensciencesinforma-tiques et mathmatiques appli-ques.InriaproposechaqueanneunecinquantainedepostesI JD.Merci PatrickGui l l ardpourl esi nf orma-tions. marsUne journe sur le dveloppement Windows 8et Visual Studio 11 !Le29marsprochain,MicrosoftFranceorganiseunegrandejour-ne axe sur le dveloppement autourdeWindows8(labtapubliqueseradisponiblecettedate)etdeVisual Studio 11, une parfaite occasion de dcouvrir le nouveau modlededveloppementduprochainWindows,lensembledesnouveauxoutils Visual Studio 11, environnement de rfrence pour Win8. A par-tir de 8h30. Un lab sera propos (attention : amenez votre matos) pourparfaire ses connaissances. Si te:https://msevents.mi crosof t.com/CUI /EventDetai l .aspx?EventI D=1032505397&culture=fr-FRavrilConfrence mondiale WWW2012 LyonAttention, vnement majeur Lyon du 16 au 20 avril prochain. Unedespl usgrandesconfrencesi nformati queaumonde,l aWWW2012 aura lieu au palais des congrs de Lyon. Le thme princi-pal en sera : le web et la socit, ou comment le web transforme, modi-fie, agit sur la socit, la vie humaine. Mais, ce sera aussi loccasion devoiretdentendreltatdelarten2012duwebetdetoutelarecherche ralise autour. 108 papiers ont t retenus par le comitscientifiqueinternational,surplusde900propositions.Touslesdomaines seront abords : recherche fondamentale, industrie, socit,dveloppement,rseaux,standardsetprotocoles,etc.Plusde900intervenantssesuccderont.Lorganisation(environ60personnestraverslemonde)attendentre2000et3000visiteurs.Lyonatchoisie en 2009, aprs une phase de slection, pour son dynamisme etsa volont de dmontrer sa capacit mobiliser le monde scientifique,aveclensembledespartenaires(rgion,agglomration,industriels,transports, etc.). Il est noter que lEurope sera bien reprsente avecun tiers des communications. La confrence est payante.Site officiel : http://www2012.wwwconference.org/user group du moisPostgreSQLFr :tout savoir sur PostgreSQLLacommunautfranaisedePostgreSQLestbienreprsentepar PostgreSQLFr. Lassociation organise chaque anne des v-nements autour de PostgreSQL (confrences, runions diverses)maisestaussiunvecteurimportantdinformationsetdedocu-mentations pour la base de donnes, les outils, lensemble de lacommunaut. Pour 2012, lassociation prvoit une journe Post-greSQL qui aura lieu Lyon le 7 juin prochain. Lorganisation esp-re une centaine de personnes. Lappel aux confrences sera lanccourant fvrier. La documentation est unepart importante de lactivit de la commu-naut.Unlivreblancestactuellementenprparation ainsi que diverses documenta-tions (notamment techniques). Mais lasso-ci ati onproposeaussi unportai l trscomplet:forumutilisateur,sectiondve-loppeur, des nouvelles chaque semaine duSGBDetdesoutils.Bref,uneminedorpour tous les utilisateurs !Site officiel : http://www.postgresql.fr/i ressourcesConcoursBoost your Code 2012 : INRIA mne le concours !EXTRAITDE PROgrammez ! < 15 > MARS 2012i ressourcesf MARS Le 14 mars 2012, Paris 2e, La Cantine 151rue Montmartre, Passage des Panoramas.Open du Web : le match des mtiers du web,Ouvert tous les geeks, nerds et nolife !http://www.open-du-web.fr/ Du 20 au 21 mars 2012, La MaisonInternationale, 17 boulevard Jourdan, 75014Paris. Congrs Big Data Paris 2012http://www.bigdataparis.com Le 22 mars, Epitech Lille 5-9 rue de PalaisRihour 59000 Lille. Salon emploi informa-tique LesJeudis.com. www.lesjeudis.com AgendaJrme Molire, OSGI Eyrolles, 32 LedveloppeurJavaquisouhaites'affran-chir des limitations des ClassLoader en envi-ronnementJEE,prveni rl esphasesd'intgration longues et risques, et satisfai-relescontraintesdedisponibilitdesonapplication,trouveradesrponsessesproccupations dans la faon dont OSGi sp-cifie des services modulaires. L'architectureOSGi s'est dj impose dans de nombreuxprojets, tels que l'environnement de dvelop-pement Eclipse Equinox, les serveurs d'appli-cations GlassFish 3, JOnAS 5 ou JBoss 5...Collectif, jQuery Pearson, 37 Cettenouvelleditioncouvredsormaislaversion 1.6. Cet ouvrage prsente les basesde jQuery pour ajouter interactions et anima-tions aux pages web. A travers de nombreuxexemples rels, ce livre apprend tendre labibliothquejQueryl'aidedesespropresplug-in. Une excellente introduction. Collectif, Ingnierie dirige par les modlesEditions EllipsesL'IngnierieDirigeparlesModles(IDM)s'inscrit dans l'volution des techniques pourledveloppementdesystmesinforma-tiques afin d'en matriser leur complexit enseconcentrantsuruneproccupationplusabstraitequelaprogrammationclassique.Ens'appuyantsurdesapprochesgnra-tives,ils'agitd'engendrertoutoupartied'uneapplicationpartirdemodles.Unmodleestuneabstraction,unesimplifica-tion d'un systme qui est ncessaire et suffi-santepourcomprendreunaspectparticulier du systme modlis et rpondreaux questions que soulve cet aspect du sys-tme. Un systme peut tre dcrit par diff-rentsmodleslislesunsauxautres,etexprimchacunl'aided'unlangagedemodlisationddi(DomainSpecificMode-ling Languages - DSML). Le principe est d'uti-liserautantdelangagesdemodlisationdiffrents que les aspects chronologiques outechnologiquesdudveloppementdusyst-me le ncessitent. Cet ouvrage expose trsbien ces concepts. Ecrit par des chercheursde lINRIA. J-P Gourret, Programmation systme ditions ENI, 54 Commentfonctionnentlesentraillesdunsystme ? Quel est le modle de dveloppe-ment?LauteurprendlexempledeLinuxpournousexpliquertoutcelaavecunedmarche qui se veut progressive, du moinspourlespremierschapitres.Puisnousentrons dans le cur du sujet : multithrea-ding, virtualisation, programmation en clus-ter,appelssystmeenC,etc.Unebelleporte dentre pour apprendre rellement lesystme dexploitation. Notre slection de livresf AVRIL Le 3 avril,Espace CAP15 1-13 QuaiGrenelle 75015 Paris, Journe Franaise desTests Logiciels2012. http://www.jftl.org Du 04 avril au 06 avril 2012, Bziers, Web-5Confrence : JavaScript, Html5, Dojo, WebGL,Mobile, performance. la premire confrenceWeb-5 http://www.web-5.org f ETRANGER Du 26 au 29 mars, USA, Reston, Virginie,EclipseConhttp://www.eclipsecon.org/2012/ 13 avril 2012, U.S.A. Hyatt Regency de SantaClara, Californie SkySQL : une journe de for-mations gratuites autour de MySQL. http://www.skysql.com/events/mysql-solutions-dayEXTRAITDE PROgrammez ! < 16 > MARS 2012i dossier[fier dtre dveloppeur ]Fier dtre dDepuislepremiernumrodePro-grammez ! nous avons lhabitudededresseruntatdelartdudveloppeurtousles50numros.Len150 ne droge donc pas la tradi-tion.Nousnoussommespostroisquestions : 1 quoi ressemble le dveloppeur en2012?Quelmtierfait-ilexacte-ment ? Comment voluent le mtier,le salaire, les conditions de travail ? 2Sans tre sexiste, le dveloppementresteunenvironnementtrsmas-culin. Il ny a qu voir la proportiondefemmesdanslesconfrencestechniques,danslescolesdinfor-matique.Etpourtant,ladvelop-peuse existe !Nous lavons rencon-treouplutt,nouslesavonsren-contres ! Elles nous parlent de leurexprience,dujobdedveloppeurauquotidien,voire,delincompr-hension de leur entourage !3Etdemain,commentdveloppe-rons-nous ? Pour quel type de sys-tme?DeschercheursdelINRIAparlentdecefutur,passiloignque cela. Vous constaterez quil est encore mal vudtre dveloppeur toute sa vie. Cest unjobpeuvalorisant.Ilfauttrechefdeprojet, architecte. Ce qui est une aber-ration.LaFrancerestetoujoursenretard sur dautres pays comme lAngle-terre ou les Etats-Unis o tre dvelop-peurnestpasunetare,etmmelecontrairePourtant avec la multiplication des tech-nologies,lacomplexitcroissantedessystmesetdesapplications,ledve-loppeur-expertestindispensableetincontournable.Maisconditiondenepas le considrer comme un simple ex-cutant sans cerveau. La situation risquede perdurer. La crise, le fragile quilibredes budgets IT ne vont pas aider le sec-teur informatique. Oui il y a des recrute-ments,parfoisplusieurscentaines,dans les SSII mais cela ne doit pas faireoublierlesdifficultsdesjeunesdipl-ms et le chmage qui svit dans notresecteur.Autreconstat,sansappel,denotremonde informatique, le peu de femmesdanslesmtiersITetsurtoutdansledveloppement, tout ce qui est au hard-coretechnique.Certes,nouslescroi-sons ici ou l dans les SSII, les projets,les confrences mais 90 % restent desmecs. La technique est-elle toujours undomaine vit par les filles ? Un chiffrersume parfaitement la situation : 5 %despremiresannesdelapromo2016delEpitechsontdesfilles,soitenvironunecinquantainesurlemillierdtudiants!Plusieursdveloppeusestmoignentetapportentunclairagepersonnelsurlemondedudveloppe-ment.Bonne dcouverte# Franois TonicEXTRAITDE PROgrammez ! < 17 > MARS 2012Avantdentamerledossierdvelop-peur2012,nousvoulionsmettreenavantlassociationFierdtredveloppeur lance loccasion des Tech-Days.Cetteinitiativeestindpendantedetout diteur. > Arrtons de massacrerle mtier de dv !Noussoutenonshardimentcetteinitiativepour que le dveloppeur trouve enfin sa justeplace dans le monde informatique franais. Ilfautenfiniraveclimagedudveloppeur pisseurdecode,ousimpleexcutant,limiteanalphabte!Non,nonetnon.Ledveloppeur est une valeur ajoute lentre-prise,laSSII.Carsansdveloppeurpasdapplications!Arrtonsdemassacrerlesmtiersdudveloppement.Ilfautquelesentrepriseslecomprennentenfin!Moi-mme, ancien dveloppeur testeur, je suisrvoltdevantlemanquedeconsidrationenvers les mtiers de dv, et les filires nai-dent pas vouloir faire carrire. Sois chef deprojet ou architecte, mais surtout pas dve-loppeur ! Rvoltant !> une vraie valeur ajouteEric Mittelette (responsable de lquipe relationtechniqueaveclesdveloppeurs,MicrosoftFrance), un des co-fondateurs de lassociation,prsente ainsi Fier dtre dv : Lobjectifestsimple:Valoriserlemtierdedvelop-peur, se mobiliser pour que ce mtier retrou-vesesl ettresdenobl esseenFrance.Contrairementpasmaldautrespaysolon peut faire sa carrire en tant que dve-loppeur, on constate trop souvent en Francequecontinuerdvelopperaudelde35ansestsuspectetsouventdvaloris.Sii dossierIl est bien plus dur de trouver dexcellentsdveloppeurs (que deschefs de projets)(Daniel Cohen-Zardi, co-fondateur delassociation Fier dtre dveloppeur)Jean Ferr (Directeur de la division plateforme et cosystme Microsoft France) Il faut donc chrir les dveloppeurs etles associer la stratgie. Limportance stratgique des dveloppeurs est rappele par Venkatesh Rao de Forbesdans son excellent article : l'avnement de la Dveloppeur Economie .EnFrance,avecl'INRIA,SiliconSentier,lesgrandesEcolesetUniversits,lescham-pionsnationauxtelsDassaultSystmes,CEGID,...l'AFDELetSyntechNumrique,etbien dautres , la filire est active. Il ne manque plus que tous les dirigeants intgrentcette nouvelle donne : les russites des Larry Page, Serguey Brin, Marc Zuckerberg,etc.nesontpasdeshasards:dveloppeur,cestlenouveleldorado.L'informatiquen'est pas une fonction support, c'est la moelle pinire de toute entreprise. Il faut doncchrir les dveloppeurs et les associer la stratgie. a tombe bien, parce qu'en plusils sont sympas et concrets.Dans cet esprit je me rjouis de la naissance de l'association Fier d'tre dveloppeur .cest en forgeant quon devient forgeron, encodantnedevient-onpascodeur.Ceserait bien le seul artisanat (entre art et faitmain)olonsepasseraitdelexprienceacquise au fil des lignes de code et projets.Oui, dvelopper ncessite de lexprience, dudoigtetdelapassion.Qualitlogicielle,prouesse technologique et innovation ne seferontpassansdveloppeursheureuxpa-nouis et passionns par leur mtier. Les ambitions sont grandes pour lassociation :1 Promouvoirlemtierdedveloppeurdelogiciels, 2 Expliquerlavaleurdecemtieralliantrigueur scientifique et force de crativit, 3 Communiquerlanoblesseduchoixdefaire carrire en tant que dveloppeur, 4 Valoriserlimpactdelexpriencesurlquationconomiquedesdveloppe-ments logiciels, 5 Encouragerlerespectmutuelentrelesdveloppeursindpendammentdespla-tesformes et technologies utilises. Soutenons,soutenezcettebelleinitiative!Esprons que Fier dtre dv. connatraun beau succs !Site web : http://fierdetredeveloppeur.org/# Franois TonicveloppeurLors des derniers Microsoft TechDays, la premire sessionplnire, le mot dordre a t : dveloppeur, dveloppeur et dveloppeur. Enfin, une plnire o le dveloppeur est la vedette du dbut la fin ! Cest sr que duhardcode ds 9h30 a pique un peu les yeux, mais cesttellement bon ! Alors oui, soyez fier dtre dveloppeur !Illustration Microsoft (D.R), utilise notammentlors de la plnire des TechDays 2012EXTRAITDE PROgrammez ! < 18 > MARS 2012Enqute : le dveloppeur aujourd'huiLemondedudveloppementaffichedesparticularitstypiquementfranaises,comme le rle des SSII dans les pratiques du mtier ou le statut du 'chef', mais resteunrichefilond'emplois.Notredossiervousinvitele(re)dcouvriretvousproposedes pistes explorer, de l'historique (Cobol) l'innovation (industrie), en passant parlesprofils,lessalaires,lesvolutions,etsurtoutleplaisirdedvelopper.Devenirdveloppeur et/ou se spcialiser pour se projeter dans une filire d'avenir.Lemtierdedveloppeurest-ilmort?Laquestion,laquellenousallonsrpondre ici, n'aurait mme pas mritd'tre pose si un certain malaise ne flottaitaudessusdelaprofession.Lescausesensontmultiples,maisnousenretiendronstroisdansl'immdiat:l'imagedudvelop-peur 'nolife' tout d'abord, qui colle la peaudu mtier, alors que celui-ci se tourne vers lasatisfactiondebesoinsautrementimpor-tants voire vitaux pour l'entreprise, la satis-factiondesesclientsinternesetexternes.L'ambition des jeunes candidats, ensuite, quiavantmmedefaireleurspreuvescher-chentaccderdespostesd'encadre-ment (chef de projet). C'est en particulier lerledesSSIIquiestpointdudoigt,quicherchentsduiredslescursusdefor-mation, jouent la surenchre pour attirer lescandidats, mais imposent un rythme de mis-sionssourced'unturn-overmalmatris.L'volution du mtier et de ses outils, enfin,qui impose de remettre en permanence sonmtier sur l'ouvrage, alors qu'il y a une placerichequis'ouvreauxvraisspcialisteslacomptence forte.Il y a pourtant un ct deus ex machina dansce mtier dont la mission est de faire fonc-tionnerlessystmes.C'estunbonheur,c'est ce qu'on aime dans le mtier de dve-loppeur , nous confirme Olivier Boiteux. Il ya dans l'criture et le test d'un programmeuncotartistique,interprtation,compr-hension,miseenmusique,mmeeninfor-matique de gestion. C'est intemporel ! . Eteneffet,aucoursdenotreenqute,nousavons rencontr des dveloppeurs heureux,fiersdenousparlerdeleurscrations,deleur engagement dans la stratgie de l'entre-prise qui les emploie, d'voquer leurs comp-tencesetleursparcours.Alesentendre,dveloppeurestunmtier'supercool',ol'on peut se faire plaisir en programmant, etnous,dcouvrirleurfortepersonnalitdans l'exercice d'un mtier qui reste un arti-sanat dans ses fonctionnalits, mme s'il estloin d'en rcolter l'image. C'est et a reste-raunartisanatetuncompagnonnage,enchaneOlivierBoiteux.Onpeutrverd' automati serl agnrati ondepro-grammes, mais la mise en musique resteratoujoursuneformed'artisanat,avecunsavoir-faire qui se communique. > Le profil type : savoir-faire et savoir-treLe dveloppeur peut venir d'horizons divers.Il peut tout d'abord possder une compten-ce passionnelle, s'tre form chez lui en par-ticuliersurleslangagesopensource,lesplus accessibles (PHP, HTML, Java...), avoir'bricol dans son garage'. La dmonstrationderalisationspersonnellesestgnrale-menttrsapprciedansleprocessusderecrutement,carlavalidationdesacquisn'estpastoujoursvidenteetl'valuationdes comptences se rvle dlicate. Il peutgalements'treformdansl'entreprise.C'est souvent le cas des dveloppeurs dansi dossier[fier dtredveloppeur]NOS TMOINS :Olivier Boiteux, Chef de Produit Cobos chez MetrixwarePierre Cauchois, Relations Techniques Dveloppeurs Mobilit et Embarqu MicrosoftBruno Fadda, Associate Director du cabinet de recrutement Robert HalfYann Fattah, Directeur excutif d'Osiatis Applications et Technologies ServicesJean Ferr, Directeur de la division Dveloppeurs, Plateforme et Ecosystme (DPE) de Microsoft FranceEric Mittelette, Responsable des relations techniques avec les dveloppeurs Microsoft, membre du SyntecLes programmeurs sont l'quivalent desmoines du Moyen-Age qui crivaient la Bible.Ils sont les moines du 20esicle. Ce sont eux qui crivent les saintes critures,les programmes qui dclinent le fonctionnement du monde !Olivier Boiteux, Chef de Produit Cobos chez Metrixware... Suite dans le magazine EXTRAITDE PROgrammez ! < 19 > MARS 2012Certains mtiers restent lcart des femmes, pasforcment cause de la pnibilit du travailmais plutt par prjug ou par manquedinformation et de volont daider les femmes sauterle pas de la technique. Linformatique, et plusspcialement le dveloppement, reste (trs) peufminis. Pourquoi ? Cest une question que nous nous posonsdepuis 14 ans Programmez !, car il faut avouer quedepuis notre premier dossier sur les femmesdveloppeurs , rien na rellement chang. Dans lescoles dinformatique, le taux de femmes oscille entre 5et 10 % selon les formations, un chiffre assez stableces dernires annes. En France, le mtierinformatique reste mal promotionn auprs destudiantes, lycennes. La technique en gnral est peuaxe sur les femmes. Mais visiblement cela ne se limitepas la France. Natasha Huguet-Millot (du siteCurioos) nous a prcis qu Montral, elle tait laseule femme de son cursus et de son IUT. La famille, les amis peuvent jouer un rle dans ladcision de poursuivre des tudes techniques eninformatique. Mais finalement, notre enqute ne metpas spcialement en avant lobstacle entourage, mmesil peut jouer un rle. Pour Natasha, le fait quaumme moment, son pre tait en train de monter sonsite web, la immdiatement motive. Il faut dire queson premier code basic, elle la crit 10 ans. Natasha nous prcise quelle na jamais voulu tredveloppeur pour y faire carrire, elle avoue avoir trspeu cod depuis 6 mois, pour soccuper de la directionet la promotion du site, mme si lappel du code nestjamais loin. Ce qui me plat cest de faire quelquechose rapidement, davoir un rsultat immdiat. Je naipas la patience pour travailler deux mois avant de voirquelque chose. L en trois bouts de codes, on a dj unaperu senthousiasme Natasha. Comme vous le verrez dans notre enqute, ladveloppeuse a autant envie de bien faire et de savoirque le dveloppeur. Alors lancez-vous ! Nayez pas peur !i dossier[fier dtredveloppeur]geekgirlNatashaHuguet-MillotDveloppeuse :un dveloppeur comme un autre 7tmoignages de passionnes... Suite dans le magazine EXTRAITDE PROgrammez ! < 20 > MARS 2012AuseindInria,institutderechercheeninformatique,lesscientifiquessontamensrflchiretpropo-ser des solutions toutes sortes de probl-mati quesdansdi f f rentsdomai nesimpliquantloutilinformatique.Ilsdvelop-pentdesapprochesformellesoupragma-tiquespouramliorerdesdomainestrsvaris tels que linternet, le rseau, le tempsrel, la robotique, la sant (bio- informatique)ou lenvironnement.ParmilesdiffrentesquipesdInria,cer-taines(dontjefaispartiedepuis11ans)sontspcialisesdanslesproblmatiqueslies la production logicielle. Elles collabo-rentavecdesindustrielsetdesPMEpourtrouver les moyens damliorer le dveloppe-mentdesapplicationsdedemaintoutenmatrisant la complexit et la qualit. Quellessoientcomplexesousimples,lesapplicationsdoiventpouvoirfonctionneretsadapter diffrentes plateformes ou envi-ronnements.Ilestfrquentquedenom-breuses spcialits et mtiers interagissentpour produire le logiciel qui devient le rsul-tatdelarflexioncommunedesdiffrentsintervenants. Dans la pratique, nous consta-tons quil est difficile de trouver des spcia-listesdetouscesdomainesetdelesfairecommuniquer.> Versplusdecapitalisa-tion du savoir-fairePourpalliercesdifficults,unepremiregrande tendance qui me semble prometteu-se vise une capitalisation plus importantedesbonnespratiquesetdesprocessusdedveloppement.Pourpreuve,regardezlenombredesessionssurALM(ApplicationLifecycleManagement,gestionducycledevieapplicatif)delaprochaineconfrenceEclipseCon.Entantquinformaticiens,nousallonsvi-demment nous appuyer sur des solutions quiSoucieux damliorer la qualit de son travail, le dveloppeur cherche inlassablementles nouvelles technologies et les mthodes qui vont laider dans sa tche. Certainsoutils actuels et les recherches dans le domaine du gnie logiciel laissent prsagercertaines tendances pour les annes venir.vontnouspermettredexploiterlamachineafindesoulagerledveloppeurdestchesfastidieuses et lassister pour les tches o ilnestpasspcialiste.Demanirenave,cest ce que lon faisait dj en crivant rapi-dement de petit scripts (ou moulinettes )ou en crant des assistants (wizards) gn-rantlastructuredestestsouencoreuneinterfacehomme-machineminimale.Maisnoussommesaujourdhuicapablesdallerplus loin dans le guidage et lautomatisationducycledeproduction.Parexemple,lestechnologies Orientes par les Modles tellesquUML,MDA,MDEetautreDSL(Domain Specific Language) offrent des tech-niques et des outils rutilisables dun domai-nelautre.Typiquement,onpeututiliserdes modles qui sont la fois manipulablespar la machine, qui offrent une certaine abs-traction,comprhensiblespourlhumainetqui lui masquent une partie de la complexit.La machine ralise alors les oprations com-plexes ou fastidieuses la place de lhumain,et lui laisse alors plus de temps pour inter-agir avec le reste de lquipe et se concen-trer sur des tches de plus haut niveau. i dossier[fier dtredveloppeur]Rappelons-nouscommelhistoiredelinfor-matique nous a dj habitus des change-mentsdeni veaud abstracti onpourrpondrelacomplexitcroissantedesapplications. Unesuccessiondetechnologiesproposantdesabstractionsdeplusenpluslevessontarrives:leslangagesassembleurs,puis des langages procduraux comme le C,puis les langages orients objets compltspar des frameworks de plus en plus volus,et aujourdhui les langages orients modlescomme UML ou des DSL. Achaquetape,lesdveloppeursontpro-gressivement adopt la nouvelle abstractionlamieuxadaptelexpressiondeleurmtier,laissantauxspcialistesdeslan-gages de plus bas niveau le soin de mettreleur savoir-faire dans les compilateurs. Pen-dant les phases de transition et en attendantquelescompilateurssoientsuffisammentperformants, nombreux ont t ceux qui ontmix les langages pour y suppler et optimi-ser le code rsultant. Aujourdhui, les tech-nologies modles ncessitent encore davoirbesoin de contrler ou dadapter le code pro-Tissage semi automatique des aspects et gnration de code.Fig.1Comment allons-nous dvelopper dici 5 10 ans ?... Suite dans le magazine EXTRAITDE PROgrammez ! < 21 > MARS 2012i savoir-faireJe vais traiter principalement les sujets suivants : Classe : nous verrons la composition, lassociation et lencapsula-tion de classes ; Hritage : un des piliers fondateurs de la POO, un cauchemar pourcertains en javascript. Rjouissez-vous, ce cauchemar est fini ! Les membres statiques de classes ; DesignPattern:arrivceniveau,vousserezsuffisamment arm pour voir que les grands principes et autres bonnes pra-tiques sont tout fait applicables en Coffeescript (rassurez-vous, jene les passe pas tous en revue, nous nous contenterons du Single-ton et de la Factory pour cette premire initiation) ;Et enfin, deux petites choses en plus, pas spcifiques Coffeescript,mais essentielles tout de mme : Les Getters & les Setters ; Les proprits.Mais, finalement, pourquoi cet article ? Le (mon) constat est le suivant :Depuislongtemps,lesdveloppeursserveurontdenombreuxapriori vis--vis de Javascript : unmodleobjetparticulierdifficilecomprendreaprsdesannes de programmation oriente classes ; unsystmedhritageparprototypegnrantbeaucoupdeffetsde bord sil nest pas matris (sans compter la maintenabilit ducode) ; justement pas de classes en javascript, ce qui rend difficile lorgani-sation du code (toujours dun point de vue approche classique).Larrive de CoffeeScript tend aujourdhui gommer ces problma-tiquesettoutparticulirementparlintroductiondunsystmedeclasses qui prend en charge (pour/ la place du dveloppeur) touteslesproblmatiquesliesaumodleobjetJavascript,garantissantainsi la rduction de lapparition de bugs dus la mconnaissance dejavascript. Gardez cependant une chose lesprit : Coffeescript, celaresteduJavascript,maisavecunemanirediffrentedelcrire,plus simple, plus efficace et ( mon avis) avec moins derreurs. Cof-feescript, vous aidera aussi comprendre et mieux crire le Javas-cript. Bonne lecture.> Coffeescript, mais quest-ce que cest ?CoffeescriptestunlangagedescriptquiressemblebeaucoupauPython. Il a t cr par Jeremy Ashkenas (que vous pouvez suivresurTwitter:@jashkenas),brillantdveloppeuraussiloriginedeframeworks connus tels Backbone.js et Underscore.js. Coffeescript,cestaussiunTranspiler Javascript.Cest--dire,quaulieudecompiler pour obtenir un binaire, on compile le code Coffeescripten Javascript directement excutable dans un navigateur (ou ctserveuravecNode.js).Classiquement,letranspilerCoffeescriptClasses Coffeescript versus Classes JavaLobjectifdecetarticleestdedmontrerqueCoffeescript,unnouveaulangagedescriptpropulsparjavascriptquitournedansvotrenavigateurousousNode.js,estorientClassesetquelonpeutquasimentraisonner/coderlidentiquedeslangages objets classiques, tels Java, C#, Python, . Pour atteindre cet objectif, nousallonslefairesimplementencomparantdesboutsdecodeJavaavecdesboutsde code Coffeescript.sexcutesousNode.js(pasdinquitudepourlesWindowsiens,ilexistemaintenantuneversionfacilementinstallableetofficielle),mais vous pouvez trs bien lutiliser en mode run-time et insrer ducode Coffeescript directement (inline) dans vos pages HTML. Cestmoins performant, mais cela peut tre utile pour debugger.Lobjet de cet article ntant pas de vous expliquer comment installertout ceci, vous trouverez les informations ncessaires ici : Coffeescript, le site : http://coffeescript.org/, exceptionnellement biendocument Coffeescript, les sources sur GitHub : https://github.com/jashkenas/cof-fee-scriptPassons maintenant aux choses srieuses.LES CLASSESToutdabordvoyonscommentCoffeescriptsedbrouilleavecleconcept de classe. En Java une classe prend classiquement la formesuivante :> En Javaclass Human {public String firstName;public String lastName;public Human(String first, String last) {this.firstName = first;this.lastName = last;}public void hello() {System.out.println("Hello "+this.firstName+" "+this.lastName);}}Et nous utiliserons la classe Human de la faon suivante :public class Demo {public static void main(String[] args) {Human bob = new Human("Bob","Morane");bob.hello();bob.firstName = "BOB";bob.lastName = "MORANE";bob.hello();}}Note : je nutilise pas dans mes exemples la notion de getters et de setters,par pur souci de simplification, mais nous aborderons le sujet un peu plus loindans cet article.... Suite dans le magazine EXTRAITDE PROgrammez ! < 22 > MARS 2012i cas dusage [ dveloppement ]Drupal6sestmontrunCMSformidable.Performance,tenue la charge, scurit sont parmi ses atouts. On lui aparfoisreprochunmanquedergonomiedanslinterfacedadministration.LquipededveloppementdeDrupalaentenduces critiques. Elle a aussi tenu amliorer ce qui tait dj trs bien.Cest ainsi quest n Drupal 7, un CMS encore plus performant, avecune nouvelle interface ergonomique trs agrable. Mais pour arriver cela, bien que le principe de larchitecture de Drupal reste inchan-g, de nombreuses modifications lui ont t apportes. Ces modifi-cationsinduisentuneincompatibilitdecodedesmodulescritspour Drupal 6. Lquipe de Drupal propose des outils pour convertirle code automatiquement, mais pour linstant ces outils ne sont pasparfaits. En outre, faire le travail manuellement, au moins une fois,permet de comprendre et dapprcier les nouveauts de Drupal 7.Nous allons donc reprendre ensemble le module basique que nousavons crit dans Programmez! 123, article Ecrire un module dex-tensionpourDrupal6,etportersoncodeversDrupal7.Enrevanche nous ne nous intresserons pas la question dupgraderun site sous Drupal 6 pour le passer sous Drupal 7. Lopration estfaisable et des outils sont fournis pour cela sur drupal.org. Il sagitnanmoins dune opration dlicate, que lon ne tentera que si lonconnattrsbienDrupaletseulementaprsavoirlumticuleuse-mentladocumentationcesujetsurdrupal.org.Touslescodesmentionns dans cet article sont disponible sur notre site www.pro-grammez.com.1APERU DE QUELQUES NOUVEAUTS DRUPAL 7 ET OUTILSLe cur de Drupal a volu. Sous Drupal, cest le nud (node) quiest au centre du travail. Cest maintenant lentit, qui vient fdrernud, utilisateurs, commentaires, etc. Lintrt vident est lhomo-gnisation du contenu. De plus le module CCK de Drupal 6, qui per-mettait dajouter des champs personnaliss aux types de contenu,est maintenant intgr au cur de Drupal. Cette intgration apportenotammentuneamliorationdesperformancesenrduisantlenombre dinterrogations de la base de donnes. Tous ces change-ments font que les hooks, sils restent la base de Drupal, ont tremanis. De nouveaux sont apparus, mais surtout, tous les hookscouteauxsuisses,susceptiblesdtreinvoquspourdemultiplesoprations ont disparu. Ils sont remplacs par des jeux de hooks, unpour chaque opration. On comprend donc que lessentiel du codedun module Drupal 6 doit tre repris. De nombreux modules clas-siques sont dj ports. Ainsi le lecteur a tout intrt installer lemodule Devel pour essayer le code de cet article. En effet, ce modu-lepermetderinstallerunmoduleoudereconstruirelatablederoutage des menus ou vider le cache dun clic de souris. Ces opra-tions sont souvent ncessaires pour que les changements apportsau code pendant le dveloppement prennent effet. Le backoffice deDrupal a t rorganis dans cette version qui prsente une barredoutils horizontale ladministrateur. Cette barre prsente notam-ment un lien vers un tableau de bord, une entre structure souslaquelle sont regroups blocs, types de contenus, menus et taxono-mie,uneentreconfiguration,quipointesurunenouveaut:unpanneau deux colonnes regroupe les configurations possibles parcatgorie [Fig.1]. Le panneau des modules est lui aussi remani, avecuneinnovationextrmementpertinente,lincorporationdeliens,pour accder directement, pour chaque module, laide, la confi-guration des permissions, et la configuration du module lui-mme.Lelecteurauracomprisquetoutescesinnovationsimpactentlespoints dintgration de notre module, que nous devrons donc gale-ment adapter ce niveau.2LE FICHIER .INFONotremoduledexempleesttrssimple.Ildclareunbloc,dontlecontenu peut tre enrichi depuis une interface de configuration, et ilproposeuneaideenligne.Simpleounon,toutmoduleDrupalestavant tout dclar par un fichier .info. Voici lancien, version Drupal 6 :;$Id$name = Programmezdescription = Demo de programmation Drupalcore = 6.xphp = 5.1;dependencies[] = node;dependencies[] = userLesdeuxdernireslignes,encommentaire,voquentdesdpen-dances hypothtiques entre modules. En fait notre module dexempleMigrer du code Drupal 6vers Drupal 7Drupal7,ladernirevolutionduclbreCMSopensource,prsentedesamliorationsquilerendentmeilleurquejamais.Ilestdonctrstentantdelutiliseren production, mais vous devrez porter vers lui vos anciens modules Drupal 6. Nousvoyons comment faire.Fig.1Le nouveau panneau de configuration de Drupal 7 ... Suite dans le magazine EXTRAITDE PROgrammez ! < 23 > MARS 2012i pratique[ dveloppement ]Certainsoutilsinformatiques,endpitdeleurs remarquables qualits, peinent sortirdes milieux universitaires, ou de niches d'ap-plicationsrelativementconfidentielles.C'estparexemplelecasdulangagefonctionnelObjectiveCaml, que Programmez! vous a souvent prsent,et qui, bien que conu par des universitaires, l'a tpour des industriels. Nous nous intressons aujourd'hui un autre lan-gage qui se trouve dans une situation semblable, lelangageR.Celui-ciestgnralementconsidrcommeunenvironnementddiauxmathmati-ciens et aux statisticiens, pour utilisation dans lesmilieux universitaires ou scientifiques. Il serait dom-mage de se limiter cela. D'ailleurs, R trouve sonorigine dans le langage S, dvelopp dans les labo-ratoiresBellcommelelangageC,etdontonnepeut pas dire qu'il n'est pas un langage industriel. Rn'est pas un simple outil rigide, mais au contraireun vritable langage et comme tel, il est susceptibled'intresser tout le monde. Il est clair que son pointfort est le calcul statistique, et c'est justement cequi le rend intressant dans de nombreux champsd'applications.Restunlangagedescriptdehautniveauquipeuttreembarqu,etquipeutservlerexcellentpourenrichiruneapplication, comme le fait par exemple Lisp pour le logiciel Autocad.NouspouvonsainsiimagineruneapplicationmonitorantplusieurssitesInternet.Pourcela,elleliraitdesdonnesissuesdeGoogleAnalytics sous la forme des fichier CSV puis passerait ces donnes R pour montrer des graphiques l'utilisateur, ou bien gnrer desgraphiquesdansundocumentPostscriptouPDF,oubienencoredans une image JPEG, pour ne citer que ces possibilits. On peutencore imaginer une application d'aide la dcision prsentant desstatistiques fines l'utilisateur. Pour ces deux exemples, il serait pro-bablement beaucoup plus intressant pour le dveloppeur d'embar-quer R plutt que de rinventer la roue. R est un langage de hautniveau, compil en code-byte et capable de communiquer avec lessystmes de bases de donnes les plus courants. R est gnrale-ment prsent comme un langage orient objet, alors qu'en fait il estavanttoutunlangagefonctionnel.Entantquetel,onditcouram-ment qu'il doit beaucoup Scheme, mais il me semble que c'est plu-tt du ct de Lisp qu'il faille chercher ses racines. Par exemple, laprogrammationobjetenRprsentebeaucoupdesimilitudesavecCLOS, ou Common Lisp Object System. S'il peut servir tendre lesfonctionnalitsd'uneapplicationentantembarqu,ilpeutaussitretendului-mme,avecCouFortran.Danscetarticle,quis'adresse avant tout des dveloppeurs, nous allons nous intres-ser aux spcificits de R en tant que langage, plutt qu' ses possibi-lits en matire de statistiques, domaine dans lequel votre serviteurne brille pas particulirement :-) 1PRISE EN MAINR est disponible pour Windows, Mac OS X et de nombreux systmesUnix, dont bien entendu Linux. On le tlchargera sur le site officiel :http://www.r-project.org. L'installation des distributions binaires ne posepas de problme particulier, quel que soit le systme d'exploitation.Pour tirer pleinement parti du systme, il est toutefois pertinent delire la documentation en ce qui concerne les variables d'environne-ment que R utilise, y compris sous Windows. C'est la version Win-dowsquiaservilaprparationdecetarticle.Sivousavezlacuriosit de jeter un oeil dans l'arborescence de votre distribution deR,vousconstaterezquecelle-ciestassezcomplique.Unevisitedans le rpertoire 'library' vous donnera le nom des modules d'exten-sion disponibles. Dans le fichier 'etc', vous trouverez des fichiers deconfiguration fort intressants qui vous permettront de personnali-servotreenvironnement.Parexemple,lefichierRconsoledecerpertoire vous permet de dfinir la police et sa taille, ainsi que lenombredelignesetdecolonnesduterminal.Lerpertoire'bin'contient, naturellement les excutables. Ici R(.exe) et Rscript(.exe)quinesontquedeuxfrontauxunautrejeud'excutablessitusdanslesous-rpertoirei386.PourladistributionWindowsvoustrouverez Rgui.exe qui vous permettra de vous familiariser avec R travers une interface graphique [Fig.1]. En utilisation plus courante,l'excutable principal est R.exe. Si vous le lancez seul vous arriverezdans la console, sinon un complexe jeu de commandes et de para-mtres vous permettra d'accomplir de nombreuses tches, commeexcuter un script (commande BATCH), ou installer un module d'ex-A la dcouverte du langage RPeu connu en dehors des universitaires, et gnralement considr comme un simpleoutil ddi aux mathmaticiens et aux statisticiens, le langage R est bien plus cela.Comme son nom mme l'indique, il s'agit d'un vrai langage. Dcouverte.L'interface graphique de R sous Windows.Fig.1... Suite dans le magazine EXTRAITDE PROgrammez ! < 24 > MARS 2012i pratique[ dveloppement ]Mise en application des nouveauts de Windows Phone 7.5Windows Phone 7.5 a apport un grand nombre dvolutionspar rapport la premire version de lOS. Cette versionsaccompagne tout naturellement dun nouveau kit dedveloppement, permettant aux dveloppeurs dtendre lesfonctionnalits de leurs applications. Nous allons voir sur uncas concret comment tirer profit de trois nouveauts du SDKWindows Phone 7.5 : les Secondary Tiles, les Agents et lestockage de donnes dans SQL Server Compact Edition.SQL,aucunedescl assesdADO.NETntantdirectementexposedansleframeworkWin-dowsPhone7.LimplmentationchoisieparMicrosoftreposeenoutre sur lapproche Model First , o le schma est directementdcritparunensembledattributsplacssurlesclassesMtier(aucunoutildetypeSQLServerManagementStudionepermetdegrer directement le schma physique de nos bases). Pour notre pro-jet dapplication, la premire opration consiste dclarer une rf-rence vers lassemble System.Data.Linq. Nous devons ensuite crerunecl assequi hri tedel acl asseDataContextdel espaceSystem.Data.Linq, et qui reprsente notre base de donnes.public class QuotesDataContext : DataContext{private const string DBConnectionString = Data Source=isostore:/Quotes.sdf;public QuotesDataContext() : base(DBConnectionString) { }Note prliminaire : Dans cet article et pour simplifier la lectu-re, nous utiliserons systmatiquement le numro de version de lOS,qui est 7.5. Il convient cependant de noter que la dnomination offi-cielle du SDK est en fait Windows Phone 7.1 SDK.Danscetarticle,nousallonsillustrercesnouveautsenralisantune application de consultation dindices boursiers. Cette applicationcomporteradeuxpages.Lapremire,quiestlapagedaccueil,affichelalistedesindicessuivisparlutilisateuretleursvaleursdchange[Fig.1].Ellecomporteunchampdajoutdunindicefinan-cier. La seconde page est une page de consultation des informationsdtaillesdelindice:Cours,variation,volume,volutionannuelle[Fig.2].Les donnes financires sont obtenues du service Web Yahoo Finan-ce.Noussouhaitonsnanmoinsquecesdonnesrestentacces-siblesenmodeoffline,lorsquaucuneconnexionnestdisponible.Nousallonspourcelaimplmenterunmcanismedepersistancelocal bas sur le moteur SQL Server Compact Edition.Notre application doit galement offrir la possibilit dpingler, sur lemenu de dmarrage du tlphone, un raccourci daccs direct versla page de consultation dun indice. Ces raccourcis sont dynamiqueset affichent le dernier cours connu du titre. Limage de fond indiquesi lindice est en hausse ou en baisse [Fig.3].Enfin,nousverronscommentimplmenter,autraversdesagentsWindows Phone, une tche de fond qui assurera rgulirement lac-tualisation des donnes et des raccourcis lorsque lapplication nestpas dmarre.IMPLMENTATION DE LA PERSISTANCEDans la premire version de Windows Phone 7, la persistance phy-siquededonnesenlocalpassaitgnralementparlenregistre-mentdefichiersdanslIsolatedStorage,lesystmedestockageisol des applications. Ce mode de persistance tait de fait trs peuperformant dans un contexte de volumtrie importante et nappor-tait aucune garantie sur lintgrit des donnes.Windows Phone 7.5 embarque nativement SQL Server Compact Edi-tion,laversionpourterminauxmobilesdumoteurdebasededon-nes Microsoft. Le dveloppeur dispose donc dsormais dun systmede stockage robuste, performant et simple utiliser. Il est intressantde remarquer que laccs aux donnes SQL Server Compact Editionsappuie exclusivement sur lAPI de mapping objet/relationnel Linq ToFig.1Fig.2Fig.3... Suite dans le magazine EXTRAITDE PROgrammez ! < 25 > MARS 2012Alorigine, ce que lon appelle aujourdhui une page web estun document crit avec le langage de balisage HTML (Hyper-Text Markup Language). Il permet de dcrire des documentsstatiques, qui ne se dmarquent (au dbut) que peu du format papier,avec les hyperliens [Fig.1]. Depuis sa premire apparition, HTML a for-tement volu, dans un premier temps, au gr des diffrentes impl-mentations des navigateurs. Parmi les volutions majeures, qui ontpermis de passer de pages lmentaires aux sites web avec interac-tionspoussesquenousconnaissonsaujourdhui,onpeutparexemple citer lajout des images, des formulaires (qui ont permis derendre le web interactif), de divers attributs de style, puis des feuillesde styles en cascade (CSS), des tables, des applets Java, du JavaS-cript... Ce foisonnement dapports au langage a ralenti sa standardi-sation par le W3C (World Wide Web Consortium) fond cet effeten 1994, mais ces travaux ont abouti et sont aujourdhui le point dedpart de la prochaine volution du langage qui occupe le devant dela scne actuellement : le HTML5. Parmi tous les apports au HTML,qui ont permis le dveloppement des interfaces actuelles, le langageJavaScriptajouunrletrsimportant.Dautrestechnologies,commeFlashouSilverlightpermettentlaralisationdinterfacesriches, mais ces langages ont le dsavantage de ncessiter linstalla-tion dune extension pour pouvoir tre excuts dans le navigateur.Dans cet article, nous nous intressons au JavaScript, pour lequellvolution des navigateurs ces dernires annes a permis une am-lioration notable des performances. Coupl au CSS, le langage JavaS-criptpermetdornavantlaralisationdinterfacesrelativementcomplexes et dynamiques. Cependant, il souffre parfois dune mauvai-se presse parce quil est : difficile dboguer ; difficile uniformiser pour tous les navigateurs (chaque navigateurimplmentesonpropremoteurdeJavaScriptquineragitpasexactement comme celui des concurrents) ; souvent mal implment (scripts dupliqus, gourmands, qui ralen-tissent le site) trs (trop ?) permissif ;Et pourtant, le JavaScript permet denrichir lexprience utilisateur etdapporter une relle plus-value un site web, si toutefois on prteattention son implmentation. De plus, des frameworks permettantde simplifier et de structurer le code JavaScript ont fait leur appari-tion. Ils permettent par exemple la manipulation simplifie du DOM(Document Object Model), ou lajout rapide de fonctionnalits fortevaleurajoutecommeledrag&drop.Nousproposonsdanscetarticle de prsenter un framework JavaScript, le framework jQuery, travers un exemple simple et la prsentation dlments cls.> PrsentationjQuery est un framework JavaScript qui permet de simplifier le dvelop-pement de la couche cliente dune application. Pour ce faire, il va sap-puyergrandementsurlamanipulationduDOM.Sesprincipauxavantages par rapport au dveloppement JavaScript sans framework sont : une manipulation simplifie du DOM ; une structuration des scripts efficace avec lutilisation du systmedextensions de jQuery ( ne pas confondre avec une extension dunavigateur, il ny a rien installer ici) ; un fonctionnement similaire entre les navigateurs (la compatibilitest gre dans le noyau de jQuery) ; un dveloppement plus rapide et efficace du code JavaScript.Pour nous aider dans ces tches, jQuery offre notamment des fonc-tions et mthodes pour : retrouverdeslmentsdansleDOMparlutilisationdeslec-teurs permettant la recherche dlments par id, class, type ouencore attributs ; naviguer dans larbre du DOM partir dun lment, que ce soit enparcourant les enfants, les parents ou encore les nuds frres ; manipulerleslmentsduDOM,enpermettantparexempledecrer un clone dun nud, de dtacher un nud du DOM, daccro-cher un nud une place prcise dans le DOM... manipuler les styles CSS des lments en leur ajoutant ou suppri-mant des classes la vole ; grerlesvnements,enpermettantnotammentledclenche-ment dvnements, le rattachement un vnement, avec biensr une gestion dvnements personnalise ; grer les changes avec le serveur en Ajax ; ajouter des effets de transition pour lapparition dun bloc dans lapage, sa suppression, son changement de style.> Les bases par lexemplePour prsenter ce framework, nous nous appuyons sur un exemplesimple offrant un premier aperu des possibilits offertes, puis nousPremiers pas avec jQueryDepuislesdbutsdinternet,lessiteswebsontpasssdesimplespagesstatiques(souvent simples reproductions du mdia papier) des sites complexes et dynamiquesoffrant lutilisateur une interface riche aux interactions pousses.i je debute avec...Internet Explorer 1 (1995) affichant le site www.msn.com de lpoque.Fig.1... Suite dans le magazine EXTRAITDE PROgrammez ! < 26 > MARS 2012Lacclration GPU nest pas automatique, il faut que votre cartegraphique et vos drivers soient compatibles. Si vous avez unemachine assez rcente, cest srement le cas. Pour fonction-ner sur un maximum de plateformes, Stage3D (nom de code Mole-hill) sappuie sur OpenGL ES 2 / DirectX qui sont standard.> Utilisation de Starling pour simplifier laccs au GPUStarlingpermetdecrerducontenu2D,principalementdesjeuxcommeAngryBirds.StarlingestenfaitunportagedeSparrow(http://www.sparrow-framework.org/),unmoteurdejeupouriOStrspopulaire.LesAPIhautniveauoffertesparStarlingsonttrsprochesdecellesoffertesparFlashPlayer.Onretrouveainsilesclasses Sprite, MovieClip, DisplayObject, ...Les jeux que vous allez produire avec Starling vont donc fonctionnerdans votre navigateur web, mais ils pourront aussi tre utiliss suriOS et sur Android. En effet, grce Adobe AIR, vous pouvez trans-formervotrejeuenapplicationsnativespourcesplateformes.LesupportdeStage3DpouriOSetAndroidestprvupourAIR3.2,dont la sortie se fera au premier trimestre 2012. > Premier projet avec StarlingJe vous conseille de tlcharger Flash Builder 4.6, qui va vous per-mettre de crer facilement votre projet Starling. Vous pouvez biensrutiliserunautreIDEquisupportelActionScriptouutiliserunsimple diteur de texte. Aprs avoir cr un nouveau projet ActionS-cript, vous devrez effectuer quelques tapes de configuration suppl-mentaires. Vous devrez notamment tlcharger la librairie Starling etlintgrer votre projet. Tlcharger Starling Framework : http://star-ling-framework.org. Pour toutes ces tapes, je vous invite consultercet article qui vous donnera la marche suivre : http://www.flex-tuto-rial.fr/2011/12/13/starling-api-1-creer-son-premier-projet-avec-starling/Voici le squelette dune application Starling classique :package {import com.fnicollet.FirstScreen;import flash.display.Sprite;import starling.core.Starling;[SWF(frameRate = 60, backgroundColor = #FFFFFF, width = 696,height = 520)]public class StarlingTutorial extends Sprite {private var _starling:Starling = null;public function StarlingTutorial() {_starling = new Starling(FirstScreen, stage);Crer des jeux Flash 2D acclrs GPU avec Starling// dmarrage_starling.start();}}}On cre une instance de Starling et on lui passe une rfrence versFirstScreen. FirstScreen sera la classe dans laquelle on va mettrenotre code. Crons donc la classe FirstScreen.as, qui tend la clas-se Sprite. Sprite est une des classes de base de Starling qui permetdereprsenterunelmentgraphiquemaisaussiunconteneurdlments graphiques. Elle expose par exemple des mthodes add-ChildouremoveChildpermettantdemanipulerlecontenudenotre Sprite. Voici le squelette de la classe FirstScreen.as :package com.fnicollet {import starling.display.Sprite;import starling.events.Event;public class FirstScreen extends Sprite {public function FirstScreen() {super();addEventListener(Event.ADDED_TO_STAGE, init);}private function init(event:Event):void {removeEventListener(Event.ADDED_TO_STAGE, init);}}}Notez que lon ne met pas directement notre code dans le construc-teur de FirstScreen. En effet, cest Starling qui va se charger dinitia-lisertoutcequiluiestncessaireetensuitedecrerlobjetFirstScreen. Pour sassurer que lon ne part pas trop tt, on attenddonclapropagationdelvnementEvent.ADDED_TO_STAGEparStarling. Notre code sera donc plac dans la mthode init.Pourcommencerendouceur,onvautiliserlaprimitiveQuad.Celle-ci permet dajouter un simple carr de couleur. Son construc-teur prend en paramtre une hauteur, une largeur et une couleur.Voici comment afficher un carr rouge : private function init(event:Event):void {removeEventListener(Event.ADDED_TO_STAGE, init);var q:Quad = new Quad(40, 40, 0xFF0000);addChild(q);}i gamingDepuis la version 11 de Flash Player, vous avez la possibilit daccderdirectement la carte graphique travers une API nomme Stage3D. Fig.1... Suite dans le magazine EXTRAITDE PROgrammez ! < 27 > MARS 2012i webmaster [ dveloppement ]Une architecture simple Play propose une architecture simple mais flexible et extensible, quirappelle celle de Ruby On Rails. Cettearchitecture,orienteREST,esttotalementstateless(sanstat) ct serveur. Ceci signifie que le serveur ne fait que traiter desrequtes HTTP entrantes sans se souvenir de ce quil a fait prc-demment. Ce type darchitecture apporte plusieurs avantages : Excuterplusieursfoislammerequtedonneratoujourslemme rsultat ; On constate un gain de scalabilit : il est trs facile de multiplier lenombre dinstances dune application (par exemple dans le Cloud)sansavoirpartagerlasessionutilisateurentrelesdiffrentesinstances.Larchitecture dune application Play suit le paradigme MVC. On a donc un modle, des vues et des contrleurs. Une applicationPlay couvre toutes les couches, de linterface graphique la base dedonnes. O sont donc les traditionnelles couches services et DAO ?me direz vous. Et bien il ny en a pas! Si vous avez du code mtier crire, il doit se trouver dans votre modle. Un modle ne doit plus seulement contenir des donnes mais aussides traitements, ce qui est une vision bien plus oriente objet quelapprochecoucheservice.Lesobjetsdumodlesontaussicapables de sautogrer dans la base de donnes. Il nest donc pasncessaire(maiscependantpasinterdit)depasserpardesDAOpour effectuer les tches de persistance. Nous verrons tout cela plus bas avec un peu de code...Un outillage simple et efficacePlay est livr avec son propre serveur dapplication. Bas sur Netty,ce serveur se veut en rupture avec les serveurs JEE et ne sappuiepas sur lAPI Servlet. Il supporte le rechargement chaud de la totalit de votre applica-tion : si vous modifiez votre code, que ce soit un template de vue,unerequteJPA,uncontrleur...unsimplerafrachissementdevotre page via votre navigateur vous permettra de voir instantan-mentvosmodifications.Finieslesphasesderedploiementetderedmarragedecontexteauxquellesnoussommeshabitusdansles dveloppements Java-Web. Sivousavezbesoindedployervotreapplicationdansunserveurcompatible Servlets (Tomcat, Glassfish...) ceci est nanmoins pos-sible grce la commande play-war.Lorsdudveloppement,lesmessagesderreursaffichsdanslaconsole et dans votre navigateur sont simplifis. Au lieu dune longuePlay Framework : enfin un renouveau pour les applications Web crites en JavaLa sortie de Play Framework a cr une petite rvolution dans le mondeJava. Plus quun simple framework, Play est une plateforme complte pourdvelopper des applications Web en Java. Il a pour vocation dtre beaucoup plussimple utiliser que la pile standard JEE, tout en tant plus efficace.stack trace, le framework affiche un message plus clair pour dcrirele problme. Enfin, du point de vue de loutillage, Play intgre un ges-tionnaire de dpendances (compatible avec les repositories Maven)ainsiquunlanceurdetestsgraphique(compatibleJUnitetSele-nium). Premire applicationPour commencer, nous allons tenter dafficher une liste de restau-rants.Notre modle @Entitypublic class Restaurant extends Model {@MaxSize(20) public String name;public String address;}Comme vous lavez constat tous les champs de notre modle sontpublics. En ralit, Play va gnrer et utiliser des getters et setters la compilation. Donc nayez crainte, le code est simplifi mais len-capsulation de nos champs est bien respecte! La partie persistance est base sur JPA. Toutes les annotations JPApeuvent donc tre utilises.Remarque : hriter de Model apporte des facilits mais nest pas obligatoireUn contrleur public class Application extends Controller {public public static void list() {List restaurants= Restaurant.findAll();render(restaurants);}}La mthode findAll (hrite du type Model) permet de ramener tousles restaurants de la base de donnes. On pourrait filtrer cette liste avec une requte JPQL : List restaurants= Restaurant.find(where name = ?, aName);La mthode