“Widget of the year”


L’été n’est pas terminé. Raison de plus pour découvrir la musique de Mx3 “décentralisée” dans la blogosphère et un peu partout ailleurs. Tout frais tout beau. Le widget de l’année, non ?

Comments (1)

WWDC 08

Adrian Kosmaczewski, senior architect chez Electronlibre est actuellement à la WWDC d’Apple. Comme les autres auditeurs, il ne peut pas blogger sur les informations qu’il reçoit dans l’enceinte de l’événement. Mais il nous partage volontiers quelques bribes d’opinions ainsi que son point de vue sur la Keynote.

10 juin: Pastrami Sandwich
Apple not only has interesting technologies to show up, even bleeding edge ones, more often than not on the open and public domain (many of which I can not write about, and boy they are going to make a difference!), but even better than that, it has a vision.

9 Juin: WWDC 2008 Keynote Main Points… .mac is replaced by mobileme; with a price tag of 99 per year, users get 20 GB of storage “on the cloud”, for storing images, e-mail, calendars or contacts, together with extremely advanced Web 2.0 applications, and integration with iPhone, Mac and PCs. “Exchange for the rest of us”, as they presented it! Instant sync from any device, anytime, anywhere. …

Comments

Django, un framework de choix

Cet article a été publié dans IBcom dans le numéro de Juin 2008.
Electronlibre a commencé à utiliser le framework Django en 2007. Cet article expose ces raisons, et donne un aperçu de Django lui-même, à l’intention des décideurs IT qui seraient intéressés par ce nouveau framework.
Marie-José Jones: Pour quelles raisons avez-vous passé de Ruby on Rails à Django?
Adrian Kosmaczewski: En 2006, suite à la demande d’un client, Electronlibre a utilisé Ruby on Rails pour un projet d’application web. Néanmoins, dès 2007, les compétences internes étant beaucoup plus fortes du côté du langage de programmation Python, Django a été retenu comme le framework de choix pour les nouveaux projets.
Il y a eu récemment un grand débat concernant d’éventuels problèmes de performance de Ruby on Rails, notamment après les déboires de Twitter, débat qui oublie souvent les grandes réussites de Ruby on Rails, comme Basecamp, A List Apart, 43things ou même des applications industrielles, chez Toyota par exemple.
Chez Electronlibre nous pensons que chaque framework a un “target” spécifique, et que chaque projet doit bénéficier d’une analyse particulière pour déterminer la technologie la plus adaptée.
Néanmoins, il faut reconnaître que Python et Django se trouvent dans une spirale ascendante en terme de “hype” et “buzz”, grâce à l’utilisation de Python comme langage officiel de Google (Guido Van Rossum, le créateur de Python, est lui-même un employé de Google), et grâce à l’annonce imminente (nous l’espérons) de la version 1.0 de Django. De plus, la récente mise en service du Google App Engine va certainement donner un élan important à Python et Django.
Ceci rend la plate-forme extrêmement intéressante en fonction des développements futurs, et des mentors du monde de la programmation qui s’y intéressent.
Sur le plan technique, quelles sont les forces de ce framework?
Le principal avantage de Django est le design “minimaliste” de son noyau : il est conçu pour exécuter des requêtes HTTP de façon simple et transparente, et offre un vaste choix de paramètres de configuration, et un choix de points d’extensions encore plus large.
Par exemple, il permet d’étendre l’exécution de requêtes HTTP avec des “middlewares”, ou d’ajouter des “applications” supplémentaires, dont la plus connue est celle du module d’administration. Bien d’autres sont disponibles, notamment sur le site “Django Pluggables”
Django intègre un ORM (“Object Relational Mapper”) qui est une implémentation du design pattern “Active Record” de Martin Fowler, ce qui offre les avantages suivants :
– Abstraction des objets applicatifs du modèle de la base de données sous-jacente ;
– Possibilité de migrer une application vers un autre moteur de base de données de façon simple et transparente ;
– Utilisation d’une API simple et cohérente pour ajouter et éditer des objets dans le code.
Django offre aux développeurs la possibilité de générer, lire et écrire des formulaires HTML à partir du modèle des objets applicatifs, et ceci avec une flexibilité rarement vue dans des systèmes similaires. De plus, Django incorpore un langage de “templates” qui peut être facilement utilisé par des designers, ce qui permet de séparer de manière effective les tâches de design des tâches de développement de fonctionnalités.
Enfin, un autre point fort de ce framework (tout comme pour le langage Python) est le grand nombre de ressources, de librairies et de documentation disponibles sur le web, ce qui rend la prise en main très simple et rapide. On remarquera notamment les sites suivants :
La documentation dans le site du projet ;
The Django Book ;
Dive into Python ;
How to Think Like a (Python) Programmer.

