Duchess Swiss

A Duchess Community Blog for Switzerland

Soirée Coding-Dojo

| Comments

Pour remonter le moral de ceux qui n’ont pas réussi à avoir des entrées pour Devoxx France cette année, jDuchess Swiss vous propose une soirée coding dojo animé par Dominique Broeglin le jeudi 17 Avril à 18h30.

À cette occasion nous vous proposerons de choisir un parmi plusieurs katas en Java et/ou Ruby sur lesquels vous coderez en mode pair programming pendant plusieurs itérations de 25 minutes. A la fin de chaque itération les paires seront reformées.

Les inscriptions sont disponibles sur eventbrite. La soirée finira avec une rétrospective. Comme d’habitude, un buffet sera offert à la fin de la soirée cette fois sponsorisé par AIM Services.

Hands on Django

| Comments

Pour le prochain workshop jDuchess nous aurons le plaisir d’accueillir à Claire Reynaud et Bruno Renié qui nous presenteront Django. Django est un framework open-source de développement web en Python.

Il a pour slogan “Le framework web pour les perfectionnistes qui ont des deadlines”. Il est utilisé par Disqus, Instagram, Mozilla, Pinterest, BitBucket, The New York Times et bien d’autres.

Au cours de ce workshop nous allons développer une petite application web de prise de notes en Django, et la déployer sur Heroku.

Les thèmes de la soirée :

  • le développement web avec Django
  • le développement de services REST avec Django REST framework
  • le déploiement de notre application Django sur Heroku.

Ce workshop sera l’occasion de discuter de bonnes pratiques en matière de développement, de test et de déploiement d’applications Django.

Il aura lieu à la salle Hepia A106 le 18 Février entre 18h30 et 21h30.

Comme d’habitude, nous finirons avec un buffet offert par nos sponsors. Inscription obligatoire sur eventbrite.

Hands on Neo4J

| Comments

Le prochain workshop jDuchess tournera autour de Neo4j, une base NoSQL orientée graphe 100% Java qui suit les principes ACID.

Florent Biville et Olivier Girardot vous présenteront cette solution, utilisée entre autres par Viadeo pour connecter ses utilisateur et relations.

La théorie de graphes a toujours été remarquable à l’heure de résoudre de problèmes dans des nombreux domaines. Neo4j est devenu l’une des solutions les plus populaires parmi les bases NoSQL basées sur cette théorie.

Cet atelier sera l’occasion de découvrir la modélisation en graphe grâce à des exercices simples en Java autour du thème.

Il est destiné à tous les développeurs avec un minimum de connaissances en Java et désireux de découvrir cette base de données. Les inscriptions sont disponibles sur eventbrite.

Comme d’habitude, nous finirons avec un buffet offert par nos sponsors.

Avec La Rentrée, Nouveau Workshop jDuchess

| Comments

Pour le prochain workshop jDuchess, un Hands-on Vaadin se prépare. Nicolas Frankel nous présentera Vaadin, un framework 100% Java pour faire Rich Internet Applications où la plus grosse partie de la logique se passe côté serveur.

Ce hands-on aura lieu le 11 septembre entre 18h30 et 21h30 dans les locaux de la salle HEPIA. Les inscriptions seront ouvertes à partir du 1 septembre ici. Venez nombreux !

Comme d’habitude, un buffet sera offert par nos sponsors.

Premier Workshop Duchess Swiss : Continuous Deployment Avec Deployit

| Comments

Si bien nous avons eu quelques désistements de dernière minute, la salle était bien remplie. Le workshop a commencé par une introduction au continuous delivery suivi d’une présentation de Deployit. Mais le plus gros de la soirée a été dédié à la prise en main de l’outil par les assistants avec une série d’exercices pratiques proposes par Benoit Moussaud et son équipe.

Nous espérons que vous ayez aimé le contenu et le format de cet atelier. Merci à tous nous sponsors et biensûr à XebiaLabs pour cet excellent workshop !

Pour information nous avons déjà une date pour le suivant. Il aura lieu le 5 Juin, le sujet “Le mains dans le cache” présenté par Mathilde Lemée et Aurélien Broszniowski. Bientôt nous vous enverrons plus de détails sur le lieu et le lien sur eventbrite pour pouvoir vous inscrire. A très bientôt !

Soirée Hacking Au GenevaJug

| Comments

Ce mois-ci le sujet du GenevaJug a été la sécurité. Sébastien Andrivet, cofonder de l’entreprise ADVTOOLS et membre jDuchess, nous a dévoilé les vulnérabilités en sécurité d’un MDM et une application mobile en direct. Voici l’interview que nous lui avons fait la veille du GenevaJug.

Duchess Swiss : Bonjour Sébastien ! Pourrais-tu te présenter et nous expliquer un peu ton parcours ?

