Notre dernier projet

Posté par Cedric, le 20/10/2009 - Technologie

Ces dernières semaines, nous avons sorti un produit que nous préparons depuis pas mal de temps. Il s'agit de FatCap. Ce site, visible en francais sur www.fatcap.org, et initialement créé en 1998, est un des leaders mondiaux des magazines d'arts urbains en ligne. Pour cette nouvelle version, les objectifs à atteindre étaient multiples:

  • Bâtir une plateforme solide, basée sur le contenu des utilisateurs (photos, vidéos) ET sur le contenu produit par l'équipe éditoriale (vidéos maison, articles, interviews, reportages, mises en avant)

 

  • Rendre cette plateforme entièrement géolocalisée, afin de pouvoir suivre l'évolution de l'art dans une ville, dans un état américain, dans un pays, ou même dans un continent.

 

  • Tirer la plus grande valeur de chaque élément de contenu en créant une base intelligente et structurée censée représenter l'art urbain de manière exhaustive: Ainsi, chaque artiste devra avoir sa page, ainsi que chaque groupe d'artiste. De même, chaque photo pourra être multi-taggée avec une quinzaine de critères afin de répondre de manière complète à tout type de demande de la part des internautes.

 

  • L'ensemble de la plateforme devra être internationalisée, et mieux encore, localisée, c'est à dire que la couche éditoriale devra être différente sur les différents sites locaux. L'actualité de chaque version localisée étant adaptée au pays ciblé par la version, à l'inverse de sites internationalisés au contenu unique, traduit soit à la main soit par un traducteur automatique.

 

La conception


Nous sommes donc partis pour quatre mois de conception dès mi-2007, où il s'agissait d'abord de faire un état des lieux des technologies en présence. En effet, il fallait contourner par la technologie les problèmes suivants:

- Géolocalisation: Il était bien sûr hors de question de se baser sur des champs texte, qui laissent la part belle aux fautes en tout genre. Il fallait se baser sur une API (et donc sur des ID), et proposer un système souple et intelligent qui permettrait aux utilisateurs de renseigner les villes de manière intuitive. Côté API, elle devait être pérenne, et n'avoir aucun risque de cessation d'activité à court ou moyen terme. Nous avons opté pour les bases de Yahoo! Geoplanet (qui, hasard ou chance, sont sorties en plein milieu de notre phase de conception), car ce sont celles utilisées par Flickr et celles qui de loin présentent les fonctionnalités les plus puissantes et les meilleures garanties.

- Ce dernier point fut en outre à l'origine d'un problème plus global: ayant un contenu méta-taggée de manière très riche, il convenait d'adopter un système de tagging très simple à utiliser, très loin donc, des éléments de formulaires mis à notre disposition par le simple fruit de l'HTML (menu déroulants, boutons radio, etc..). Le JavaScript allait donc être intensivement utilisé sur certaines pages. En effet, plus vous rendez une information compliquée à rentrer, plus vous risquez d'avoir des informations lacunaires.

La solution à ces deux problèmes peuvent être illustrés au travers de l'exemple du tagging d'une ville. Voici à quoi ressemble le formulaire d'inscription, par exemple:

fig. 1

fig. 2

fig. 3

Comme vous le voyez sur le drapeau, on préselectionne automatiquement le pays dans lequel l'IP du visiteur se situe. S'il le souhaite, il peut évidemment changer ce pays. Cela nous permet de restreindre notre recherche de ville au pays sélectionné, évitant ainsi les multiples doublons constatés à l'échelle mondiale. Ensuite, la puissance de l'interactivité avec l'API se déploie lorsque la ville est inconnue en base (fig. 2). La, alors que l'utilisateur va taper entièrement le texte de sa ville, nous ne sommes pas encore en mesure de la relier à une ville issue de la base de données des villes Flickr, disponible à travers Yahoo! Geoplanet. Alors, une fois le texte rentré, nous effectuons par Ajax la bonne requete YQL, et sommes capables, s'il y a confusion, de proposer des options à sélectionner (fig. 3), ou, si nous avons un résultat unique, de simplement qualifier le texte tapé en une puce signalant la validation du contenu.

