Rencontres django 2012

Les organisateurs viennent d’annoncer les dates et le lieu de la conférence django francophone: djangocong 2012.

Celle ci prendra place à Carnon, près de Montpellier, en bord de mer, le 1′ et 15 avril 2012.

Pour ceux qui n’y ont jamais assisté (c’est la troisième édition), vous découvrirez une joyeuse communauté qui ne se prend pas trop au sérieux, accueillante et très ouverte. Venez sans crainte…

Mais surtout, si vous êtes un développeur django, n’hésitez pas une seconde à proposer un sujet de conférence; Les formats retenus sont plutôts court (5 et 12 minutes), et vous permettrons d’aborder un aspect du développement qui vous tient à coeur. Les années précédentes, des confs sur des outils « concurrents » ont même été acceptées pour le plus grand bien de notre culture d’homme du monde.

Pas besoin d’être un gourou, d’avoir un blog célèbre ou de bosser chez Google. Le ssujets seront retenus en fonction de leur intérêt, pas sur le CV de l’orateur.

Vous n’avez jamais fait de conf en public, les lightning talks sont faits pour ça.

Alors n’artendez pas, et foncez proposer votre sujet

Djangocong 2011

Logo par @thoas @noreljin. CC-sharealike-noncommercial

Le week end du 16-17 avril, la deuxième édition des rencontres Django a été organisée à Marseille. C’est un peu la conf que tous les utilisateurs (Fr) de Django attendent chaque année et qui présente l’avantage (c’est forcément subjectif) d’avoir lieu près de chez moi.
J’avoue avoir été un peu sceptique sur le format proposé, mais comme tout le monde, j’ai finalement pleinement adhéré.
Samedi matin : miniconf de 12′, samedi apm barcamps, samedi soir: repas en ville, dimanche matin: sprints et dimanche apm: socialisation au soleil.
L’organisation s’est impeccablement déroulé, tout a été pensé pour rendre l’évènement agréable et minimser les pertes de temps rencontrées l’année précédente. Je salue donc au passage le travail de Jean-Michel, David, Johann et Mathieu (j’oublie personne ?).

Je ne vais pas me lancer dans un débrief complet du week-end, mais juste insister sur quelques points.

Premièrement, Django monte gentiment en puissance en France, adoubé notamment par Libé pour la refonte de leur journal. C’est la poursuite d’une consécration méritée et le fruit du travail de communication engagé autour du framework.

Deuxièmement, j’attendais avec impatience le barcamp proposé par David, à propos d’une activité caritative ou citoyenne des dévs Django. La discussion intéressait visiblement pas mal de monde, et certains avaient déjà participé à des actions de ce type.

J’ai ressenti une authentique volonté d’aider, au delà du don pécuniaire, grâce à  ses compétences, son expérience. L’idée serait de recenser les développeurs Django à même de constituer une équipe en urgence pour répondre efficacement en cas de catastrophe humanitaire. Ce ne sera pas simple à mettre en place, mais la réalisation d’une mailing-list est un bon point de départ.

C’est encore utopique, mais l’idée associer ce genre d’initiative à un DEV/FORT à la française (des codeurs réunis  pendant quelques jours, isolés du reste du monde pour réaliser un développement rapide) a résonné dans quelques esprits.

Enfin, dernier point, plus général. Je ne suis pas (encore) un grand habitué des conférences et évènements autour de notre métier. Quand je ne peux as aller à Paris-Web par manque de temps, je peux regarder les vidéos dès leur mise en ligne.

Sauf que l’essentiel n’est pas là. Le contenu dispensé lors des confs est souvent déjà disponible en ligne ça et là. Ce qui fait la valeur de ces rencontres, c’est l’interaction, les discussions en off, les échanges d’expérience lors des barcamps, des déjeuners ou du diner à la boate. C’est encore plus vrai quand on travaille à son compte. Où l’on constate que cette communauté à taille humaine est super riche, et que l’on y discute art, photo, éducation, montagne,politique, voyage avec des gens ouverts, d’âges variés, aux profils si différents, très loin de l’image de nolife  propulsée par les médias.

Enfin, on se découvre partager des valeurs communes avec les autres participants. Bonnes pratiques, honnêteté, ouverture d’esprit, simplicité (pas de rockstar à djangocong, ceux qui le sont ne le font pas sentir)