Je m’appelle Sebastien Andrivet. J’ai 41 ans. J’ai commencé assez tôt à m’intéresser aux ordinateurs. En 1982, j’ai acheté et monté ma première machine (au fer à souder). C’était en kit pour être moins cher. J’ai assez vite détesté le BASIC qui était livré avec et j’ai surtout fait de l’assembleur (des jeux, un désassembler, …). Ensuite, j’ai suivi les différents stades de la microinformatique avec l’Apple IIe, Windows (version 2.0 !), un peu le Macintosh, etc. J’ai utilisé pas mal de langages et j’adorais Smalltalk. Dans les années 90, j’ai trouvé du travail pendant mes études universitaires: dans un laboratoire d’électronique et dans une société éditrice de logiciels. Je faisais principalement du C, du C++ et de l’assembleur sous Windows. J’ai surtout appris à travailler dans une équipe, avec des femmes et des hommes formidables. J’ai aussi découvert Windows NT et Solaris. Puis j’ai quitté la Suisse et je suis allé à Paris. Java est arrivé en 1995-96 à grand renfort de publicité. Je m’y suis intéressé mais, comment dire… je ne voyais pas comment on pouvait sérieusement travailler avec. C’était trop éloigné de ma culture “low-level”. J’ai participé à pas mal de startups en France et en Suisse et j’ai oscillé entre le web/http/html/javascript et le C#. Sans oublier Linux, perl, bash, etc. Du monde Linux, c’est Debian, le Debian Manifesto et le Debian Social Contract que je retiens le plus.

J’ai lancé et cofondé ma propre société en 2002, à Genève: ADVTOOLS. Mon idée de départ était de proposer des services d’audits et de pentest, mais aussi des solutions. Hackers + développeurs. On est passé par plein de stades et de péripéties, mais l’idée est toujours la même: faire le lien entre le développement et la sécurité.

Coté plus privé, je suis proche de mouvements féminins comme JDuchess et je participe (modestement) à des projets cyberféministes.

D. S. : Le domaine de la sécurité informatique est si vaste, quel est ton domaine d’expertise (applications web, systèmes d’information en général, mobilité…) ? Considères-tu qu’aujourd’hui on trouve suffisamment de professionnels sur le marché spécialisés en sécurité de domaines si diverses et parfois jeunes (p.e. dispositifs mobiles) ?

Avec les années, j’ai accumulé pas mal de connaissances. Mais je fais surtout du test d’intrusion, du forensique et de la formation. Le test d’intrusion, c’est surtout des sites web, du réseau, mais ce sont les applications mobiles qui m’intéressent le plus (Android et iOS). Cela me permet de retrouver l’assembleur, le coté hardware qui m’a manqué pendant les années “web”. Je suis aussi revenu vers le développement et le C++ en particulier. Il m’arrive même de ressortir le fer à souder !

La sécurité informatique, c’est un peu comme les tests ou l’ergonomie. Certaines entreprises ont conscience qu’elles devraient s’occuper de ces aspects, mais cela coute cher. Les produits d’aujourd’hui sont pleins de bugs, d’absurdités et de problèmes de sécurité. La majorité des entreprises s’en fiche et préfère investir leur argent dans le marketing. Je crois qu’avec ma présentation, vous aurez deux beaux exemples. Alors non, il n’y a pas suffisamment de professionnels et ceux ci ce sont pas toujours qualifiés… comme partout.

D. S. : Dans le monde des applications mobiles il y a des personnes qui voient un avenir basé sur des applications natives et d’autres qui le voient plutôt sur des applications web. Quel type d’application est la plus vulnérable actuellement à ton avis? Quelles sont les attaques le plus habituelles sur ce type de dispositifs? Quelles techniques utilisez-vous pour les éviter ?

C’est très dépendant de l’application. Une application publicitaire ou informative n’a en général pas d’impératif de sécurité et le HTML (WebKit) va très bien. Par contre quand une application bancaire utiliser une web view, cela peut poser de sérieux problèmes: des données confidentielles peuvent se retrouver dans le cache, en clair. C’est difficile à maitriser sur Android. Dans une application native, le développeur a un meilleur contrôle de ce qui se passe. Encore faut-il qu’elle ou il ait les connaissances suffisantes pour choisir les bons mécanismes.

Dans les faits, ce sont les applications natives qui aujourd’hui ont le plus de soucis de sécurité. Mais c’est surtout parce qu’elles sont généralement plus complexes, stockent plus de données localement ou communiquent avec des services web mal conçus. Le HTML 5 va probablement réduire cette différence. Je doute que cela soit dans le sens d’une meilleure sécurité.

Les meilleures techniques pour éviter les problèmes de sécurité ? La formation des développeurs et la modélisation de menaces. Mettre les bons moyens, très top dans le projet, là où il faut et pas ailleurs. La sécurité, c’est souvent une histoire de compromis et cela demande de la réflexion. La technologie seule n’est pas suffisante.