- Ensuite, il y a la spécificité d'un site au contenu localisé. Un tel site ne saurait abriter toutes ses différentes version sous un seul et même serveur. Au contraire, le contenu doit être servi au plus près des internautes, ce qui sous entend d'héberger chaque version dans le pays des visiteurs qu'il cible. Cela pose donc entre autres le problème de l'appel aux images, puisque des images sont chargées sur des serveurs distants de 7000 km, et que nous ne souhaitions pas utiliser de technologie de synchronisation des fichiers (même si unison a longuement été étudié), car technologie sujette aux lags, à la consommation frénétique de bande passante (qui n'est pas chère en France mais hors de prix aux Etats Unis), et sous-optimale en terme d'optimisation de l'espace disque.

Nous avons donc développé un système de gestion intelligent des assets, qui est capable de déterminer sur quel serveur du cluster une image a été chargée, et de l'afficher en conséquence, ainsi que de faire une copie permanente des assets sur le service de stockage tiers Amazon S3. Une fois une image répliquée (dans les 10mn de sa validation), c'est le chemin physique le plus court jusqu'au serveur qui est choisi, dans le but d'optimiser la vitesse et les couts.

Le design


Printemps - été 2008: Une fois les documents établis (specs fonctionnelles et techniques, wireframes détaillées, etc.), l'élaboration du design fut assez "simple". Déja, parce que nous travaillions avec une des meilleures agences de Paris (CubeDesigners), mais aussi parce que nous avions une idée très claire de ce que nous souhaitions, facilitant les allers retours. Ainsi, élaborer une page clé complexe ne prenait pas plus d'une journée, sans que nous n'ayons, jusqu'au dernier jour, besoin d'y retoucher le moindre pixel.

Le défi ergonomique de ce design était de bâtir des listes filtrables, sur un système d'entonnoir. Ainsi, une liste de photo peut être celle d'un artiste, comme C215, mais aussi la liste des photos de Paris, celle de tous les "personnages" apparaissant dans une oeuvre, celle de France, de Californie, etc... C'est là la puissance du site: structurer à l'extrême un contenu par ailleurs désorganisé, rendu simple par une utilisation de repères identiques à travers la visite.

Un bon exemple de ce souci de facilitation du parcours de visite est la page de vue d'une photo. Sur cette page finale (rien après ce niveau de navigation), il convenait de proposer aux visiteurs d'autres contenus reliés. Etant donnés nos multiples niveaux de classification d'une photo, nous avons opté pour un coverflow, grâce auquel on peut continuer sa visite sur des frises, toutes classées selon un des critères clés choisis à travers le site (timeline, artiste, ville, type, style, support).

Le développement


Beaucoup de travail nous attendait chez SeedWeb. Nous avons passé l'été 2008 à concevoir le design, et l'automne fut l'occasion pour notre équipe d'intégrateurs HTML d'intégrer toutes ces maquettes en XHTML selons nos critères très stricts, dans le but d'améliorer le référencement naturel, et en parallèle pour notre équipe de développeurs front, de développer la couche Javascript (avec jQuery), en particulier les interfaces de tagging. Le développement lourd a donc commencé à l'hiver 2008-2009, ce qui concordait avec la sortie de Symfony 1.2, qui intégrait enfin Doctrine comme un ORM de choix, ce qui tombait bien car vue la complexité de certaines requêtes du site et la puissance du DQL, nous aurions difficilement pu nous en passer.

De cette base Symfony, nous avons presque tout étendu: les classes de base bien sûr, le moteur lui même, puisque nous lui avons adjoint la puissance des composants Zend Framework, notamment pour la gestion des services tiers (FatCap est un site ouvert, interfacé avec Twitter, Youtube, Dailymotion, Vimeo, Flickr, etc..), nous avons également étendu les actions de manière à ce qu'elles héritent d'une classe mère par application, qui hérite elle même d'une action commune à l'ensemble du projet, afin de factoriser au maximum le code. Idem pour les composants. Toute notre gestion des images (redimensionnement, intégration à notre système de réplication) est le fruit d'une nouvelle classe de traitement de l'upload des fichiers (qui étend sfValidatedFile), et qui se base sur des fichiers de configuration puissants afin de déterminer la liste des miniatures à effectuer, des emplacements de stockage, etc... L'ensemble des modèles de données est étendu grâce à des templates doctrine, comme par exemple le choix du serveur pour afficher une image, ou encore la réplication S3, le tout en minimisant les requêtes et le temps d'affichage, et en rendant toutes les actions longues asynchrones.

L'ensemble de cette belle machine est surveillée par des milliers de tests fonctionnels et unitaires, et servie par un cluster de serveurs répartis dans le monde, avec des systèmes de réplications de bases de données complets, une utilisation intensive de memcache, et un accent fort mis sur la sécurité. La base de données est constamment "purifiée" par une cinquantaine de démons qui tournent à longueur de journées et de nuits, et qui s'appuient sur un logging statistique étendu pour garder une base de données propre, qualifiée, et à jour (qui sert aussi à produire les différents graphiques sur le site).

En bref, un très long projet, et une belle prouesse technologique pour SeedWeb, qui synthétise l'ensemble de nos champs d'expertise, et qui correspond à notre positionnement ambitieux de s'employer à produire des sites de très haute qualité, facilement extensibles et utilisant un éventail de technologies matures et professionnelles, en utilisant notre expertise en marketing internet et en ergonomie pour maximiser l'expérience utilisateur, et diminuer les couts d'acquisition.

tags: amazon, cloud-computing, seedweb, symfony

A lire aussi: Comments Commentaires
Le site est une vraie bombe. Bravo pour cette réalisation!

Posted by Daniel on 21/10/2009

Je suis réellement impressionné par votre réalisation. Le design est superbe, et la structuration du site est vraiment bien pensée. Du bon boulot.

Je connais un peu le milieu de l'art urbain, ce site a tout pour être un référence. L'ouverture vers les API extérieures est fondamentale pour ça.

bravo +2 !

Posted by Olivier on 21/10/2009

Excellent boulot et jolie infra technique: je vais vous piquer deux trois idees!

Posted by Jimmy on 22/10/2009

Merci à vous!
J'essaierai de revenir en détail sur certains points du développement qui me paraissent intéressants.

Cedric

Posted by cedric on 29/10/2009

It's not so simple to bring a perfect written essay, essentially if you are occupied. I advise you to notice buy essays and to be void from question that your work will be done by essay writers

Posted by EmiliaDALTON18 on 04/04/2010

those stuff is unbelieveably true

Posted by custom research paper on 16/04/2010

Dresses, evening, cocktail, prom dresses, formal gowns from eiDress. Homecoming dresses and bridesmaid.
discount Evening Dresses
Prom dresses, evening wear, daywear and accessories from celebrity designers and exclusive ranges. Buy online or visit our prom dresses stores
prom dresses
discount prom dresses
New Style Moncler,Moncler jackets,Moncler coats online
Moncler coats
Moncler
Moncler jackets,Moncler,Moncler coats,Moncler vest,discount Moncler outlet, moncler polot shirt Moncler Men Moncler Women Moncler Children Moncler Hats.
Moncler Jackets
UK Moncler

Posted by evening dresses on 17/06/2010

wedding dresses,wedding gowns,bride dresses,bridesmaids dresses,evening dresses,bridal gowns,
flower girl dresses.
Evening Dresses
wedding Dresses
discount wedding dresses
Prom Dresses: Find Online fashionable prom dresses,homecoming dresses from top USA prom gowns designers,
Evening dresses, sexy Tops , casual dress ,sexy
discoun prom prom dresses
Elegant couture designer evening gowns, sexy dresses, inexpensive on sale prom dresses,
discoun evening dresses
Nationwide bridal salon offers bridal and wedding gowns, bridesmaid dresses,
flower girl dresses, tuxedos, and other special occasion apparel. Site includes a bridal
links london
links of london
discoun prom dresses


Posted by xiaoxiao on 20/06/2010

thank you! I like this news, I also have information to share, here is my message.
mbt mbt mbt 靴 mbt 靴 mbtシューズ mbt シューズ

Posted by mbt on 08/07/2010

I really want thank you so much for your great articles referring to this good post! And you know, that the writers job service would like to use it in the custom essays.

Posted by RHEAJohns20 on 08/07/2010

2010 new styles A-line Wedding Dresses,Beach Wedding Dresses,Evening Dresses,Prom Dresses on sale
evening dresses
Prom dresses
wedding dresses
on best wedding dresses for 2009 and 2010. You can find latest collection of woman's dresses and casual dresses on this site
discount Prom dresses

Posted by dress on 13/07/2010

Cosplay Costumes Cosplay Wigs Movie TV Cosplay School Uniform Uniform Cosplay Cosplay Accessories .
cosplay costumes
cosplay
sexy lingerie
The Lingerie Store,The lingerie and nightwear SALE at Style Lingerie. All lingerie sale garments marked 30% to 70% off.
Sexy lingerie, ladies underwear and designer nightwear
lingerie store
lingerie sale
sexy lingerie
Sexy Clubwear
Lingerie, sleepwear and intimate apparel is our specialty, ranging from sexy lingerie to bridal lingerie,
including corset, bras, thongs and stockings.
Sexy Costumes
sexy nurses costume
sexy Sports costume
Vinyl Lingerie
lingerie sale

Posted by cosplay on 30/07/2010

Many people want to buy diamonds do not know how the determination of the value of the diamond, then now you’ll know.Diamond weight is to determine the level of the primary factors links of london in the value of the links of jewelry whether preservation, appreciation, mainly depends on the 4C measure, the higher links of london sweetie-bracelets sale the grade of studying, the greater its value, the more appreciation with the preservation features. Identify advantages links of london sweetie bracelet jewelry and disadvantages of diamond origin to be able to judge you, links of London experts said that although the origin of the other diamond, but no price points, the current store with the South, ‘South Africa’ or ‘Indian’ to name, this is obviously misleading.

Posted by songhailing on 30/07/2010

Ajouter un commentaire