.:: Akadia ::.

Aller au contenu | Aller au menu | Aller à la recherche

mercredi, 17 octobre 2012

Utilisation de bloc try catch dans les tests unitaires.

En me baladant aujourd'hui dans les tests unitaires du projet, je suis tombé sur une erreur que pas mal de développeurs semblent faire.

Voila le bout de code en question :

  1. public void testMethode() {
  2. try {
  3. // création d'un fichier temporaire
  4.  
  5. // manipulation du fichier
  6.  
  7. assertTrue("Erreur dans le code testé", methodeTestee());
  8.  
  9. // suppression du fichier temporaire
  10. } catch (IOException ioe) {
  11. log.error("Erreur lors de la création du fichier de test", ioe);
  12. }
  13. }

Le code de test, que je n'ai pas retranscrit ici fait bien son travail. Mais comme tout code qui manipule des fichiers, celui-ci peut lever une exception. Hors sous cette forme, si une exception est levée lors de la manipulation du fichier temporaire de test, celle-ci sera catchée et loggée en erreur.

Mais le test lui, sera un succès.

Aucune exception, aucune assertion non valide, aucun appel à la méthode fail. Le test peut être passé au vert.

Or il y a bien eu un problème. Il doit être au rouge.

Le bonne solution serait donc, soit de remplacer la log par un appel à la méthode fail().

  1. fail("Erreur lors de la création du fichier de test");

soit ne pas se préoccuper des exceptions levées par le test et les laisser remonter. Elles seront alors traitées par JUnit qui fera échouer le reste.

Dans tout les cas, le code de test n'est pas du code de production et contrairement à ce dernier, nous voulons qu'il "plante" le plus souvent possible. Il n'a pas vocation à être résiliant, bien au contraire. Sa faible tolérance aux exceptions garantie une plus grande découverte des bugs dans le code de production.

mardi, 9 octobre 2012

Quand Virgin Mobile force ses clients à changer de réseau.

Après l'affaire des pigeons du Web de la semaine passée, c'est à mon tour d'avoir l'impression de me faire tondre. Voila en tout cas une bien belle occasion de me remettre à blogger.

Août 2009 je quitte Orange chez qui je suis depuis 8 ans pour m'abonner chez Virgin Mobile avec un forfait Paradyse 2H. Je ne quitte pas totalement Orange, puisque Virgin Mobile utilise le réseau Orange. Cela est important pour la suite. Les conditions générales d'abonnement désignant bien Orange France comme "l’opérateur de réseau".

Les présentes Conditions Générales d’Abonnement (CGA), ont pour objet de définir les conditions dans lesquelles la société OMER TELECOM LIMITED,ci-après «Virgin Mobile» fournit au Client son Service Virgin Mobile de radiotéléphonie publique numérique GSM/GPRS et UMTS, ci-après «le Service», sur le réseau de télécommunication exploité par l’Opérateur Orange France, ci-après « ’Opérateur ». Les dispositions des présentes CGA prévalent sur toutes autres.

L'emphase est de moi

11 juin 2011 Virgin Mobile annonce avoir signer un partenariat avec SFR pour l'utilisation de son réseau., Inquiet, je pose la question au Community Manager de Virgin qui me confirme qu'ils ne quitterons pas le réseau Orange.

Tweet Virgin Mobile

Juin 2011 suite à un appel du service fidélisation de Virgin Mobile, je prolonge mon engagement de 2 ans contre une baisse de 3€ par mois de ma facture.

novembre 2011 Virgin Mobile change les conditions générales d'abonnement, l'opérateur de réseau étant mainteant soit Orange, soit SFR. Cela passe évidement inaperçu, tant les termes sont vagues. Il n'y a d'ailleurs aucun changement visible au quotidien.

L’Opérateur de Réseau: organisme autorisé à établir et à exploiter un réseau national de radiotéléphonie numérique sous les normes européennes GSM et UMTS. Les services fournis par Virgin Mobile sont délivrés en utilisant pour les départs d’appels soit le réseau Orange France, soit le réseau SFR ou tout autre opérateur exploitant un réseau radioélectrique ouvert au public sur le territoire métropolitain.