D. S. : Dans la même ligne que la question précédente: quel est, selon ton expérience, l’OS le plus sécurisé dans le monde de la mobilité (iOS, android, blackberry, windows phone) ? Y a-t-il des gros écarts entre les différents systèmes ?

On peut distinguer plusieurs aspects: la plate-forme (Android, iOS, …), les applications et les stores. Au niveau des plates-formes, Blackberry était devant (il faut encore attendre un peu pour voir si c’est le cas de la nouvelle génération). Ensuite vient iOS et assez loin derrière Android. Au niveau des applications, je constate les mêmes problèmes, les mêmes erreurs sur iOS et Android. Coté Windows Phone, je ne m’y suis pas intéressé assez pour l’instant, donc pas d’avis.

Le danger spécifique d’Android, c’est les malwares et on ne peut pas dire que Google fasse une chasse très efficace. La technologie elle même permet certaines choses plus difficiles sur les autres plates-formes: il est extrêmement facile de modifier et “repackager” une application Android existante et de la publier, avec un cheval de Troy.

D. S. : Les applications en HTML 5 et javascript sont de plus en plus souvent utilisées pour le développement web. Sont-elles à ton avis plus vulnérables que les technologies “côté serveur” plus anciennes comme JSF, Struts… aux attaques des hackers? Quels sont les principaux avantages/vulnérabilités de ce type de technologie?

Techniquement, le HTML 5 n’est pas encore un standard et devrait l’être en 2014. Comme toute nouvelle technologie, il faudra attendre un peu pour connaitre les faiblesses et les forces au niveau sécurité. Et chaque navigateur a sa propre interprétation ce qui complique les choses. Mais dans tous les cas, HTML 5 est une technologie coté client. On attaque le navigateur et la personne qui est devant l’écran. Le potentiel de dégât est bien plus important avec une technologie serveur. Là, dans le pire des cas, l’attaquant prend le contrôle du serveur. Dans les faits, les applications sont souvent un mélange de technologies clientes et serveurs.

Certains aspects du HTML 5 me laissent tout de même perplexe: il introduit un “localStorage”. Très bien. Mais comment fait-on pour chiffrer les données ? Réponse: ce n’est pas prévu. Aux développeurs de se débrouiller. Le javascript est aussi très pauvre (pour ne pas dire autre chose) au niveau cryptographie.

Des organisations comme OWASP font un classement des principales vulnérabilités web. Le numéro 1, c’est l’injection (SQL, LDAP, …). Le numéro 2, c’est les mauvaises authentifications et la mauvaise gestion des sessions. En trois, c’est le Cross-Site Scripting. On a donc une bonne répartition entre problèmes coté serveur et coté client.

D. S. : Penses-tu que les développeurs, chefs de projet informatique… sont assez sensibilisés aujourd’hui à la sécurité informatique? Quelle serait la meilleure manière selon toi de sensibiliser les développeur à ce type de problématique : présentations comme au JUG, intervention dans les entreprises ?

Pour répondre, il faut regarder la ligne “sécurité” dans le budget des projets. C’est souvent zéro, à part les banques qui prennent cela en compte (par la force des choses).

La sensibilisation, c’est bien mais pour le grand public ou les non-professionnels. Ce qu’il faut pour les développeurs et les chefs de projets, c’est de la formation. Mais il faudra des années et beaucoup de problèmes de sécurité avant que cela ne devienne habituel. La législation va aussi changer bientôt en Europe et en Suisse. Les entreprises vont être de plus en plus responsables des données personnelles qu’elles détiennent et manipulent.

D. S. : Si tu devais travailler avec une équipe qui n’est pas du tout sensibilisée à la sécurité et que tu avais une complète latitude, comment procéderais-tu? Présentation et recommandations au début du projet, mise en place de tests de sécurité tout au long du développement, audit une fois le développement initial finalisé ?

L’idéal, c’est de tenir compte des aspects sécurité dès le départ. D’abord, faire une évaluation des menaces très tôt (lors des spécifications): qui est susceptible d’attaquer, avec quels moyens, pour quel bénéfice et avec quelles conséquences. Cela permet de se focaliser sur ce qui est le plus critique. Il y a des méthodes pour faire cette évaluation comme OCTAVE Allegro. La formation des développeuses et des développeurs est un élément clef. Les audits de sécurité se marient mal avec les méthodes Agiles. Ils ont une logique et un rythme bien différent. Le mieux, c’est une bonne collaboration entre développeurs et un référent sécurité. L’idée est, là encore, de mettre les bons moyens sur ce qui est le plus critique. Quand cela n’est pas possible, il faut passer par des audits et des tests d’intrusion. Quand c’est vraiment sensible, il faut faire les deux. Microsoft a développé il y a quelques années une méthodologie “SDL-Agile” qui est intéressante.

D. S. : Est-ce que la Content Security Policy est aujourd’hui suffisamment solide pour être un référent réel dans le monde du Web? Est-elle référencée dans les entreprises qui travaillent dans le monde de la sécurité, comme p.e. la tienne, ADVTOOLS ?