Et ses points faibles?
Comme disait Joel Spolsky, toute abstraction finit par être “percée”. Par cela on entend que le gain dû à l’utilisation d’un framework de “haut niveau” comme Django a souvent des effets secondaires, comme par exemple une perte de performances dûe à l’utilisation du pattern ActiveRecord pour accéder aux données.
Avant que les fanatiques de Django ne me tombent dessus, il faut préciser que ce problème n’est pas uniquement propre à Django, mais propre à toute technologie similaire. Après le développement d’un projet avec Django (ou Rails), et avant sa mise en production, il faut établir une stratégie de “cache” afin de réduire les accès à la base de données et augmenter les performances de l’application.
Concernant plus spécifiquement Django, il y a un problème architectural dans la séparation des trois couches de l’architecture “Model-View-Controller” (qui, dans le cas de Django, serait une architecture “Model-Template-View”). Cette défaillance provoque des liens “en dur” entre les “views” et les “templates”, qui rendent le code beaucoup moins réutilisable.
J’ai écrit un article sur mon blog à ce propos qui explique en détail le problème et les solutions possibles pour y remédier.
Finalement, je dois ajouter que Django n’offre pas un support “off-the-shelf” pour créer des API (Application Programming Interface) orientées REST ; il y a des efforts dans la communauté pour combler ce manque, notamment l’excellent projet django-rest-interface.