L'emphase est de moi

21 septembre 2012 je reçois par courrier ma "nouvelle carte SIM". Je n'ai rien demandé, mais si Virgin à besoin que je change ma carte pour mettre à jour leur réseau, pourquoi pas. Le courrier ne détail pas les raisons du changement. J'ai jusqu’au 10 octobre pour l'activer, procrastination oblige, je la mets de coté sans l'activer.

24 octobre 2012 vers 20h30 j'appel ma copine pour lui dire que je rentre, tout vas bien.

25 octobre 2012 au matin j'allume mon portable et constate que je n'ai pas de réseau, ni voix, ni SMS, ni data, seulement les appels d'urgence.

25 octobre vers 13h00 n'ayant toujours pas de réseau, je contact le service client. On me demande de faire un test croisé, je n'ai pas d'autre mobile sous la mains, je le ferrais le soir.

25 octobre au soir je fait le teste croisé avec le portable de ma copine. Ma carte ne fonctionnant pas dans son mobile alors que l'inverse marche sans soucis.

26 octobre vers 13h00 j'appel une seconde fois le service client Virgin Mobile pour leur faire part du résultat du teste croisé. Ils me demandent alors d'activer la carte reçue la semaine passée. Je me connecte sur le site d'activation de la carte. Celle-ci entrera en fonction le 5 octobre à 15h00. Parallèlement à cela, le service technique doit me rappeler sous 15 jours pour mon problème initial. Trouvant le délais de 15 jours un peu long on me rassure en me disant qu'un geste commercial sera fait pour cette période. Cette appel me fait alors me poser des questions sur le sérieux de Virgin.

5 octobre 2012 vers 15h20 après 11 jours sans mobile, ma nouvelle carte SIM s'active. J'ai perdu tout mes paramètres que je ressaisis à nouveau et je me rend alors compte que je suis maintenant connecté sur le réseau SFR.

5 octobre 2012 vers 15h30 j'appel le service client pour me faire confirmer ce changement de réseau. La conversation est coupée juste après cela.

5 octobre 18h00 j'appel une nouvelle fois le service client pour leur demander de me re-basculer sur le réseau Orange. Impossible à faire une fois la nouvelle carte activée me dit'on. Je demande alors de pouvoir résilier mon abonnement. En effet, j'ai choisi Virgin Mobile pour son réseau Orange, le réseau SFR ne passant pas chez mes parents chez qui je passe suffisamment de temps pour avoir besoin de mon mobile. A près tout, la couverture du réseau est quand même un point essentiel lors du choix d'un opérateur. On me transfère alors vers le service fidélisation (comprendre désabonnement) qui me dit alors qu'ils ne s'occupent pas des résiliation pour motifs légitimes.

5 octobre 18h30 nouvel appel au service client. Je demande à la conseillère de relire la note que Rodolphe (le conseiller fidélisation) à mis dans mon dossier. Elle refuse de prendre ma demande en compte et mets fin à l'appel alors que je lui expliquer les raisons de ma demande. Un brin énervé, je laisse une appréciation catastrophique à "l’enquête de satisfaction". Notez bien que l'appel à bien continué pour que je puisse aller au bout de cette enquête.

5 octobre 18h40 3ieme appel au service client de la journée. Cette fois le conseillé accepte de prendre l'adresse de mes parents pour que le service technique mène une étude et me réponde sous 15 jours. J'ai mener l'étude en 3 minutes sur le site de SFR. Je relance également le sujet du geste commercial pour les 11 jours sans téléphone. Le conseiller me dit qu'il n'y a pas de soucis, mais que cela sera validé une fois le résultat de l'étude connu.

6 et 7 octobre 2012 c'est le 4 ans de mon neveux, je passe le week end chez mes parents, sans téléphone donc. La maison est dans une vallée dans laquelle seul le réseau Orange est accessible.