Lors de ma présentation, je vais montrer un exemple de XSS (Cross-Site Scripting) et de CSRF (Cross-Site Request Forgery) puis la combinaison des deux. Toute initiative est donc bonne pour contrer ces attaques et le principal but du Content Security Policy est de lutter contre le XSS. Mais c’est encore très jeune. Ce qui compte, c’est qui va l’utiliser, comment et les différences d’interprétation de la norme. Et je constate que la version 1.0 (Novembre 2012) n’est pas encore adoptée qu’une version 1.1 (Mars 2013) est un développement.

De plus, on rencontre parfois des systèmes dont la sécurité … a été désactivée par les développeurs ou les sysadmins.

D. S. : Suite à quelques épisodes récents de hacking de mots de passe (p.e. celui sur Linkedin où 6.4 millions de mots de passe ont été dévoilées) les générateurs de mots de passe sont devenus un sujet d’actualité. Recommandes-tu leur utilisation ? Penses tu qu’il y ait un vrai risque pour tous ceux qui comme nous utilisent les systèmes sociaux tels que facebook, twitter, Linkedin?

Un grand nombre de personne utilise le même mot de passe pour différents sites. C’est ça le vrai danger. Et aussi les questions “de sécurité” qui permettent de récupérer son mot de passe. Elles sont souvent stupides. Il est donc préférable d’avoir un mot de passe différent (et aléatoire) pour chaque système et d’utiliser un porte-clef de mots de passe pour les gérer. On en trouve plein, plus ou moins bien, gratuit ou payant (1Password, Keepass, …) Certains protègent mal les mots de passe. Mais c’est quand même mieux que de ne rien avoir et d’utiliser le même mot de passe partout.

Concernant le problème que tu mentionnes (LinkedIn), je trouve qu’il y a une exagération ou on regarde à coté des vrais problèmes. Ce qui a été volé, ce n’est pas des mots de passe mais des haches SHA-1. Même si SHA-1 n’est pas le meilleur choix (SHA-2 est préférable, couplé avec des algorithmes comme PBKDF2), ce n’est pas évident de casser des mots de passe avec juste le SHA-1. Et si l’utilisateur a choisi un mot de passe stupide, ce n’est pas la technologie qui peut l’aider. LinkedIn n’a pas suivi les bonnes pratiques, c’est vrai mais la question que je me pose est: comment l’attaquant a t’il pu récupéré ces haches? Probablement avec une injection SQL. Cela, ça me laisse songeur.

D. S. : En dehors de la sécurité, est-ce qu’il y a d’autres sujets techniques autour de la technologie java qui t’intéresse spécialement ? Lesquels?

Dalvik et le problème de la décompilation. J’aimerai aussi bien faire un émulateur pour exécuter du bytecode dex. Mais il y a une arrière pensée du coté sécurité. Et je n’aurais probablement jamais le temps… Mais en fait quasiment tout m’intéresse. Deployit pourquoi pas. Ce qui m’intéresse avant tout, c’est la démarche intellectuelle et les gens qui inventent ou manipulent les technologies.

Merci beaucoup à Sébastien pour cet entretien. Nous espérons que ses réponses vous aient semblé si intéressants qu’a nous. A bientôt !

Soirée NoSQL Au GenevaJug. Interview à Katia Aresti

| Comments

Bonjour à tous ! Nous sommes de retour suite au GenevaJug du mois de Février qui a été dédié au monde du NoSql. Dans cette soirée nous avons eu une introduction aux bases de données non relationnelles de la main de Cyril Lapinte (développeur agile chez Serial SA). En suite Benoit Perroud, développeur au sein de l’équipe de BigData chez Verisign, nous a présentée Cassandra. Katia Aresti lui a suivi pour parler sur MongoDB et sa mise en place et application chez un de ses clients, Mappy. Nous avons eu l’opportunité de lui faire une interview.

Duchess swiss : Salut Katia ! Pourrais-tu te présenter et nous raconter un peu ton parcours ?

Je fais mes études à Bilbao d’ingénieur en informatique, puis je suis partie à Madrid avec l’idée de partir ensuite à l’étranger. J’ai commencé à travailler chez Sopra Group. Après 3 ans à Madrid, puis 2 ans à Paris, la découverte de la communauté Paris JUG via Duchess m’a fait rejoindre Xebia. Après deux ans chez Xebia, je suis passée freelance en septembre 2012. Professionnellement j’ai surtout travaillé autour des technologies Java, mais récemment je m’attaque aussi au PHP pour des sites web plus petits et/ou personnels. De plus, depuis 3 ans je suis pro-agile, et je pratique sur mes missions SCRUM, Kanban et XP.

Duchess swiss : Quand est-ce que tu as commencé à travailler avec MongoDB et comment es-tu devenue référent ?

