Archives du blog

Le site Mix-it : making-of

Mix-IT est terminé et beaucoup de participants ont apprécié le nouveau site avec ses facettes communautaires et social gaming. En tout cas, nous avons pris beaucoup de plaisir à le faire. Car oui, ce site a été entièrement développé par les soins de notre équipe, particulièrement par Cyril Lacote (qui, il faut le dire doit avoir 60% du code à lui seul), Agnès Crépet et moi même, aidé par le reste de la team, avec leurs propositions, tests et feedback.

Voici donc une liste non exhaustive des outils et technos utilisés :

Trello : nous sommes des fans de la première heure de cet outil, qui nous a beaucoup servi pour échanger (mes camarades globe trotteur étant toujours décalés de plusieurs heures). Trello permet de faire un scrumboard interactif (on est notifié des échanges sur une tache), temps reel, avec un système de vote, label et filtre. Ça n’est pas JIRA mais pour un outil gratuit, c’est un outil génial.

Github : les sources du projet sont gérées sous Git. Aucun d’entre nous n’est un expert mais nous n’avons pas rencontré de problème majeur passés les premiers réglages. Nous avons utilisé le modèle décrit par Github (voir le talk de Zach Holman, et les articles GitHub), a savoir des pull requests, revues par un autre développeur avant d’être acceptées dans le master. C’est une bonne façon de garder une ‘collective ownership’ du code, même sans commiter.

Cloudbees : l’application est hébergée gracieusement par Cloudbees, qui a de plus acceptée généreusement de nous offrir les services additionnels qui nous était nécessaires (SendGrid, base de données en mode étendu, application en mode On Demand). La plateforme est très bien réalisée, le déploiement prend quelques minutes et est très simple à configurer. Ajoutez à ça un support ultra réactif et le fait qu’un déploiement est invisible pour les utilisateurs et vous avez une plateforme de choix pour vos développements.

Techniquement, l’application est codée avec le framework Play! (1.2.4 à l’heure actuelle) : rien à dire là dessus, Cyril et Agnès ne connaissaient pas et étaient productifs en quelques heures, peu de problèmes rencontrés, et avec tout un tas de modules à disposition (recherche full text Lucene, export PDF, parser Markdown). Bref, un outil génial! Un peu de Guava en plus et nous avions nos briques côté serveur. La base de données est un MySQL (hébergement cloudbees oblige).

Côté client, rien de très original, du bon vieux jQuery pour la manipulation de DOM. Et pour faire la même chose côté serveur (en Java donc), nous avons utilisé Jerry, qui nous permet de manipuler le contenu HTML des posts Google+ pour transformer les mentions d’utilisateurs. Nous avons également utilisé un plugin jQuery bien pratique pour gérer la dirtiness des formulaires et empêcher la sortie des pages en cours d’édition : dirtyforms.

Twitter Bootstrap : probablement notre coup de coeur, car même si nous faisons tous du développement, aucun d’entre nous n’est très doué en CSS. Et là, Twitter Bootstrap peut vous sauver : c’est un bootstrap CSS qui vous donne juste ce qu’il faut de cadre pour faire une application web présentable. Inconvénient : beaucoup de sites utilisent la même chose, il faut donc faire un peu de customisation pour différencier votre site. Tous les icones utilisés proviennent de fontawesome. Nous utilisons la version Less de Bootstrap plutôt que la version CSS : pour plus d’infos voir article précédent.

Ce qui n’a jamais atteint la mise en ligne

Nous avions envie de mettre un peu de communication temps réel sur le site avec un système de notifications lorsqu’un participant auquel vous étiez relié effectuait une action sur le site. Pour ça, un projet annexe (disponible sur github également) utilisant nodejs était utilisé. Dès qu’une action était effectuée sur le site, une requête était envoyée à un serveur nodejs, qui notifiait les utilisateurs intéressés connectés (par websocket en utilisant socket.io). La notification se fait sous forme d’une notification HTML5 si disponible dans le navigateur, ou en utilisant le plugin noty. Malheureusement nous n’avons pas eu le temps de terminer cette fonctionnalité.