8 octobre après une discussion avec un collègue (lui aussi victime de cette migration forcée sur le réseau SFR) une option SMS illimités à 10€ par mois (j'ai déjà les SMS illimité dans mon forfait) est apparue dans mon espace client. Un coup de téléphone au service client me confirme que c'est une erreur du site, que cette option n'est pas activée.

Option SMS

9 octobre 2012 14h30 les 15 jours de délai pour l'intervention planifiée le 26 octobre arrivant à leur terme, je contact le service client pour aller à la pêche aux infos. Alors que je m'expliqué sur ma demande, l'appel est coupé, cette fois pas d'enquête.

9 octobre 2012 je relance mon appel et explique au conseiller que l'on viens d'être interrompu suite à un problème de réception. Celui ci me dit qu'il s'en excuse et qu'ils n'ont pas la possibilité de mettre fin a un appel. Je lui dis que c'est faux (cf appel du 5/10 où je suis resté en ligne pour répondre à l’enquête), bien que cette fois, c'est effectivement une coupure d'appel presque classique. J'explique à nouveau la raison de mon appel, à savoir le résultat de l'étude technique et le conseiller m'avoue qu'il ne retrouve aucune trace de l'étude dans mon dossier. Mais en évoquant le passage sur le réseau SFR et ma demande de résiliation, il m'annonce l'envoi d'un nouvelle carte SIM (sur le réseau SFR) pour vérifier que la non réception ne viens pas d'un défaut de ma carte SIM.

EDIT au 16 octobre

11 octobre 2012 15h00 je reçois un mail qui m'informe que ma nouvelle carte SIM viens d’être envoyée alors que le conseiller m'avait déjà confirmé l'envoi 2 jours avant. Le mail me propose de suivre mon colis sur le site de la poste, mais aucun numéro de suivi n'est associé.

11 octobre 2012 ma nouvelle carte SIM arrive au courrier. Le conseiller disait vrai, le mail disait faux. Je l'active et constant que la couverture du réseaux SFR n'a pas changée. Je recontacte le service client. Cette fois on m'annonce ENFIN que je peux me désabonner pour motif légitime. Je demande la procédure à suivre pour la résiliation en faisant une portabilité de numéro. Le conseiller m'informe que je dois envoyé un courrier pour la résiliation et communiquer mon RIO a mon nouvel opérateur. Il me donne aussi le numéro pour obtenir mon RIO.

12 octobre 2012 j'envoie une lettre recommandée avec accusé de réception à Virgin Mobile pour leur notifier ma demande de résiliation pour motif légitime.

15 octobre 2012 Virgin reçois ma lettre résiliation. Ils ont donc jusqu'a 25 octobre pour la prendre en compte.

16 octobre 2012 14h50 je reçois un message du service technique de Virgin Mobile. Pour mon problème de couverture, il préconise une changement de carte SIM.

16 octobre 2012 15h00 je contact le service client pour savoir quoi faire de ce message du service technique. Le conseiller me confirme la réception de ma lettre le 15 octobre. Il me confirme également la résiliation pour motif légitime. Et me confirme encore que je recevrais une facture de clôture.

16 octobre 2012 18h30 je me mets en recherche d'un autre opérateur. Je remarque que le portabilité n'est pas possible lorsque la résiliation est déjà faite ou qu'elle est en cours.

16 octobre 2012 18h40 j'appel un nouvelle fois le service client. Le premier conseiller me renvoie vers le service résiliation qui doit voir pour la portabilité. Le conseiller résiliation remets alors tout en question. Puisque le service technique veux m'envoyer une carte SIM, il n'accepteras la résiliation pour motif légitime qu'une fois l'échange de carte SIM fait. Je lui dit que ce n'est pas ce qu'on ma confirmé par 2 fois et que mon courrier est déjà envoyé et reçu. Ce n'est alors plus de son ressort alors, mais le service résiliation courrier qui me contactera avant le fin du délais de 10 jours. Au passage, il me dis qu'il peu me faire bénéfice d'un forfait moins cher que celui que j'ai.

EDIT au 24 octobre

18 octobre 2012 14h00 Je reçois un mail. Comme j'ai demandé la portabilité de mon numéro, Virgin ne peu prendre en compte ma demande de résiliation.

18 octobre 2012 14h10 Nouvel appel à la hotline. Après avoir expliqué l'historique une nouvelle fois, j’atterris (sans trop savoir pourquoi) au service qualité. Pour la première fois, j'ai l'impression que je suis enfin dans un service qui à un vrai pouvoir d'action. Je dois cependant reprendre depuis le début. La personne me confirme que ma résiliation peu pas entre acceptée. On me dis qu'une opération d’optimisation vas être faite sur ma ligne. Je dois juste garder la portable allumé et attendre 2 ou 3 jours.

20 octobre 2012 Je passe la journée chez mes parents. Donc dans une zone non couverte SFR. J'ai alors la surprise de voir que mon portable capte. Étrangement, une personne, a coté de moi, avec un abonnement SFR ne reçois aucun signal. Je télécharge alors quelques applications sur Google Play qui me confirment ce que je pensais. Alors qu'il était impossible de revenir sur le réseau d'Orange (réseau 20801), je viens d'y re-basculer sans même changer de carte SIM ou rebooter mon téléphone.

23 octobre 2012 15h00 Le service qualité me recontacte pour savoir si mes problèmes sont résolus. Ils ne sont pas la pour me donner des explications que je demande. Le but de l'appel est juste d'acter la bonne réception et me propose 1 mois d'abonnement gratuit au mois de décembre. De leur coté, le dossier est clos.

Du mien, le dossier est clos aussi. Trop de mauvaises foi, trop de mensonges, je change d'opérateur, même si ça ne sera pas pour motif légitime.

mercredi, 26 septembre 2012

Stockage de mot de passe en clair, mauvaise pratique chez mon opérateur mobile.

Je rencontre en ce moment un petit soucis avec mon mobile. Rien de grave je pense, juste ma carte SIM qui ne fonctionne plus. Comme tout le monde, après quelques tests infructueux effectués dans mon coin, j'ai pris contact avec la hotline de mon opérateur. Mais là n'est pas vraiment le sujet.

Je suis abonné chez Virgin Mobile depuis 3 ans et j'ai déjà plusieurs fois appeler la hotline à qui ne je n'ai pas de reproche à faire. Mais cette fois, alors que le conseiller remplissait le dossier pour le transmettre au service technique, une de ses questions m'a vraiment interloquée.

J'aurais besoin de votre mot de passe?

Je lui ai alors dis que NON je ne lui donnerais pas mon mot de passe par téléphone, que ça ne se faisait pas de donner son mot de passe.

De toute façon, je l'ai sous les yeux, c'est juste pour vérification.

Et il me donne alors le premier et dernier chiffre de mon mot de passe. Il a effectivement mon mot de passe sous les yeux. Puisqu'il a déjà mon mot de passe, autant pas se battre et lui donner en entier, au moins mon dossier pourras partir au service technique plus vite.

Et maintenant?

Chez Virgin Mobile, les mots de passe sont donc stockés en clair et sont de plus accessibles par les employés. On est ici face à un très bel exemple de ce qu'il ne faut surtout jamais faire en terme de sécurité informatique. Ça tout le monde le sais, mais visiblement, pas eux.

Même un stagiaire sait qu'il faut hasher (voir même mieux saler puis hacher) les mots de passe avant de les enregistrer où que ce soit. Et qu'un hash SHA-1 (ou au pire un MD5) permet de répondre au besoin d'authentification du client.

Le problème, c'est qu'en cas d'attaque informatique sur le réseau de Virgin Mobile, mon mot de passe (et celui des autres clients) se retrouvera cette fois dans la nature, en clair, avec toute les conséquences que cela implique. Et en voyant comment la plus élémentaire des protection n'est pas appliquée, j'imagine que les failles doivent être nombreuses chez vm.

Pour finir, voila pourquoi il faut utiliser des mots de passe différents pour chaque comptes que vous utilisez, car même si votre mot de passe est solide et que vous l'avez choisis avec soin, il n'est pas impossible qu'il se retrouve chez quelqu'un pour qui votre propre sécurité n'est pas une priorité. Bien sûr, il est aussi possible de changer d'opérateur pour un autre, plus sérieux, ce qui est peut être ce que je vais finalement faire.

samedi, 9 octobre 2010

Une semaine avec Akibag.

Voilà maintenant une semaine que je traine un peu partout avec moi mon sac Akibag. Pour ceux qui ne connaitrait pas la marque, Akibag propose des sacoches pour netbook, plus petites que les sacs pour portables traditionnels.

J'ai opté pour le modèle Chokoreeto, acheté 29,90€ (et les frais de port étaient offerts) et reçu en 3 jours.

Akibag Chokoreeto et Toshiba AC100

Le premier contact est plutôt très positif, la qualité de fabrication est bonne, les matériaux utilisés sont de qualités, les coutures quant à elles sont solides. La forme du sac, avec son fond plat et suffisamment rigide permet de le poser sans que celui ci ne tombe, ce qui permet de ne pas voir tout le petit bordel (chargeur, porte feuilles, clés de voiture, ...) s'étaler sur le sol ou le bureau.

Le sac Akibag est aussi très léger (d'autant plus que mon netbook ne faut que 870g) et la large bandoulière reste confortable même après de longues heures sur l'épaule. Aucune hésitation à avoir pour emmener avec soit son netbook.

L'ouverture, sur le dessus du sac, est large et offre un très bon accès a tout ce qui se cache dedans. Le portable est séparé du reste du sac par un compartiment dédié et il est possible de ranger les petits objets (clé usb, carte mémoire) dans le pochon amovible ou le compartiment zippé.

Enfin, le rabat qui viens recouvrir le sac assure une bonne protection contre le vol de ce qu'il y a dans le sac lorsque vous vous promenez le sac dans le dos. De plus, ce rabat étant aimenté, et non scratché, l'ouverture du sac reste discrète et il n'y a pas de bande de velcro qui finissent toujours par s'en-crassées avec le temps.

On pourrait alors croire qu'il ne reste plus rien à améliorer sur cet Akibag. Mais j'aurais quand même quelques petits reproches à lui faire. Akibag est une sacoche pour netbook. Mais mon netbook est bien plus petit que les autres. En effet, le Toshiba AC100 ne fait que 2cm d'épaisseur, la ou certains en font 4. Le compartiment pour le portable portable est donc un peu grand pour le Toshiba AC100 qui bouge un peu. Mais rien de grave cependant, il reste parfaitement protégé.

J'aurais aussi apprécié un petit anneau pour y glisser un ou 2 stylos, d'autant qu'il y aurait la place à coté du passe câble par exemple. Bon, en fait, je sais, un vrai Geek n'écrit pas à l'ancienne, mais c'est quand même parfois pratique un stylo.

Bref, si vous chercher un bon sac pour transporter partout avec vous un netbook.

Foncez !!!

mardi, 15 juin 2010

Retour sur la soirée Maven.

J'ai encore mis du temps à écrire ce billet, mais voilà enfin mon compte rendu de la soirée Maven qui s'est tenue au LorraineJUG la semaine passée à Nancy.

Pour présenter brièvement le speaker de la soirée, Arnaud Hériter (blog, twitter), il travail comme Software Factory Manager chez eXo Plateform mais est surtout (en tout cas pour ce qui nous intéresse) committer sur le projet Maven depuis 2004. Arnaud est aussi le co-auteur d'un livre paru chez Pearson.

Maven est un projet de la fondation Apache initié en 2001 par Jason Van Zyl. C'est un outil de build automatique pour les projets Java.

Comment le temps était trop limité pour détailler tout ce qu'Arnaud avait prévu, nous avons peu choisir les points sur lesquels il s'attarderait.

Arnaud Héritier lors de sa présentation de Maven

Comment je le disais, 2 semaines se sont déjà passées depuis la soirée. Et comme je n'ai pris aucune note durant la conférence, j'ai oublier pas mal de chose depuis. Mais voici tout de même les grands points que j'ai retenus.

Ne pas suivre les conventions est une erreur.

Maven fourni un certain nombre de convention dans le nommage et l'organisation des répertoires. Il peut être tentant de changer ces conventions pour les personnaliser. C'est une erreur. D'un part parce que certains développeurs de module on fait l'erreur de hard-coder ces noms, et d'autre par parce-que suivre les conventions Maven permet à un développeur d'appréhender plus rapidement un nouveau projet.

Découpage en modules.

Maven permet de découper un projet en sous module pour le rendre plus simple. Attention cependant à ne pas tomber dans le piège de vouloir trop découper son projet. La majorité des projets n'ont pas besoins d'être séparés en modules.

Au démarrage d'un projet Maven, commencez petit.

Il existe beaucoup de plugin Maven qui peuvent être mis en place sur un build. Tous ne sont pas obligatoires tout le temps. Le but de Maven est d'accélérer le développement en facilitant la phase de build, il n'est pas pertinent de passer plus de temps à mettre en place le build que de faire avancer la projet.

Repository local - Nexus.

Pour certains, il n'est pas possible de lancer Maven sans télécharger Internet. Cela viens effectivement que Maven permet de télécharger toutes les dépendances du projet depuis des respositoty sur internet. Afin d'éviter cela, il est possible de mettre en place des caches locaux (Nexus par exemple) sur le réseau de l'entreprise. Ces repository locaux permettent d'une part de mettre en cache certaines librairies, d'autre part de fournir les librairies internes à l'organisation.

Intégration continue - Hudson/Sonar

Maven seul est puissant. Maven couplé une plateforme d'intégration continue deviens une machine à produire du logiciel. Construction automatique du projet, analyse de code, contrôle de qualité et suivie des indicateurs dans le temps, voila ce que permettent ces outils. De quoi améliorer à la fois la qualité des livrables et réduire des temps de développement.

Intégration dans les IDE encore imparfaite.

Rien à dire de plus. L'intégration avec les IDE marche, mais sans plus. Il reste des efforts à faire de ce coté la.

Le futur : Maven 3.

La date de sortie de Maven 3 n'est pas encore fixée et il semble resté du travail à l'équipe. Bien qu'une grande partie du projet à été réécrite, la prochaine version gardera une pleine compatibilité avec la version actuelle. Cette version se veux d'offrir de meilleurs performances et une plus grande souplesse. Maven 3 intégrera une meilleur gestion des erreurs et proposera un shell identique sur toute les plateforme.

Bref, Maven est un formidable outil que je n'ai jamais eu l'occasion d'utiliser dans des conditions réelles (des testes sur ma machine perso ne sont pas des conditions réelles), mais j'ai maintenant de nouveaux arguments pour pousser à la mise en place de Maven sur mon projet.

Bonus : Les slides de la présentation

dimanche, 13 juin 2010

MIC - Miage Intensive Camp.

J'ai déjà eu l'occasion de retourner plusieurs fois dans mon ancienne école (Miage Nancy) pour des forums de recherche de stage. J'ai eu à nouveau cette chance hier dans un autre contexte.

Miage Connection, l'association regroupant toutes les Miages de France organisait cette année à Nancy le Miage Intensive Camp. Le MIC est un week end de formation à destination des responsables des différentes associations d'étudiants Miagistes. Sponsor de Miage Connection, mon employeur, Sopra Group, m'a donc demandé d'assurer la présence dans mon ancienne école.

Mon Badge pour la journée

Au programme, une présentation de la société aux étudiants, suivie d'entretien individuel pour les étudiants intéressé par rejoindre le groupe, soit pour un prochain stage (étudiants de L3 et M1) ou un emploi (étudiants de M2 en fin de stage).

Je dois dire que j'ai passé une agréable journée avec les étudiants. C'est plaisant de voir que les réseaux inter-miage se développent et qu'ils permettent maintenant aux anciens de revenir dans leur école pour aider les futurs diplômés.

Le programme étant d'ailleurs trop chargé et le bâtiment fermant ses portes trop tôt, nous avons dû terminer les entretiens dans un café voisin.

Rendez vous maintenant après la prochaine rentrée universitaire, j'espère être présent cette année encore au forum MiageRé.

dimanche, 16 mai 2010

Ménage.

C'est la saison que le veux. Après avoir passer 3 jours (IRL) à évacuer un tas de branchage qui s'accumulait depuis plus de 10 ans, je m'attaque maintenant au ménage dans ce blog. Et je vais être aussi radical.

Donc, comme je le disais dans ce billet de reprise en main je viens de supprimer (en fait, ils sont juste offline) tout les anciens billets. J'avais tout de même écrit 245 articles ici, surtout au début.

vendredi, 14 mai 2010

Retour sur la présentation de Play Framework.

C'est le 6 mai dernier que s'est tenue la 9ieme rencontre du LorraineJUG dédiée au Framework Play. Et c'est Guillaume Bort, créateur et principal développeur de Play qui est venue faire la présentation du Framework.

La soirée s'est déroulée en 2 actes (avec le drink en guise de mi temps). Une première partie sous forme d'un workshop où Guillaume a présenté de façon concrète les possibilités offertes par Play, suivie d'une présentation plus théorique sous forme de slides. Bien sur, la soirée s'est finie très tard dans un bon resto, cette fois ci, l'Excelsior, une institution à Nancy.

Guillaume Bort pendant sa présentation

Play est donc un framework java permettant développer des applications Web. Le framework rencontre pas mal de succès depuis sa sortie et génère pas mal de bruit dans la sphère java. Mais mes connaissances de Play s'arrêtaient ici. C'était donc une découverte pour moi, et voici de que j'en ai retenu :

Play est un Framework pour des applications Web.

La cible c'est le Web, des applications faites pour tourner dans un navigateur. A ce titre, j'ai l'impression que Play s'adresse finalement autant aux développeurs JEE voulant se dégager de la complexité des serveurs d'application Java, qu'aux développeurs PHP qui veulent bénéficier d'une plateforme plus robuste mais sans renoncer à la simplicité d'un serveur LAMP.

Framework léger mais complet.

Play est un framework léger. A ce titre, une application Play n'offre pas tout les fonctionnalités d'un application basée sur le standard JEE. Il n'est donc pas possible de dialoguer avec des applications tierces avec des appels RMI, Corba ou autre. Mais cela permet de faire de Play, un framework plus simple à appréhender. Play offre cependant toutes les fonctionnalités nécessaire pour développer une application Web basée sur HTTP.

Framework web non basé sur servlet.

Difficile à croire, en tout cas pour quelqu'un qui comme moi utilise Struts et Spring MVC, mais Play n'est basé ni sur l'API Servlet, ni sur les JSP. Play intègre sont propre moteur MVC et Apache Mina comme serveur HTTP.

Colle au protocole HTTP.

Certainement la principale chose à retenir. Play colle au protocole HTTP. En fait, la totalité des frameworks web sont basés sur le protocole HTTP, mais presque aucun autre ne le respecte vraiment. Play quand à lui, utilise tout les fonctionnalités offertes par le protocole.

Framework Full-stack.

Si Play est clairement orienté Web, il permet cependant de développer une application dans sa totalité. Play utilise JPA et Hibernate pour la persistance et JSON et XML pour la couche WebService. Play offre également des fonctionnalités de caching ou encore OpenID pour l'authentification.

Tests intégrés.

Les tests étant la base d'une application de qualité, Play intègre de quoi tester l'application développée. Les tests couvrant toute l'application, de la couche Java (via JUnit) à la couche HTML (via Selenium).

Gestion des erreurs explicites.

Le but de Play étant d'améliorer la productivité des développeurs, le framework propose une gestion explicites des erreurs, quelque soit la cause de celle ci.

Pour finir, j'ai rarement était aussi convaincue par une présentation d'un nouveau Framework. Play semble répondre a bon nombre des problématiques que je rencontre au quotidien sur des applications web qui ne demande pas plus que ce que sait faire Play. Même si cela demande une toute nouvelle approche par rapport a ce que je connaissais jusque là, je songe sérieusement à me plonger plus en détails dans ce Framework et faire une petite application de test.

mardi, 13 avril 2010

2 jours en temps que formateur.

Première pour moi, je viens de passer 2 jours en temps que formateur. Le but de cette formation était de présenter le framework interne du client (framework Java basée sur Struts) à 2 nouveaux arrivants. Le programme de la formation étant déjà établie (formation suivie pas tout les nouveaux développeurs), mon rôle n'était que d'assurer l'animation du cours.

Après ces 2 journées, voici ce que je retiens, à chaud, de cette expérience.

Maitrise du sujet

Première des choses pour donner une formation, maitriser son sujet. Ma mission dure depuis 5 ans, j'ai eu le temps d'acquérir une bonne expérience de l'environnement technique, d'autant plus que le framework reste très simple d'utilisation.

Respect de l'emploi du temps

2 jours, c'est court. D'autant plus court qu'il y a malgré tout pas mal de chose à voir. Pas le temps de se disperser (on a tout de même pris le temps de faire un peu de hors sujet). Au fil de la formation, j'ai dû rebondir sur quelques questions de mes élèves pour changer l'enchainement des chapitres. Quelques points de la 2ieme partie ont alors étaient vus dès le premier jour. Cette inversion dans le planning ne nous à cependant pas empêché de finir le programme.

Manque de préparation

Le premier rejoins le point précédant. Je n'avais pas bien mesuré le temps que pouvait prendre les différents exercices. Le second, les postes de développement utilisés pour la formation n'étaient pas bien installés. J'ai du laisser mon poste et je me suis retrouvé sans PC pour faire les démos à mes 2 stagiaires.

Écart de niveau entre les participants

Le groupe était on ne peu plus restreint. 2 personnes en face de moi. Pourtant, 2 niveaux assez différents. D'une part une étudiante effectuant un stage (de licence), de l'autre prestataire avec déjà une solide expérience PHP et des bases suffisantes en Java. Le défi était de faire le grand écart pour d'un part, resté assez simple pour ne laissait personne sur le bas coté, et d'autre part, ne pas être trop ennuyeux.

Travailler ma technique

2 jours à parler à voix haute et ce soir, j'ai l'impression d'avoir manger des cailloux. Mes cordes vocales ne sont pas entrainées à être sollicitées aussi durement. Par ailleurs, j'ai peu me rentre compte que je manquais de technique pour parler, j'ai à travailler ma respiration et d'autre choses encore.

Ce fût en tout cas une excellente expérience que je renouvèlerais volontiers. Mais peut être qu'une formation "formateur" ne serait pas superflu. Peut être la prochaine d'ailleurs, cela fait longtemps que je n'en ai pas eu...

jeudi, 8 avril 2010

Ce blog est mort. Non?

Il faut se rendre à l'évidence, ce blog est mort ou mourant. 8 billets en 2009, aucun en 2010. Peut être trop d'humeur instantanée sur twitter ou manque de temps et de motivation pour avoir une réflexion un peu plus posée. Bref, peu importe la raison, ca ne bouge guère ici.

Pourtant, depuis quelque temps, j'ai de plus en plus souvent l'envie de réécrire ici. Peut être changer un peu le contenu du blog aussi pour lui donner plus d'intérêt. Mais surtout, des billets courts et spontané dans la rédaction (j'ai abandonné trop de billets qui avaient pris une tournure bien trop lyrique lors de leur rédaction).

Évidement, publier un billet pour dire que le blog est mort n'a aucun intérêt. Non, ce billet à plus pour objectif de le relancer. Je compte donc faire un peu de ménage dans les prochain jour - peut être purger tout les ancien billets - avant de m'astreindre a publier plus.

Et puis coté technique, je tacherais quand même de personnaliser le thème. Effort vite avorté cependant, dotclear qui fait tourné ce blog n'est pas compatible avec PHP 5.3 embarqué par défaut dans le prochain Ubuntu (vers laquelle j'ai migré depuis 1 semaine maintenant). Impossible donc de monter un serveur local pour faire les tests qui s'imposent. Mais je ne lâche pas l'affaire du thème pour autant.