C’était sur mon ancienne mission, avec Xebia. J’ai eu l’énorme chance de tomber sur le projet UrbanDive - le nouveau Mappy. La bas, nous avons développé le système de recherche et le contenu des Point d’intérêt (POI). Nous avons choisi Mongo comme base de données, et cela a perduré jusqu’à aujourd’hui.

Duchess Swiss : Quelles sont pour toi les avantages que MongoDB présente par rapport à d’autres bases de données non relationnelles et orientées à documents (comme couchDB ou ravenDB)? 

Je ne peux pas trop m’aventurer à en parler côté performance ou technique, ni même au niveau de la prise en main car je n’ai pas encore eu l’occasion (ni le temps) de travailler avec d’autres bases de données du type document. Je peux parler par contre de la communauté MongoDB qui est énorme, et qui touche tous les langages de programmation (on le voit lors des rencontres au Paris MongoDB User Group). Et je peux aussi parler du plaisir que l’on prend en tant que développeur quand on découvre la base de données, et aussi de la road-map et 10Gen qui sont vraiment très fortement investis dans leur produit pour satisfaire la communauté. 

D.S : Quelle est la meilleure façon de monter en compétence sur MongoDB? Dans quel cas peut-on l’exploiter au mieux?

La meilleure façon est de participer à un workshop sur le sujet. Il y a des workshops gratuits online disponibles sur le web de 10Gen (sur https://education.10gen.com/). Sinon il y a aussi des soirées organisées par la communauté Java (JUGs, Duchess…)

D.S : Quels sont les problèmes que l’on peut rencontrer lorsque l’on utilise cette nouvelle façon de stocker des données? comment peut-on les surmonter? La synchronisation des données est-elle toujours fiable, qu’est-ce qui se passe si un serveur tombe?

Mongo offre la possibilité de créer un environnement replica-set. En plus c’est possible de rajouter la fonctionnalité « journaling ». Si un serveur tombe dans un replica-set, Mongo choisira le nouveau master de façon automatique. L’existence d’un bon system de monitoring devient nécessaire afin de  détecter ce type de problèmes en plus d’analyser tout ce qui se surveille normalement en production

D.S : Comment se passe les backups? Y-a-t-il des contraintes?

Mongo fournit une grande quantité d’outils pour faire dumps, restores, exports… etc. Je dirais que les mêmes possibilités qui existent pour les bases de données relationnelles sont aussi disponibles sur Mongo.

D.S : Quelles sont les nouvelles features que MongoDB va présenter à court terme ?

Lors de la conférence à San Francisco, plusieurs fonctionnalités ont été évoquées. L’un de points critiques de MongoDB est la mise en production, et surtout, son suivi et la maintenance lorsque la base de données monte en charge. Donc, il y a des fonctionnalités qui vont arriver pour améliorer la vie des Ops, côté replication, sharding, index, et le monitoring. Un service de monitoring est déjà en place, et ils continuent à y travailler pour l’améliorer encore. D’autre part il y aura l’amélioration des APIs, notamment celui du driver Java. Aujourd’hui le driver java reste très verbeux et il s’agit du driver le plus utilisé maintenant. Côté fonctionnalité, le souhait est de permettre la recherche full-text intégré à la base de donnes. L’idée serait d’intégrer les fonctionnalités le plus courantes au driver. 

D.S : Nous avons su que tu que tu as participé à la conférence MongoSV 2012 à Santa Clara le dernier mois de décembre. Comment ça a été cette expérience ? Quel sujet as-tu abordé ?

J’étais ravie d’y aller, 10Gen nous a accueilli de façon extraordinaire. Cela a été génial d’y être. La veille de la conférence, nous avons eu une journée entre les “masters” de MongoDB venus de partout dans le monde, et beaucoup travaillent dans des startups innovantes, donc cela a été très enrichissant d’échanger avec eux. Il n’y a pas beaucoup de javaistes, mais beaucoup de python, scala et ruby. Nous avons fait un open-space et nous avons abordé beaucoup des sujet différents. Le lendemain, lors de la conférence, je n’ai pas pu suivre grand ‘chose pendant la matinée car j’avais mon quicky avant la pause déjeuner et je ne pouvais pas penser à autre chose avec le stress du moment :) Sinon, l’après-midi j’ai assisté aux speech d’autres masters, que j’aimerais qui viennent parler à Paris (de masters de Londres).

D.S : En dehors de Mongo, est-ce qu’il y a un sujet technique qui t’intéressent particulièrement en ce moment ?

Je suis très intéressée par le développement côté client (HTML5, CSS3) et par la nouvelle génération des frameworks javascript côté client et côté serveur. En dehors de la technologie, je suis très intéressée par les pratiques de développement agile et par son évangélisation chez mes clients.

D.S : Tu fais partie de la team jduchess paris depuis Avril 2010. Qu’est-ce que duchess t’a apporté pendant ce temps ? Et, réciproquement, quels sont, selon toi, le points principaux que jDuchess offre par rapport à d’autres organisations autour de java comme les jugs?