Maybe next year… D’ici là, vous pouvez trouver les sources sur Github et vous amusez avec!

Publicités

Mix-it 2012 : toutes les sessions et pourquoi !

  L’une des tâches les plus intéressantes quand on organise une conférence reste la confection du programme. Pour Mix-it, ce programme est fait en deux phases. Tout d’abord il y a les speakers que nous invitons : nous passons quelques semaines a spammer les personnes que nous avons envie de faire venir ou à chercher des speakers sur des thèmes précis que nous souhaitons voir aborder. Quand je dis spammer, c’est vraiment spammer, aussi parce que nous tentons d’avoir des personnes très connues (Oui je pense à toi Joel Spolski!) pour une conférence assez petite dans une ville pas forcément très connue à l’international. Parfois nous n’avons pas de réponse, parfois un non très clair et des remerciements, ou une façon plus “subtile” de le dire (“je viens mais je facture la prestation 50000€, plus les frais de déplacement bien évidement”). Et, parfois (souvent), le speaker accepte ! Et nous voilà avec un programme qui nous fait très plaisir, surtout avec notre objectif de rester une conférence avec un prix d’entrée abordable. Comme nous passons du temps à chercher les speakers, ce sont parfois des noms que vous ne connaissez pas mais je peux vous assurer qu’ils déchirent !

  Faisons un petit tour des speakers invités :
Pamela Fox : l’une des premières à avoir accepter notre invitation. Cette fille est une ancienne dév Google à Mountain View, sur Maps puis Wave. Ce qui déjà, amène un certain respect. Elle était de plus Google Advocate, c’est à dire qu’elle représentait Google dans les conférences. Elle a maintenant lancé sa propre startup, où elle réalise tous les développements dont une application mobile multi plateforme utilisant un framework qui fait du bruit : Phonegap. Nous sommes très heureux de la voir accepter de venir depuis San Francisco pour en parler, et cela s’annonce passionnant.
Petra Cross : est, elle, encore chez Google, où elle fait partie de l’équipe qui développe App Engine. Et comme Mix-it a l’agilité dans ses gènes, elle viendra nous parler de la façon dont Google en fait. Je trouve particulièrement intéressant de voir comment les teams de devs utilisent les méthodes agiles chez Google et notamment leur workflow de développement et release.

  Ne serait-ce que pour ces deux talks, vous en avez pour vos 30€ (repas et goodies compris), non ? Mais ce sont seulement 2 des 30 speakers. Dans les invités, nous comptons également :
Pieter Hintjens, l’un des leaders du projet ZeroMQ et des rédacteurs de la spécification AMQP. Il nous serait difficile de faire meilleur speaker pour parler de messaging, ZeroMQ ayant une approche innovante dans le domaine en étant brokerless !
– Parce que nous voulions parler de Node, mais en parler avec quelqu’un qui connaisse vraiment le sujet, nous avons le plaisir d’accueillir l’un des rares core committer Node.js européen, j’ai nommé Felix Geisendorfer ! En plus de posséder une solide expérience technique sur le sujet, il a également lancé une startup dont Node est la principale brique technique. Il nous parlera de javascript côté serveur et si cette solution est vraiment plus scalable que d’autres technologies. Et y a-t-il sujet plus chaud en ce moment ?

  Je pourrais vous parler des 10 autres invités, mais je vois que ce post est déjà plus long que prévu… Bref, il nous restait alors 11 places. C’est là qu’entre en jeu le call for paper, sachant que ni les sponsors, ni les amis ne bénéficient de faveurs. Nous avons eu 64 propositions de talks! Et très peu ne nous plaisaient pas! La soirée de choix a donc été agitée. Il n’a pas toujours été simple de trancher, et nous avons essayé d’expliquer aux speakers refusés pourquoi, individuellement. Mais nous avons enfin notre programme, avec du Play! 2 (par l’un de ses développeurs), du Kanban, du Hadoop, du MongoDB (par une startup qui l’utilise tous les jours), du Devops (par une entreprise qui en fait tous les jours)… Ce genre de session avec un retour d’expérience concret nous intéresse beaucoup, et je suis sûr qu’elles vous plairont.

  Une programmation dont nous sommes très contents ! Amis lecteurs, j’espère vous voir nombreux le 26 Avril (Lyon, c’est pas loin, 30€ c’est pas cher et c’est éligible au DIF, pas besoin de poser de congés) !