Quelles connaissance doit-on avoir pour pouvoir l’employer? A combien évaluez-vous le temps d’apprentissage de l’outil lui-même?
Tout d’abord, Django est destiné à des développeurs qui se sentent à l’aise avec le langage de programmation Python. Celui-ci est un langage de haut niveau, dynamique, fortement typé, très similaire a Ruby, Perl, Scheme ou Tcl.
C’est un langage qui supporte plusieurs paradigmes (orienté objet, fonctionnel, impératif) et qui tourne sur quasiment tous les systèmes d’exploitation. Un développeur chevronné ne devrait pas avoir besoin de plus de quelques jours pour le maîtriser sans problème, et quelques heures suffissent largement pour apprendre les concepts de base.
Pour les développeurs intéressés, les tutoriels de Python et de Django fournissent un excellent point de départ.
Quels sont les projets que vous avez réalisés avec cet outil?
Depuis 2006, Electronlibre a réalisé une dizaine de projets avec Django, et l’expérience a été extrêmement positive. Par exemple, les sites Tripbook et WattWatt ont été réalisés entièrement avec Django.
On peut non seulement créer les systèmes avec agilité et rapidité, mais on obtient également un code source de lecture simple, facile à maintenir, même par des développeurs qui n’étaient pas les auteurs originels. Cet avantage réduit les coûts de gestion des projets de façon importante, et permet d’ajouter des nouvelles fonctionnalités en temps record. De plus, l’architecture de Django a permis a Electronlibre de réutiliser des modules entre les différentes applications, ce qui nous a permis de réduire le temps de développement.
A l’origine, Django était axé “news”, est-il utilisable efficacement pour de l’e-commerce?
Effectivement, Django est né comme le framework de base de deux journaux du Kansas aux Etats-Unis. Le système a ensuite été extrait des applications, puis offert sous une licence open source (BSD) aux utilisateurs du monde entier. Grâce à l’aide de cette communauté internationale, Django a grandi et mûri, tout en s’enrichissant de fonctionnalités qui en font une excellente plate-forme pour tout type de site web.
Django se prête au jeu de l’e-commerce avec fiabilité et robustesse, particulièrement grâce au projet Satchmo, qui offre tous les outils nécessaires pour créer des sites d’e-commerce avec Django.
Le projet a-t-il une roadmap?
A l’heure ou j’écris ces lignes, Django n’a pas encore atteint sa version 1.0. Pour le moment, nos projets Django utilisent les dernières fonctionnalités offertes dans le “trunk” du repository, mais de temps en temps, à cause des changements dans le code source, nous devons adapter nos applications pour maintenir la compatibilité ; néanmoins, ces modifications sont minimes, et n’ont pas de rapport avec la sécurité ou la stabilité du framework lui-même. Nous attendons avec impatience la version 1.0.
Qui effectue le support et selon quelles modalités? En êtes vous satisfaits?
Comme dans tout projet open-source, le support a la même origine que le code lui-même : la communauté. Ceci a des avantages et des inconvénients, mais dans notre expérience on peut dire qu’on a trouvé jusqu’à maintenant des réponses à toutes nos questions. Nos collaborateurs participent aussi en ajoutant des billets à leurs blogs, expliquant comment résoudre certains problèmes.
Il faut dire également que certains sites comme Django Snippets permettent un échange fluide de connaissances entre les membres de la communauté.
La communauté est-elle active et “supportive”?
Non seulement cela, mais je dirais même que la communauté Django est “fanatique”! Il y a un vrai enthousiasme autour de la plate-forme qui rend très aisée la recherche de solutions pour des problèmes qui, tôt ou tard, finissent par apparaître.
En retour, que donne Electronlibre au projet Django?
Electronlibre contribue activement à la communauté Django, en envoyant des “bugs reports”, en soumettant des correctifs au framework lui-même, et aussi sous forme d’applications ou de modules telles que Rosetta ou Django Page CMS.
En interne, nous avons développé des outils qui répondent à des besoins ponctuels, comme le support pour le géolocalisation ou l’extension du projet django-rest-interface, dans lequel j’ai été impliqué personnellement. Dans ce dernier cas, nous avons réussi a étendre le projet original pour nos propres besoins, et nous avons l’intention d’ouvrir ce code à la communauté dès que possible.
Nous pensons que c’est la moindre chose que de collaborer, étant donné l’immense valeur que nous avons trouvée dans la communauté Django.

Technorati Tags: , , , , , ,

Comments

BrandTags, un service hautement viral dans la lignée de Hot or not !

Noah Brier vient de sortir une application qui fera frémir les analystes spécialisés dans le branding, comme InterBrand, Y&R, Saatchi&Saatchi, ainsi que les cabinets de “Brand protection” comme IC-Agency. Ce service, indubitablement inspiré du modèle Hot or Not, est très simple: vous visualisez une marque connue, vous méditez quelques secondes sur ce qu’elle vous fait ressentir et vous rédigez une phrase ou un seul mot-clé. Décoiffant sur le plan sémantique, cette application met en exergue les identifiants, les valeurs communes et communiquées, mais également les valeurs inconscientes et refoulées. Ce qui va sans nul doute réserver quelques impressionnantes surprises et remises en question et forcer définitivement les VP marketings des plus belles marques à découvrir la puissance et transparence du social web.

Quelques 70′000 tags en un week-end.

BrandTags.net

Technorati Tags: , , , ,

Comments

iPhone SDK: Une Nouvelle Ere Démarre

(Article publié sur Profession-Web)

Il y a de moments clés dans l’histoire de la technologie. Hier soir, vers 18h (heure suisse), il s’est produit l’un de ces moments. Apple a dévoilé un SDK (Software Development Kit) pour l’iPhone, et le monde du développement logiciel mobile ne sera plus jamais le même. Voici pourquoi.