Déjà, grâce à Duchess j’ai découvert l’univers des communautés, et des SSII plus petites et plus axées sur les valeurs que je considère nécessaires pour bien faire notre travail, comme Xebia. Grâce aux ex-collègues de Sopra, j’ai rencontré Duchess. A cette époque, connaître Mathilde, Ellène, Audrey, Laure et Claude a été une révélation pour moi. Je me sentais disons un peu “seule”. Par moment, toujours entourée de mecs, tu peux ressentir des difficultés et des doutes. Une majorité des femmes, au bout d’une certaine expérience, quittent la filière technique pour devenir “chef de projet” ou business analystes, voire product owner. Ces rencontres et Duchess France m’ont aidé pour évoluer, et pour me rassurer sur mes choix. Duchess étant un Jug plus petit, offre un espace pour créer des liens entre hommes et femmes, et offre un cadre de vie pour partager ses connaissances à l’importe qui. Enfin, le fait que Duchess ait été lancé par des femmes permet de faire évoluer l’image du monde de l’IT, encore très stéréotypé.

D.S : Katia, j’ai lu que tu étais en FreeLance depuis septembre 2012. Qu’est-ce qui t’a motivé à passer le cap?

Ce qui m’a poussé à devenir freelance c’est surtout le fait de pouvoir gérer mon temps différemment et la liberté que ceci suppose.

Merci beaucoup, Katia ! On espère te revoir bientôt sur Genève pour présenter un workshop Duchess les mains sur le code ! ;)

Audrey Neveu Presente Programatoo

| Comments

Après une petite pause pour Noël nous sommes de retour avec une interview à Audrey Neveu qui a été l’une des speakers de l’anniversaire du GenevaJug du dernier 29 Janvier. Audrey Lièvremont, Valérie Sevel, Sébastien Andrivet et moi même lui avons posé quelques questions sur son parcours, l’apprentissage de la programmation aux enfants et Programatoo.

Duchess Swiss : Bonjour Audrey ! Pourrais-tu nous parler un peu de ton parcours et sur quels sont les sujets qui te tiennent a coeur dans l’univers Java ?

Mon parcours est ce que l’on appelle un parcours “atypique” : j’ai fais une prépa arts appliqués, qui s’est avérée être une erreur d’orientation, j’ai donc commencé à travailler à 18 ans et je n’ai repris mes études qu’à 24. C’est à ce moment que j’ai découvert le métier de développeur logiciel, et c’est en formation que j’ai découvert Java plus précisement. J’ai rapidement fait connaissance avec les JUGs puisque c’était les débuts du NormandyJug, et ça m’a énormément conforté dans mon choix. On ne s’en rend pas forcément compte lorsque l’on a toujours baigné dedans, mais avoir un métier où l’on peut échanger avec des gens aussi passionnés que soi, partager son expérience, obtenir de l’aide lorsque l’on bute sur quelquechose, c’est extraordinaire ! C’est la raison pour laquelle j’ai décidé de m’engager dans la communauté : pour rendre un peu de tout ce qu’elle m’a apporté. J’ai ainsi commencé par m’engager activement dans Duchess France, puis dans l’apprentissage de la programmation aux enfants il y a un an, avec ma collègue Aline Paponaud en lançant Programatoo.

D. S. : Ayant un pré-ado et un ado, je suis particulièrement intéressé par Programatoo, même si je ne sais pas du tout de quoi il s’agit. Est-ce qu’il y a plusieurs type d’ateliers “Programatoo” selon la tranche d’âge? Que proposez-vous ? des jeux à programmer, des robots à piloter? Quel est le langage de programmation utilisé dans les sessions Programatoo afin que ce ne soit au bon niveau de difficulté pour les enfants qui sont présents à la session? Comment avez-vous choisi ce langage ?

Nous faisons un seul et même atelier, pour les enfants de 6 à 14 ans où nous allons mélanger différents outils d’apprentissage de la programmation. L’objectif est avant tout que les enfants s’amusent, tout en découvrant l’outil informatique : c’est pourquoi nous veillons à avoir toujours plusieurs outils à leurs proposer (Scratch, SmallBasic, Alice, Dr Techniko, Robozzle, …) , de manière à ce qu’ils puissent changer si à un moment ils s’ennuient ou si tout simplement, ils n’adhèrent pas à l’outil qu’on leur propose en premier. On pourrait effectivement mettre des robots, type Lego Mindstorm, mais sur ce genre d’outils ce qui est intéressant, c’est d’amener les enfants vers la réalisation d’un objectif (d’une mission par exemple, comme le fait très bien Tasha Carl avec le Sagan Project) ; il faut donc avoir un animateur dédié pour les guider pendant tout l’atelier et nous ne sommes pas assez nombreux à l’heure actuelle pour pouvoir le faire. On peut également commencer à les initier plus tôt, mais à la maison, pas en atelier : il faut qu’ils aient déjà l’habitude de rester assis et concentrés un long moment, ce qui n’est pas toujours le cas à 5 ans ;)

