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 !

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

Ouverture d’un compte Flickr

providenz flickr

Chez providenz, nous avons décidé de poster quelques photos sur Flickr.

Toutes les images seront placées sous licence  Creative Commons paternité afin de vous permettre de les réutiliser dans vos créations.

Nous augmenterons régulièrement le compte avec des images variées et quelques travaux graphiques.

Nous tenterons de proposer des images illustrant un concept : par exemple un cactus vient d’être posté sur le compte, et il pourrait illustrer un article ou une présentation traitant d’un « problème épineux »…

A vous de voir.

Providenz sur Flickr

Questionnaire client pour un site Web

conversation by clarity, licence CC By

Dans le processus de création d’un site internet, comme dans toute gestion de  projet, il est nécessaire de répertorier les exigences et d’établir un cahier des charges détaillé. Cette démarche permet de dresser un liste exhaustive des fonctions que devra remplir le site, mais également des contraintes et désirs du client. Une fois ce document validé, vous pourrez mettre les mains dans le cambouis et débuter la conception du site.

Deux situations peuvent se présenter à vous:

  • Le client vous propose un cahier des charges : vous n’avez qu’à l’affiner avec lui
  • Le client s’en remet à votre expertise. Il vous faut cerner son besoin en conduisant une analyse de besoin.

Il vous faut en effet expliquer à votre client selon son niveau de connaissance tout le bénéfice que le site peut lui apporter, préciser certains point techniques, lui parler de référencement, de visibilité afin de pouvoir définir les objectifs de son site, son positionnement etc.

Pour ce faire, il est bon de poser un certain nombre de questions à votre  client en première approche,. Je préfère conduire ce questionnaire en face à face, car les échanges sont évidemment  facilités.

Mais il est parfois profitable de transmettre votre questionnaire au client en préambule, soit pour qu’il le complète, soit tout simplement pour qu’il prenne conscience de l’étendue des questions que peut soulever son site.

Ce questionnaire devra être adapté selon le type de client et le genre de site qu’il envisage( blog, site plaquette, e-commerce), mais la démarche reste la même. Le but étant d’embrasser le projet dans son ensemble mais de manière succincte afin que vous puissiez élaborer le cahier des charges avec le client. Si le domaine professionnel de votre client vous est inconnu, il vous faudra absolument vous documenter et le questionner afin de connaître son métier et ses produits ou services.

Questionnaire d’avant Projet de site web

-        Pour quelle raison voudriez vous un site web (ou rafraichir un site existant)?

-        Dans l’avenir, que va-t-il  vous arriver si vous n’ avez pas de site ?

-        Décrivez-vous (votre société/organisation) en quelques phrases

-        Du point de vue de vos client, qu’est ce qui vous démarque et vous rends particulier

-        Quels problèmes ou besoins ont vos prospects et que vous pouvez résoudre ou satisfaire ?

-        Comment votre expérience pourrait elle aider vos clients et vous démarquer de la concurrence

-        Pourquoi croyez-vous que les visiteurs de votre site travailleront avec vous plutôt qu’avec vos concurrents.

-        Avez-vous un slogan qui décrit clairement le bénéfice que vous offrez a vos clients.

-        Décrivez vos prospects. (Revenus, intérêts, sexe, éventuellement type de société)

-        Quel est votre budget pour ce projet

-        Qui sera en charge du site dans votre société

-        Quel est la date souhaitée (au plus tard) de mise en ligne du site

-        Listez 3 sites que vous appréciez. En quoi les trouvez-vous plaisants ?

-        En regard de vos concurrents (sur le web) avez-vous une idée de ce que vous souhaitez dans votre site ?

-        Qu’est ce que vous ne voulez surtout pas dans votre site ?*

-        D’où provient le contenu du site (texte et médias). Qui sera responsable de sa mise à jour.

-        Avez-vous un logo ?

-        Prévoyez-vous de vendre en ligne ? Si tel est le cas, de quel produit  ou service s’agit il et combien d’articles souhaitez vous vendre ?

-        Sur quels mots clés cibles (google et autres moteurs) voudriez vous que votre site soit le mieux  référencé ?

-        Quelle stratégie allez-vous utiliser pour faire connaitre votre site ?

-        Comment allez-vous encourager les visiteurs à revenir sur votre site ?

Ce questionnaire permet de préciser les questions les plus importantes pour votre client. A partir de là, vous allez pouvoir plancher et rédiger un plan projet, c’est à dire le document qui permettra au client de connaître votre démarche, la durée du projet, les intervenants etc.

Le questionnaire vous est proposé en téléchargement :questionnaire-projet-web