Après de multiples rumeurs, Apple a finalement devoilé hier soir un SDK (Software Development Kit) pour son téléphone fétiche, l’iPhone. Cette nouvelle, bien que apparemment sans intérêt pour l’utilisateur moyen, aura des effets sans précédents, autant pour chacun de nous, communs mortels utilisateurs de téléphonie mobile, comme pour l’industrie toute entière.

En effet, bien que ce n’est pas la première fois qu’un fabriquant de téléphones mobiles offre un tel produit, l’engouement autour de l’iPhone tout comme ses charactéristiques techniques font que la nouvelle prenne une toute autre ampleur.

Pour ceux qui ne le sauraient pas, un SDK est un ensemble d’outils, qui permet aux développeurs de logiciels de pouvoir créer des applications autour d’une plate-forme. Par exemple, J2EE ou Ruby on Rails peuvent être considérés comme des SDKs, spécifiquement conçus pour créer des sites web, qui stockent leurs informations dans un système de base de données structuré. De la même façon, chaque système d’exploitation comme Windows, Mac OS X, Linux, mais aussi Solaris, QNX, BSD et n’importe quel autre, est généralement fourni avec un SDK (usuellement gratuit) pour que les développeurs puissent augmenter les capacités de la plate-forme, en l’étendant dans des façons nouvelles et inconnues par son fabriquant.

Dans les cas des téléphones portables, aucun des SDK existants (la plupart basés sur le langage Java) n’ont eu un succès fulgurant, bien que le hardware utilisé pour le monde mobile devient chaque jour plus puissant, et bien que l’expérience utilisateur de la plupart de téléphones laisse vraiment à désirer. Quiconque aura attendu 2 minutes pour que son jeu puisse être utilisé sur son portable (le temps pour que le logo “Java” disparaisse), ou quiconque aura vu son SMS disparaître lorsque le téléphone redémarre inopinément, saura de quoi je parle.

Voici donc Apple; une société dont l’iPhone est la deuxième intervention sérieuse dans le monde de l’informatique mobile, le premier essai, le Newton, s’étant soldé sur un échec commercial (mais un succès conceptuel, comme Palm l’a prouvé quelques années plus tard). Cette fois-ci, la société fondée par Steve Jobs en 1976 compte bien changer les règles du jeu, et le SDK annoncé hier soir est une partie fondamentale de cette stratégie.

D’un point de vue technique, on peut dire sans se tromper que l’iPhone et un Mac de poche. Le système d’exploitation de l’iPhone (ou “iPhone OS”) est une version miniature du Mac OS X, le software qui gère le fonctionnement de n’importe quel Mac sur le marché. Mac OS X compte une panoplie complète de librairies et de fonctionnalités prêtes à l’emploi, la plupart d’entre elles développées et testées continuellement depuis la fin des années 80 (à l’époque de l’ordinateur NeXT). Tout cela est maintenant à disposition des développeurs dans l’iPhone OS.

Mais ce n’est pas seulement un compilateur qu’Apple fournit avec son SDK; c’est aussi une suite d’utilitaires qui permet de créer le code et de le corriger (Xcode), de créer graphiquement des interfaces utilisateurs avec le moindre effort (Interface Builder), de voir son exécution et de paramétriser ses performances (Instruments) et de livrer les applications aux utilisateurs (App Store).

Finalement, Apple s’est inspiré de Cocoa, la librairie et runtime graphique utilisé dans le Mac, en ajoutant les contrôles nécessaires pour créer des applications iPhone, qui gèrent correctement les actions de l’utilisateur, lorsqu’il promène ses doigts sur le “touch screen” de l’appareil. Cette nouvelle version de Cocoa, “Cocoa Touch” utilise tout le pouvoir d’Objective-C, le langage de programmation orienté objet, vraie “lingua franca” du développement sur Mac.

Objective-C est un langage unique en son genre: c’est probablement le seul langage de programmation dynamique et compilé à la fois; il offre toute la puissance et vitesse du langage C, avec la beauté et la grâce de la programmation objet, tout en fournissant un environnement qui se prête au “développement rapide” d’applications comme aux plus hautes performances.