D. S. : Mon fils ainé (13,5 ans) a réussi à installer sur son ordinateur portable un serveur MineCraft en regardant des vidéo d’instruction sur Youtube. Youtube est “le média” de prédilection des ados. (Je ne supporte plus lavoix de Bob Lennon, minecrafter youtuber). Est-ce que des vidéos de Programatoo sont disponibles sur Youtube?

Pas à l’heure actuelle, mais c’est une idée que nous avons depuis un moment car à ce sujet, on retrouve la même problématique qu’avec les outils : il en existe beaucoup, mais pas en langue française. C’est donc en réflexion :)

D. S. : Mon fils ainé, toujours lui, veut faire “informaticien” plus tard, comme Papa et Maman (ce n’est pas très original!). En fait, il ne trouve pas normal que son temps à lui sur l’ordi soit limité! Bref, j’aimerai qu’il ait uneautre approche que les jeux et les vidéos avec un ordi. Que peut-on lui proposer? Peut-il être à cet âge autonome avec des taches de programmation?

Malheureusement, pour l’apprentissage de la programmation comme pour le reste de l’éducation, il n’y a pas de recette miracle :p Il n’y a pas deux ados pareils et ce qui va plaire à l’un ne plaira pas à l’autre. Le mieux c’est d’essayer plusieurs outils, éventuellement en lui proposant des petits défis à relever : avec Scratch ou Alice, ça peut être la conception d’un jeu de type Pong ou Tetris par exemple, avec Small Basic ce serait peut être plus celle d’une calculatrice graphique; et peut être que ce qui lui conviendra le mieux finalement c’est de créer un parcours avec des objectifs et des obstacles, puis de programmer un robot type Lego Mindstorm pour faire ce parcours. Donc oui, il peut tout à fait être autonome avec des tâches de programmation, mais dans un premier temps, il aura sûrement besoin qu’on lui souffle les idées car il ne saura peut être pas tout ce qu’il peut faire avec ces outils et éventuellement qu’on l’aide à s’organiser (découper un objectif en petite tâches par exemple).

D. S. : Audrey, avec ton feedback, qu’est-ce qui marche le mieux avec les ado? les pré-ado? 7-10 ans et les plus petits? As-tu déjà expérimenté avec des enfants des langages comme Alice3, Scratch ou “Move the Turtle” (sur iPad) ? Si oui, est-ce que les enfants ne se lassent pas vite car ces environnements ne sont pas toujours trèsriches ?

Avec les petits, jusqu’à 7/8 ans ce que je préfère c’est Dr Techniko : ils n’ont pas besoin de savoir lire pour y jouer, et en plus il faut utiliser papa ou maman comme robot … c’est la perspective de pouvoir inverser l’ordre établi, autant dire que le succès est garanti ! Ensuite et sans distinction d’âge, c’est Small Basic ou Scratch, selon la préférence de l’enfant. Ils comprennent très vite qu’il n’y a pas de limite à ce qu’ils peuvent réaliser, aussi, si l’outil leur plaît, ils y passeront des heures sans problèmes.

D. S. : Est-ce que tu as toi-même développé quand tu étais enfant ou adolescente ? Si oui, qu’as-tu développé ?

Hormis les cours de Logo à 8 ans à l’école, malheureusement non … J’ai démonté mes pc, les ai exploré dans tous les sens, j’ai même joué avec le pseudo shell offert par microsoft mais jamais développé. Mon premier pc était déjà sous windows 95, donc je n’ai pas eu le loisir de coder des jeux sur disquette, et je n’avais personne dans mon entourage pour me mettre un livre de programmation entre les mains; sans quoi je n’aurai sûrement pas eu de problèmes d’orientation ! :) C’est une de raisons qui font que nous aimerions arriver, Aline et moi, a emmener la programmation en dehors de la communauté : pour toucher les enfants qui n’ont pas de geeks dans leur entourage.

D. S. : Lors des ateliers, as-tu noté une différence entre garçon et fille ? (sur ce qui les intéresse, la façon de comprendre les choses, etc.)

Aucune ! Chaque enfant est différent, chacun a sa logique, sa façon d’aborder les choses mais surtout, ils ne sont pas encore conditionnés comme nous pouvons l’être inconsciemment à l’âge adulte. Ils osent tout, sans se poser de questions, et c’est ce qui est génial !

D. S. : Certains jeux de programmation pour les enfants sont très orientés “garçon”. C’est, à mon avis, le cas de Mindstorm de Lego (il n’y a qu’à regarder les pubs de Lego: que des garçons). Est-ce que tu connais des équivalents qui pourraient plaire aux filles ? Ou est-ce que finalement cela n’est pas tellement un problème ?