Mix-it 2012 : nouveau site !

Voilà c’est fait ! Et j’espère que vous l’avez vu : notre site est flambant neuf (et codé avec amour) !

Déjà j’espère que vous connaissez Mix-it. C’est une conférence que nous (mes acolytes du LyonJUG et moi-même) organisons avec le Club Agile Rhone Alpes, des gens très cools qui essayent de (re)mettre l’humain au centre pour réussir les projets à travers différentes méthodos et pratiques (Scrum, Kanban, etc…). L’envie qui nous a poussé il y a 2 ans à se lancer dans cette aventure, était celle de partager notre passion et notre curiosité pour ce métier. Et comme nous sommes à la fois passionnés de technos web et d’agilité, Mix-it trouvait de suite sa ligne éditoriale. Une première édition appréciée par les participants venus en nombre sur une journée : à nous de faire mieux pour la seconde !

Dans les remarques que nous avions eu pour la première édition, s’en trouvait une récurrente : pas facile, sur une journée, de trouver les personnes possédant les mêmes intérêts ou difficile de retenir les noms/pseudos twitter des nouvelles têtes rencontrées. Nous, on s’est dit que faire un mini réseau avant la conf pourrait bien améliorer tout ça. Et en plus coder, on adore ça, il faut l’avouer ! Résultat après plusieurs semaines de dév : mix-it.fr !

Le site est un peu plus qu’un simple site d’inscription, même si vous trouvez toutes les informations habituelles, les hotels, accès etc… Vous trouvez bien sûr aussi la liste des talks proposés et des speakers. Et on est très fiers de ce programme (alors qu’il reste plein de surprises). En plus des sessions classiques, nous mettons en place cette année des lightning talks, c’est à dire des talks de 5 minutes, sur un sujet libre, tous proposés et choisis par les participants. Ces ligthning talks auront lieu pendant la pause déjeuner et vous permettront de déguster votre repas en écoutant, si vous le voulez, une dizaine de speakers nous présenter des sujets très différents.

Pour profiter de toute l’expérience Mix-it, vous pouvez vous connecter sur le site en 10 secondes en utilisant Twitter, Google ou Linkedin et remplir votre profil avec vos intérêts, vos différents profils sociaux, blogs etc… Vous avez ensuite un profil ‘mix-it’ visible par les participants. Une fois connecté, vous pouvez ajouter vos connaissances comme ‘link’, et ainsi sur votre dashboard apparaîtront leurs activités.

Les activités de vos links regroupent les flux des réseaux sociaux renseignés (Twitter et Google) ainsi que les activités sur le site mix-it.fr, à savoir les commentaires sur les sessions, les votes sur les lightning talks, les ajouts de links etc… Et vous devrez vous aussi participer au site et partager votre enthousiasme pour gagner de nombreux badges !

Vous pouvez trouver de nouveaux links en renseignant vos intérêts et nous vous proposons des personnes possédant les mêmes ainsi que les sessions et articles qui peuvent vous intéresser. Vous pouvez sinon consulter la liste des participants, des sponsors ou des membres du staff. Si vous voulez proposer une session, un ‘call for paper’ a commencé (jusqu’au 15 Mars) et vous pouvez soumettre un sujet une fois connecté au site. Pour les ligthnings talks, le principe est le même mais vous devrez gagner les faveurs du public et recevoir les votes des participants!

Le site est en amélioration constante, n’hésitez pas à nous soumettre vos idées ! Suivra bientôt un article sur la stack utilisée pour développer tout ça!