Bref, l’iPhone OS ouvre la porte à une nouvelle génération d’applications mobiles: vitesse native, support pour “multithreading”, rapidité de création, facilité de maintenance et de déploiement, et accès natif aux multiples capacités de l’iPhone (caméra, carnet d’adresses, navigateur web intégré, système de géolocalisation, et j’en passe). Je vous invite à voir la vidéo de la présentation d’hier pour voir les capacités de l’outil; avancez jusqu’a la minute 40, et regardez ce qu’on peut faire avec.

L’iPhone SDK est disponible gratuitement (il fait 2 GB!) chez http://developer.apple.com (il est juste nécéssaire de créer un compte ADC - Apple Developer Connection -, ce qui est gratuit et ne prend que quelques secondes). Dans la version disponible actuellement, seul l’Interface Builder fait défaut, mais les autres outils sont présents et prêts à l’emploi. La version définitive sera offerte dès le mois de juin prochain.

Entre temps, pour les développeurs qui voudraient apprendre Cocoa, je vous recommande trois livres:

  • “Programming in Objective-C” par Stephen Kochan (ISBN 978-0672325861)
  • Learning Cocoa with Objective-C, Second Edition, par James Duncan Davidson (ISBN 978-0596003012)
  • Cocoa Programming for Mac OS X, par Aaron Hillegass (ISBN 978-0321213143)

Et quatre websites:

Adrian Kosmaczewski, senior architect @ electronlibre [src: Open Kosmaczewski]

Comments (5)

Major announcements

Les sourires sur notre carte de vœux étaient à double sens. Nous avions quelques surprises en poche pour la rentrée. C’est avec une joie non-dissimulée que nous vous annonçons l’arrivée d’Eileen et James, ainsi que la sortie de Tripbook et de WattWatt.

EILEEN WEINBERG, CLIENT SERVICE DIRECTOR

Eileen traverse l’Atlantique pour rejoindre notre bureau lausannois tout prochainement, après 2 ans chez Ogilvy Interactive NY comme senior project manager et 4 ans chez HBO comme Technical producer. Eileen était en charge des clients européens comme Novartis et Siemens corporate. Dorénavant elle s’occupera de développer les clients internationaux d’Electronlibre, comme Nespresso ou Orange et d’affirmer l’agence sur le marché européen comme expert en développement de sites communautaires.

email: eileen at electronlibre.ch

JAMES WILKINSON, NEW CREATIVE DIRECTOR

James Wilkinson prend la direction de l’équipe créative. James a travaillé pendant plus de dix ans comme creative director dans des agences londoniennes: quidnunc, the Marketing Store. Voilà plus d’un an qu’il était en Suisse comme Global Brand manager de Marlboro, où il a eu l’occasion de redéfinir avec succès le positionnement de la marque au niveau international. Son retour en agence marque sa volonté de repartir du côté création, tout en gardant un expertise marketing et branding hors-norme. Après déjà deux jours de présence, les idées fusent.

email: james at electronlibre.ch

TRIPBOOK
PREMIERE COMMUNAUTÉ SUISSE SUR LES VOYAGES ET LOISIRS

Mandaté pour réaliser le nouveau site de Voyages et Loisirs avec et pour le TCS, Electronlibre a proposé de développer un portail communautaire dédié au partage d’expériences sur les voyages, loisirs, bons plans et excursions, ce qui est chose faite ! En beta fermée pendant un mois, le site vient de s’ouvrir aux membres TCS, soit plus d’un million de personnes durant les fêtes. La promotion de la plateforme s’effectuera prochainement.

WATTWATT
COMMENT UNE ONG PEUT SE TRANSFORMER EN SOCIAL MEDIA ?