Je pense que chercher des équivalents pour fille est un faux problème : lorsque j’étais petite, j’étais passionnée de Lego. Mais comme j’étais une fille, je n’avais que des barbies. Des barbies, des barbies, et encore des barbies … Heureusement j’avais une tante “rebelle”, qui a enfreint la consigne et m’a offert des Legos. Et pas n’importe lesquels : la gare, le train électrique, et même des legos Technics ! Voyant que ça me passionnait nettement plus que les barbies, ma mère a plié et a fini par m’acheter les premiers Legos pour filles : un ensemble pour construire une maison, le tout merveilleusement …. rose. Ça n’a jamais été mes legos préférés :) Je crois que si un enfant, garçon ou fille, est intéressé par ça, il ira vers ce type de jeu sans se préoccuper du packaging, sans chercher à savoir si ce sont des jouets pour filles ou pour garçons. Ce qui l’intéresse est au delà de tout ça, et c’est tant mieux. D’ailleurs à la fin du premier coding goûter que j’ai fait, c’était l’une des filles qui réclamait des Lego Mindstorms à son papa ;)

Merci beaucoup Audrey ! Nous espérons te revoir bientôt en Suisse pour parler sur Programatoo ou sur d’autres sujets.

Soirée Gatling Au GenevaJUG, Entretien Avec Nicolas Rémond

| Comments

Bonjour à tous !

Pour vous préparer pour le prochain GenevaJug, nous vous offrons en apéritif un entretien avec Nicolas Rémond, committer du projet Gatling. Il nous présentera les avantages de cet outil de test de montée en charge, ce mardi 27 novembre à la salle HEPIA.

Duchess Swiss : Nicolas, pourrais-tu te présenter rapidement et nous expliquer ton parcours ?

N.R : J’ai commencé ma carrière à Singapour, puis je suis parti en Californie. Là, je me suis dit que le rêve américain n’était peut-être pas pour moi et maintenant, ça fait 6 ans que je vis à Genève. Je travaille pour la société Secutix, un spécialiste de la billetterie en Europe.

D.S : Comment as-tu été amené à t’intéresser au projet Gatling et à t’y impliquer ?

N.R : Pour de gros événements au Stade de France ou pour le Paléo, on a un nombre conséquent de personnes qui viennent en même temps sur notre site pour acheter leur place. C’est quelque chose de compliqué à simuler avec JMeter. J’avais entendu que Stéphane Landelle et Romain Sertelon avaient lancé un nouveau projet open-source. Comme le projet était très jeune, j’ai soumis quelques patchs afin de réussir à exécuter mes tests … et voilà.

D.S : Combien de temps consacres-tu en dehors de ton temps de travail à ce projet ?

N.R : Dur de dire, c’est vraiment très variable et je ne compte pas vraiment.

D.S : Selon toi, quelle serait la “super fonctionnalité” de Gatling ?

N.R : La performance brute et le fait que les scénarios soient écrits à l’aide d’un DSL. Dur de choisir entre ces deux points.

D.S : Pourrais-tu nous expliquer le fonctionnement asynchrone de Gatling? En quoi est-il plus intéressant que le système classique “un thread / un user” ?

N.R : A partir de 500 users/threads en parallèles, le coût du changement de contextes devient très important et du coup, on perd en précision et la simulation n’est plus vraiment correct. Gatling repose sur deux briques essentielles : Async-Http-Client (Netty) et Akka. C’est grâce à elles qu’il a été possible d’implémenter un système asynchrone.

D.S : Quelle est l’avantage d’utiliser Akka ?

N.R : C’est ce qui nous permet d’avoir une tel montée en charge possible.

D.S : Quelles sont les motivations qui ont amené ses créateurs à l’implémenter en Scala plutôt qu’en un autre langage (java…)? Quels en sont les avantages et les inconvénients ?

N.R : Comme Akka est écrit en Scala, ils leur a paru naturel d’essayer ce langage. De plus, c’est plus simple d’écrire un DSL en Scala qu’en Java.

D.S : A quoi ressemble un scénario Gatling? Pourrais-tu nous en montrer un exemple?

D.S : Le fait que les scénarios soient écrit en Scala n’est-il pas pénalisant pour des ingénieurs qualité qui ne seraient pas développeurs ?

N.R : Pas vraiment. Le DSL est simple à comprendre et on peut écrire beaucoup de chose en ce limitant à ce DSL.

D.S : Quelles sont les évolutions possibles de Gatling, les points qui restent à améliorer?

N.R : Clustering, Websocket..

Merci beaucoup à Nicolas d’avoir répondu à toutes nos questions et pour le reste, n’oubliez pas… soyez nombreux ce Mardi 27 au GenevaJug !

Le Blog Des JDuchess Swiss Is Out

| Comments

Bonjour à tous !

Le blog des Duchess Swiss est inauguré. Depuis ici nous vous maintiendrons informés de toutes nos activités. Restez a l’écoute !