 |
|
| |
 |
Nicolas Silberman
Directeur technique
20minutes |
|
Nicolas Silberman
"Nous sommes sous LAMP avec des serveurs frontaux Linux Fedora"
Le site d'actualité, prolongement du journal papier généraliste, a été refondu en début d'année 2007. L'accent a été mis sur la fiabilité de la base de données et un système de cache.
27/03/2007 |
| |
|
 |
JDN
Solutions. Depuis quand existe le site Web de 20minutes et quelle est sa vocation ?
Nicolas Silberman. La société existe depuis 5 ans maintenant et le site Web a été lancé un peu près en même temps que les quotidiens gratuits. Au début, notre site Web avait pour vocation de reprendre le contenu des éditions du quotidien. Nous essayons petit à petit d'évoluer en faisant débattre les internautes entre eux à partir de forums.
Il y a un an, nous avons lancé une version enrichie du site, qui ne se veut plus uniquement la reprise de nos éditions papiers. Nous avons désormais une petite équipe de journalistes qui travaille en permanence sur le site Web, soit en reprenant des dépêches AFP relatives à l'actualité, soit pour proposer un réel contenu journalistique pour le Web. Les sujets ont été élargis et nous favorisons l'interaction avec les lecteurs. La présentation a également été changée.
Quels sont les services que fournit votre site ? Avez-vous signé dans ce cadre des partenariats ?
Nous proposons des blogs - pour lesquels nous utilisons le service de BlogSpirit - un service de rencontre avec Parship, et un moteur de recherche d'emploi. Les forums ont été développés en interne car ils servent à contribuer à nos articles. De même, nous avons mis au point quelques jeux pour les internautes.
Pour les vidéos sur le site, nous avons signé un partenariat avec Zoom.In.
Au niveau solutions logicielles, quels ont été vos choix clés ?
 |
 |
A l'époque de la création du site, l'audience ne nécessitait pas un modèle dynamique" |
|
Nous sommes sur une architecture LAMP, avec des serveurs frontaux en Linux Fedora. Chacun des serveurs fonctionne sur PHP 5 et une base MySQL. Sur la version précédente du site, les pages étaient gérées de manière statiques, alors qu'elles sont désormais dynamiques. A l'époque de la création du site, l'audience ne nécessitait pas de faire un système plus évolué ou complexe.
Pourquoi être passé d'une gestion statique des pages à une gestion dynamique ?
La façon dont est géré un site statique est complexe. Nous ne pouvions pas gérer la durée de vie d'une page, sauf à réaliser des suppressions à la main. Ne serait-ce que pour modifier tout notre contenu en matière d'ergonomie, ou pour rajouter un partenaire dans nos échanges de liens en pied de page, cela impliquait des calculs longs et coûteux. Nous avons préféré un système de gestion des pages dynamiques, même si cette décision impliquait de résoudre des problématiques de gestion de cache et de répartition de charge.
Vous avez dû choisir une solution de gestion de contenu ?
Non, nous en avions déjà une. Il a juste fallu arrêter la génération de pages statiques, sauf pour quelques pages bien particulières comme nos pages RSS, notre "Une" et d'autres articles. Ces pages restent en statique pour répondre à un besoin de fraîcheur de l'information, mais aussi pour pouvoir les mettre en ligne très rapidement. De même, cela nous permet de soulager la base de données et d'améliorer les temps d'accès pour les internautes.
Notre solution de gestion de contenu a été développée il y a un an, par une agence Web. C'est un éditeur Wysiwyg PHP, que nous avons fait évoluer pour répondre aux besoins des journalistes. L'idée étant qu'ils n'aient pas besoin de connaître le code HTML et aient l'impression d'utiliser un traitement de texte standard.
Quelles ont été les implications de ce changement sur votre montée en charge ?
Nous nous sommes penchés sur des solutions de gestion de cache. Trois choix s'offraient à nous : passer par une prestation de type Akamai, opter pour une solution dédiée de type Squid, ou utiliser des solutions internes développées par notre siège en Norvège. Après avoir fait le tour, nous nous sommes aperçu que ces solutions n'étaient pas assez poussées, ni assez souples pour gérer des portions de pages Web à mettre en cache. Nous avons donc préféré le système dynamique de Zend Platform.
 |
 |