Pour paraphraser Mathieu, ce sentiment d’appartenance à une communauté n’a pas de prix (on dit #priceless en hashtag).

Pour tout cela merci aux organisateurs, aux sponsors et aux participants.

 

 

Mise en ligne d’extrem-vision.com

capture du site extrem-vision.com

Extrem’vision est une innovante et sympathique  PME perpignanaise, spécialisée dans la capture d’images en milieux extrêmes.

Leur petite équipe conçoit et fabrique de A à Z des caissons étanches pour le plongée sous-marine, mais également toute sorte d’équipements sur mesure pour filmer et photographier sous tous les climats et dans toutes les conditions.

Ils ont notamment réalisés des caissons photo télépilotés pour les Jo de pékin qui ont produit de magnifiques  images des meilleurs nageurs du monde sous la surface.

phelps par afp et extremvision

Credits photos AFP

Extrem’vision développe des  équipements militaires pour les forces spéciales les plus exigeantes de notre pays et des caméras nucléaires pour les centrales électriques.

Engagés dans une démarche qualitative bien rare dans le paysage industriel français, ils modélisent leurs projets sur des stations CAO, les prototoypes sur une imprimante 3d, conçoivent et gravent leurs propres cartes électroniques, usinent les produits finaux dans des blocs de polyacetal sur des tours numériques ou manuels.

Ayant collaboré sur des projets précédents, c’est avec grand plaisir que nous avons accepté de refondre leur site web.
Le précédent datait du siècle passé, était motorisé par spip et ne donnait plus une image de la société en accord avec ses capacités actuelles.

Nous avons donc fait table rase et sommes repartis ‘from scratch’.

En amont de la réalisation, nous avons activement collaboré au plan d’action marketing ainsi qu’à la dynamisation des informations déjà contenues dans l’ancien site.
De plus nous avons conseillé notre client sur les pratiques d’usage et les attentes réelles de l’internaute.
Une assistance rédactionnelle a permis de restructurer les textes pour le web et les moteurs de recherche.
Le graphisme et l’esthétique général est le fruit d’un travail collaboratif, mariant design, mise en valeur de l’activité et optimisation du fonctionnement général grâce à un développement réalisé sur-mesure.

La réécriture de toutes les pages, la rédaction de nouvelles, la refonte de l’architecture de l’information, la création d’un blog d’entreprise ont précédé la création du design par la graphiste de la société.

Après pas mal d’aller-retour pour coller aux exigences du web et du système de navigation, nous avons convaincu Extrem’ Vision de développer le site avec Django.

Ce choix permettra de faire évoluer le portail aisément pour proposer par exemple aux clients d’Extrem’ Vision un outil de suivi de projet.

Afin de permettre un service personnalisé, une authentification spécifique permet de limiter l’accès aux pages dédiées militaires et nucléaires. L’authent de Django nous a grandement facilité la tâche.

L’interface d’admin automatisée de Django, a été agrémentée de nombreuses fonctionnalités pour faciliter le travail de rédaction et de mise à jours par le personnel non spécialiste d’ Extrem’ Vision.

C’est haystack, dont j’avais parlé précédemment qui motorise les fonctionnalités de recherche.

Le projet a nécessité de longues semaines de travail, en partenariat avec M. Gouverneur, directeur de la société et Sylvie Donnezan, graphiste et chargée de communication.

Souhaitons beaucoup de succès à Extrem’ Vision dans ses entreprises.

Djangocong: retour sur les rencontres Django à Marseille

Le week-end dernier (24-25 avril 2010), les premières rencontres django ont eu lieu à Marseille.
Organisées par Jean-Michel, David et Johan, la salle de conf a accueilli une soixantaine de personnes pendant deux jours.
Ambiance très friendly, on a même laissé des hérétiques dire du bien de ror ou symfony…
Certains venaient d’à côté, d’autres de beaucoup plus loin: bretagne, UK…
On s’accordera tous à dire que c’était instructif, très convivial, bien organisé et qu’on ne se fera pas prier la prochaine fois.

Les conférences django.

On commence avec Nicolas Ferrari, co-fondateur d’Excellency / Alwaysdata, l’ovni français de l’hébergement django.
Nicolas nous présente les nouveautés de django 1.2 qui devrait sortir incessamment. On va enfin obtenir quelques fonctionnalités qu’on attendait depuis un moment( au hasard les messages, l’autocomplete bash et les smart if) .

On enchaine avec Mathieu Agopian, qui nous vante les vertus de la paresse avec django (Mathieu, on dit feignasse à Marseille) et quelques améliorations de html5 css3. Mathieu a même distribué quelques bons points qui vont vite devenir collectors.

Puis c’est Eric Veiras Galisson qui nous ouvre sa boite à outils Django et détaille successivement la debug toolbar, les virtualenv, pip et surtout fabric ( ‘surtout’ parce que je devais regarder ça depuis des lustres).

Samuel Adam nous place ensuite un cours de geo avec geodjango. Limpide introduction sur les projections, ellipsoïdes, géoïdes et coordonnées suivie par une démo d’un petit jeu de son cru, étayé par les écueils d’optimisation de base sur les requêtes d’intersection spatiale. Samuel s’est également chargé de la video de l’intégralité des conférences et surtout de l’hydratation des participants.

David Larlet prend la parole pour nous confirmer la création imminente de l’assoc django et discuter du futur de django-fr.

Après ça on va tous déjeuner, discuter troller après avoir savouré l’expression quelque peu…dépitée des clients du restaurants voyant débarquer la meutes de geek.

L’après midi commence avec la conf d‘Olivier Meunier, qui expose les limites de l’authent avec django, son expérience de recodage et de custom du module, et enfin sa solution préconisée en production (surcharge).

C’est ensuite Bruno Renié, venu de Grande Betagne qui développe l’utilisation des test unitaires sous django, et le minimum a faire pour ceux qui veulent dormir tranquille. Nicolas (Perriault) en profite pour nous rappeler que les test les plus exhaustifs ne dispensent pas d’une réflexion en amont, ce qu’on a parfois tendance à oublier en TDD. Bruno Renié est l’auteur d’un moteur de traduction assez abouti pour communiquer avec les populations primitives.

Cyril Baÿ enchaîne avec les dessous de l’infrastructure d’alwaysdata. Cyril est co-fondateur d’alwaysdata, et nous expose les différentes pistes explorées avant d’arriver à la solution actuelle (proxy et démarrage/arrêt des démons selon le besoin) et les évolutions à venir.

Vient ensuite Nicolas Perriault, qui nous développe les similitudes Symfony/Django et l’avancée qu ça représente sur du php. Avec un gag toutes les deux phrases, c’est pas toujours évident de suivre. Nicolas nous rappelle à toutes fins utiles que les meilleurs frameworks du monde se heurtent aux réalités du marché et l’étroitesse d’esprit/frilosité des dsi/drh. En phase de recherche d’emploi, vaut mieux pas l’oublier.

La journée se termine sur l’appli de Bruno Bord, beeroverip, qui permet d’offrir du jus de houblon numérique à ses amis. C’est bien sympa, mais ça ne vaut pas le frigo de Samuel…

Le dimanche matin, après une petite grasse mat, Jean-Michel Armand commence avec Django et XMPP ainsi que les différentes libs disponibles. Jean-Michel a beaucoup œuvré pour la réalisation de ces rencontres, et on en le remerciera jamais assez.

Puis, Benoit Chesneau nous parle de Gunicorn (WSGI).

Olivier reprend la parole pour un petit cours sur AMPQ et l’utilisation avec django. Son explication reste très pragmatique, vu que c’est la solution retenue dans sa boite pour la gestion de certaines actions (commandes ndd). On voit au passage qu’on n’est pas les seuls à avoir une mascotte.

On embraye avec quelques lignting talks (je vais pas tout mettre) , sur django-roa et croise dans le metro par David, des outils de formulaires par Benoit Bryon, haystack (et d’autres choses) par Sebastien Fievet, une app django geoportail par Bruno Renié. Bruno Bord essaie de plomber l’ambiance avec ue minute de silence pour la disparition de PHP, mais je n’ai vu personne pleurer.
Jéremy Lecour nous présente RoR et s’étonne d’y survivre: ben ouais, django c’est pas un truc d’ayatollah !

Pizza du midi, puis David Paccoud expose les avantages de Pinax et ses multiples applis.

Stéphane raimbault enchîne avec les difficultés d’intenartionalisation d’une aplli, en mettant le dogts sur des particularités linguistiques qu’il vaut mieux anticiper (style les x formes de pluriel en polonais) et en nous donnant quelques outils destinés à nous simplifier la vie dans le processus de trad.

Puis c’est Benoit Bryon qui en remet une couche sur l’internationalisation, sans langue de bois sur les insuffisance de django en la matière, et des solutions pratiques issues de son expérience.

Benoit Chesneau reprend le micro pour sa base de donnée orientée doc couchDB, son interface d’admin Futon et l’interfaçage avec django. CouchDB semble être une alternative majeure pour la préservation des données malgré tout fail/crash.

C’est David Larlet qui clôture la session en pointant les limites de Django et les « trucs qui l’énervent ». On aborde notamment le problème de doc et de ses lacunes (notamment si on est entre débutant et expert). c’est vrai qu’un jobeet en django, ça permettrait de gagner du temps et d’attirer du monde, mais bon…

Puis voilà, c’est 18 heures, certains ont des trains ou des avions volcanproof  à attraper. On remercie vivement David, J-Mad et ceux qui se sont bougés pour que la rencontre ait lieu.

Pour conclure

Les interventions ont rivalisé de qualité pendant ces deux jours. La modestie et la simplicité des conférenciers, éloignées de toute considérations trollesques et « commerciales », me prouvent encore que la communauté est à la hauteur du framework.

Vus les réactions in situ et les tweets, nul doute que tout le monde est enthousiaste. On parle déjà de l’année prochaine, évidemment on ne sait pas encore où.

Tiens, il y a un collège Django Reihnardt à Toulon….

Crédits photo:

Haystack, la recherche avec Django

haystack

Les fonctionnalités de recherche sont indispensables pour tout site qui dépasse quelques pages. L’habitude de taper l’objet de notre curiosité dans le champ d’un moteur de recherche a profondément modifié nos habitudes de navigation, et il est souvent plus rapide et intuitif d’utilser la recherche embarquée d’un site que de naviguer laborieusement dans son arborescence et ses différentes catégories.

Implémenter une fonction de recherche dans un site Django n’est pas une tâche triviale, notamment si des critères de performance entrent en jeu.

Le projet le plus abouti dans ce domaine est Haystack (meule de foin). Développé par Daniel Lindsay, de toastdriven, haystack est en fait une interface entre votre contenu et un des moteurs de recherche supportés. Haystack s’intègre assez facilement avec la plupart de vos applis. Nous avons à plusieurs reprises utilisés Haystack pour des clients de providenz.

Les moteurs de recherches sont les suivants:

  • solr: moteur open source basé sur la lib java Lucene
  • xapian: moteur open source écrit en c++
  • whoosh: moteur open source en pur python. Pas le plus performant pour un site volumineux, mais le plus simple à installer, notamment sur un serveur mutualisé.

La mise en place d’haystack  est assez simple.

  1. installer haystack et le moteur désiré
  2. créer un searchindex.py qui va définir les champs des models à inclure et enregistrer (register) l’index, un peu sur le principe des admin.py
  3. écrire un template qui va générer le contenu que le moteur va indexer. C’est très intéressant pour les rendus complexes.
  4. ajouter les urls d’haystack à l’urlconf
  5. ecrire un template de recherche (champ/resultat)

L’indexation est commandée par un ‘manage.py rebuild_index’, les mises à jour par ‘manage.py update_index’. ces commandes peuvent être déclenchée par des cronjobs pour maintenir l’index à jour.

Haystack dispose de nombreuses options et possibilités, dépendant en partie du moteur choisi : faceting, plus de résultats, mise en surbrillance, recherche temps réel…

La logique de l’appli est conforme aux principes généraux de django, on n’est pas dépaysé.

On apprécie vraiment haystack, c’est une appli vraiment agréable à mettre en place.

Vous trouverez la page d’Haystack, les docs, et un groupe de discussion.

Bonne recherche !

Django

django
Nous avons eu quelques questions au sujet de Django après le lancement de run-up.

« C’est quoi, un framework? « , »Pourquoi celui-là et pas un autre », « Pourquoi Django pour un site simple » etc.

Donc on a décidé de se fendre d’un petit post pour expliquer notre vision des choses sur Django. Lire la suite

Lancement de run-up.fr

run-up.fr coaching pour l'ultrarunning et le trail running

Le 1er octobre, nous avons mis en ligne le site run-up.fr

Run-up.fr est un site de coaching pour la course de trail. Le trail, ou ultrarunning est une activité (considérée comme sport extreme) consistant à courir de longues distances en pleine nature.

Longue distance ça veut dire 40, 50 60 bornes…(oui c’est long!) et pleine nature ça veut dire qui monte beaucoup (plusieurs milliers de mètres).

Lire la suite