Officiellement lancé début septembre par un parterre de spécialistes, la plateforme sociale, développée sur-mesure par Electronlibre, est un succès. Des articles de qualité, des discussions engagées sur une thématique pas si évidente: l’efficience énergétique électrique ! Alors que le monde entier parle d’énergies renouvelables, il est fondamental d’esquisser les potentiels d’économies et d’efficience sur la deuxième énergie mondiale. Pour souligner cette thématique d’avenir, venez participer à Lift le 8 février 2008 lors d’un event spécial Wattwatt. Plus d’infos ici.

D’autres grandes nouvelles suivront rapidement, dont l’annonce de deux importants pitchs remportés.

Comments (3)

Un mot d’ordre: social !

Comments

Live coverage web2 expo de Berlin

Yann, notre Chief User experience Officer est à berlin pour la web2 expo conference en ce moment. Il nous fait part des présentations et sa quête de découvertes. A suivre jusqu’à demain.

Derniers posts

  • Web2.0expo Berlin, pour conclure…
  • Pour terminer cette longue série de post sur cette expoWeb2.0 de Berlin, un petit post pour remercier et gueuler un peu…

  • Les tags comme élément de navigation
  • Difficile de choisir entre Designing tag navigation, Disrupting the Platform: Harnessing social analytics and other musings on the Facebook API et Social Commerce and Community.

  • De l’importance de la typographie
  • Mark Boulton est un typographe de formation tombé dans le web depuis pas mal d’années, sa présentation – Better Typography (9.1mb) – met en avant l’importance de la typographie sur le web…

  • Quelle librairie Javascript choisir ?
  • Très intéressante présentation de Simon Willison un des créateur de django sur la jungle des librairies Javascript (JS). En fait le titre de la présentation “How to Make AJAX Work For You” ne correspond pas vraiment au contenu, mais…

  • Microformats au petit déj
  • Deuxième jour de conférence et à nouveau du microformat au petit déj même si Offline Web Applications with Dojo Offline & Google Gears avait l’air sympa…

  • La beauté des standards | Dopplr
  • Les 2 dernières conférences de la journée d’hier: The Beauty in Standards - Jeremy Keith et Coding on the Shoulders of Giants…

  • A web of data
  • Designing for a Web of Data - Tom Coates Yahoo! Présentation à l’américaine avec un orateur a une forte personnalité qui fait son show…

  • Communauté de marque | Interaction design pour start-up
  • 2e session, à nouveau plusieurs conférences susceptibles d’être intéressantes en même temps je tente donc un ping-pong entre Community Practices: From Forums to Social Networks et…

  • Web2.0 expo Berlin, des microformats en entrée
  • Après 40min de U-bahn et 25min à pied me voilà ENFIN arrivé… Difficile exercice de faire du reporting plus ou moins live (plutôt moins), soyez indulgents…

Comments

C’est la rentrée, l’équipe est presque au complet

Découvrez les profils EL ici.



















Comments (6)

Barcamp de Lausanne à l’EPFL, Electronlibre décrypte Facebook et révèle le framework Django

Partenaire de l’événement “informel” organisé par l’EPFL, Electronlibre vous invite à venir le 29 septembre à participer en tant qu’auditeur ou orateur à cette manifestation qui tourne sur toute l’Europe. Nous aborderons deux thématiques en tant qu’analystes:

• Les réussites et les erreurs fonctionnelles de Facebook, par Raphaël Briner, directeur associé
“Facebook a acquis une notoriété insolente, une forme olympique. Basée dans le Massachusetts, à Cambridge, cette “startup” possède plus de 300 employés et génère plus de 50 millions de revenus de dollars. Quelles sont les choix qui l’ont amenée à ce succès ? Quelles questions doit-elle éventuellement se poser sur certaines fonctionnalités? Bilan sur l’arrivée des applications et des effets induits.”

Django, fameux framework en Python, choix technique stratégique de l’agence, par Mathieu Meylan, Développeur et administrateur système d’Electronlibre
“Django séduit, Django étonne. Dans tous les cas, il remplit ses promesses. Bilan de 4 mois de développements réussis avec ce framework, utilisé sur Wattwatt par exemple.”

Comments (2)

« Previous entries ·