Zend Platform est une solution de gestion de cache vraiment intégrée à PHP MySQL" |
|
Zend Platform était vraiment intégré dans PHP MySQL, simplifiait beaucoup l'administration de cluster et disposait d'une API assez simple pour faire appel aux fonctions de cache.
Comment avez-vous organisé vos serveurs pour assurer une bonne gestion de la montée en charge ?
Nous disposons de trois serveurs frontaux mais sans répartition de charge car le site ne le justifie pas. Nous fonctionnons en DNS Round Robin, c'est-à-dire par une répartition successive des visiteurs sur les serveurs. Ce procédé a ses limites, notamment en termes de gestion de sessions ou en cas de panne des serveurs, mais pour l'instant cela ne nous gène pas véritablement.
A coté de ces 3 serveurs frontaux, nous disposons d'un serveur de base de données, d'un serveur de CMS et d'autres petits serveurs. Il a fallu anticiper la prochaine croissance du site.
La gestion de la bande passante est-elle devenue un point critique ?
Cette problématique se gère au quotidien, mais il s'agit plus d'une formation à faire passer auprès des journalistes que d'un travail technique. Notre souci porte plutôt sur la gestion de la charge liée à la base de données, qui est le point faible d'une architecture en général. D'où notre réflexion autour des systèmes de cache en particulier. D'ailleurs, un autre critère de décision ayant conduit au choix de ZendPlatform a été la nécessité d'une remontée d'erreurs de requêtes MySQL qui nous permet de corriger très rapidement le code et de travailler sur son optimisation en temps normal.
Vous êtes-vous fait aider par des sociétés de services concernant ce travail d'optimisation des requêtes ?
Oui, par une petite société tenue par Nicolas Toper et Luc Bizeul. Ils nous ont aidés à faire des tests de montée en charge, d'analyse de configuration et de détection de points sensibles.
Comment fonctionne votre nouveau système de cache ?
Il dispose de plusieurs niveaux. Déjà, il se base sur de l'accélération de code PHP. Ensuite, nous appliquons un cache de type Squid en définissant une durée de vie pour chacune des pages stockées. Enfin, une API garde en mémoire les résultats de fonctions ou de requêtes de base de données. Nous pouvons influer sur la durée de vie de chacun de ses résultats pour les régénérer ensuite.
 |
 |
Nous avons la chance d'être impliqués très tôt sur les futurs projets" |
|
Qui se charge de votre hébergement ?
Nous sommes chez Ornis. Nos serveurs nous appartiennent mais ils en gèrent l'exploitation au quotidien. Comme nous sommes trop peu nombreux à l'équipe technique, il était impossible de répondre à des besoins d'astreintes 24h/7j.
Qu'utilisez-vous comme moteur de recherche ?
Nous avons signé un partenariat avec Sinequa. Pour l'instant, il est intégré uniquement pour la partie moteur de recherche mais nous travaillons avec eux sur l'analyse sémantique sur l'ajout de tags, notamment pour développer la navigation transversale des internautes.
Quels sont vos projets en cours et à venir ?
En 2007, nous aurons à travailler sur des développements pour les téléphones mobiles ou la vidéo en ligne mais je ne peux pas en dire grand chose aujourd'hui. Ce sont des sujets complexes mais passionnants. De manière générale, nous avons la chance d'être impliqués très tôt sur ce genre de projet, ce qui nous permet de valider beaucoup de principes et de ne pas se retrouver devant le fait accompli à gérer l'urgence.
Nous allons ensuite travailler à être plus proches de nos lecteurs. Cela passe par une page d'accueil personnalisée, utilisant un peu d'Ajax, sans se prétendre non plus être un Netvibes.
| La
DT de 20minutes |
| La
direction technique |
|
Effectif
|
5 personnes
|
| Les solutions
technologiques |
|
Bases
de données
|
MySQL
|
|
Langage de développement
|
PHP, Ajax
|
|
Système
d'exploitation
|
Linux Fedora
|
|
Serveur
Web
|
Apache
|
|
Hébergement
|
Ornis
|
|
Moteur de recherche
|
Sinequa
|
|
Système de cache
|
Zend Platform
|
|
| |
Propos recueillis par Yves DROTHIER, JDN Solutions |
|
|
PARCOURS
|
|
 |
| |
Nicolas Silberman est le responsable technique du site Web de la société 20minutes, spécialiste de la presse quotidienne gratuite et généraliste.
Depuis avril 2006 Responsable technique nouveaux médias chez 20minutes France.
2003-2006 Chef de projet chez AOL France.
2000-2003 Développement de sites en tant qu'indépendant.
|
|
|
 |
|
 |
|