Eric Munz (Cmonjour) "Nous avons choisi MySQL 5.0 pour ses fonctions de mise en grappe"

Consacré aux jeux en ligne, le site fait face à des contraintes transactionnelles fortes. Conçue pour accueillir 300 000 visiteurs uniques par jour, sa plate-forme technique laisse une large place à Flash et JavaScript.

Pouvez-vous présenter votre site et votre domaine d'activité ?
Cmonjour a été lancé en novembre 2006, en filiation directe avec un autre site de KDP Groupe, koodpo.com, qui est un site organisant des loteries gratuites sortie en 2000. Nous avons élargi notre offre avec le site Cmonjour qui se veut un portail communautaire dédié aux divertissements. Il propose aux internautes des jeux de réflexion, des jeux d'arcades...

Le site compte 2 millions d'inscrits qui ont la possibilité de s'envoyer des défis, des messages, d'échanger des photos. Cmonjour propose des jeux gratuits, le site est financé par la publicité uniquement.

Pouvez-vous décrire la plate-forme technique qui fait fonctionner le site ? Quelles sont ses contraintes ?
Nous utilisons aujourd'hui 5 serveurs frontaux, et 3 serveurs de bases de données MySQL 5.0, plus un serveur de bannières OAS. La plate-forme est dimensionnée pour accueillir environ 300 000 visiteurs uniques par jour, sachant qu'en moyenne, nos visiteurs passent 15 minutes sur le site. Nous nous appuyons sur des technologies Apache coté serveur Web, PHP et MySQL avec des systèmes Debian Linux. Nous avons choisi MySQL 5.0 pour ses fonctions de clustering, les 3 serveurs de bases de données sont en effet en grappe.

Dans notre activité, il faut absolument que les bases de données soient disponibles pour répondre aux requêtes des internautes. La répartition de charge ne suffisant pas, nous avons choisi le clustering. Pour la partie jeux de hasard, nous utilisons également le langage JavaScript, le reste étant du Flash. Il y énormément de besoins de collecte d'informations, donc beaucoup d'échanges avec la base de données. Nous n'avons pas beaucoup de serveurs, mais ce sont des gros serveurs qui viennent d'être renouvelés et bénéficient donc des dernières avancées technologiques.

Utilisez-vous un système de cache pour réduire l'impact d'un pic de visites ?
Nous n'avons pas de système de cache comme Akamai par exemple. En revanche, nous disposons de 2 serveurs de cache qui stockent aussi bien les images que des pages. Ils sont rafraîchis à chaque fois que nous effectuons une modification sur le site. Nous avons ajouté de nombreux jeux Flash, ce qui nous a contraint à un redimensionnement de la plate-forme d'ailleurs. Avant nous étions sous Oracle, et nous sommes désormais sur MySQL 5.0. Pour notre métier, MySQL correspondait mieux à nos besoins, il nous faut traiter beaucoup d'opérations de lectures et d'écritures qui se trouvent être un peu moins performantes sous Oracle.

Comment se passe techniquement la gestion des utilisateurs sur le site Cmonjour ?
Pour un utilisateur, la première chose à faire consiste à se connecter au site puis à remplir un premier formulaire. Nous validons alors les centres d'intérêts de celui-ci, puis l'enregistrons dans un sous segment de la base de données. Toutes les visites sur le site vont ensuite enregistrer le profil de l'utilisateur, son comportement, ses préférences et ses habitudes, de manière à pousser ensuite les publicités et liens commerciaux qui correspondent le mieux à ses attentes.

Comment fonctionne la personnalisation du site et de la publicité ?
Nous faisons appel à des règles de gestion. Par exemple, le moteur peut travailler avec des mots clés. Il permet de réaliser de la publicité géolocalisée au déclaratif et non pas en fonction de l'IP. Par exemple, si l'utilisateur indique qu'il souhaite des bannières spéciales pour la ville de Lyon, nous pouvons lui délivrer. C'est valable pour la géolocalisation, mais d'une manière générale, la publicité tient compte de tous les éléments déclarés par l'utilisateur.

"Nous sommes capables de stocker près de 500 critères par utilisateur"

Nous sommes capables de stocker près de 500 critères par utilisateur, et d'intégrer un arbre de décision : est-ce que l'internaute a des enfants ? Combien ? De quel age ? ... En échange de ces informations, nous proposons à l'internaute de pouvoir gagner jusqu'à 100 000 euros gratuitement. De toute manière, aucune question n'est obligatoire.

Le site propose-t-il une personnalisation de la page d'accueil selon l'utilisateur ?
Oui, avec photo d'avatar, défis en cours. La prochaine version de Cmonjour ira plus loin dans ce domaine et sera capable de changer l'interface pour des utilisateurs appartenant au même réseau et sur un même PC. Nous personnalisons aussi les jeux en fonction des préférences des utilisateurs. Nous utilisons notamment le langage Ajax : tous les éléments du site peuvent être déplacés pour simplifier la navigation de l'utilisateur. Nous allons vers une personnalisation de plus en plus forte.

Réalisez-vous tous les développements informatiques en interne ou confiez les vous à un prestataire de services ?
Tous les développements du site sont réalisés en interne. Nous préférons garder la main sur les nouvelles fonctionnalités du site, étant donné que cela conditionne directement l'activité de l'entreprise. Généralement, pour ne pas trop impacter la plate-forme, nous profitons d'une refonte de l'architecture pour mettre à jour le site. Mais en dehors des développements, notre principale problématique concerne la communication avec les serveurs de bases de données. Nous travaillons sans cesse à l'optimisation des requêtes pour minimiser le temps de réponse.

Votre plate-forme de jeux est-elle disponible pour des partenaires ?
Oui, nous sommes par exemple partenaire du site TF1.fr, et de Voila. Nous avons formalisé un framework afin de transporter des jeux d'objets facilement. En 2000, réaliser un partenariat était un véritable cauchemar, il fallait plus de 3 mois pour tout développer. Aujourd'hui, une semaine suffit, et c'est ce qui fait notre force aujourd'hui.

Sur quoi travaillez-vous pour le futur du site ?
Notre objectif serait que chaque interlocuteur puisse avoir un site, sur lequel nous enregistrerons son parcours. Nous n'y sommes pas encore, mais nous y travaillons. Le langage Flash nous laisse également beaucoup de possibilités pour la suite. Nous proposerons également dans le futur des fonctionnalités de chat, qui impliquera de la charge supplémentaire pour le serveurs. Cela signifie qu'il faudra certainement rajouter de la puissance CPU.

Avez-vous mis en place des outils décisionnels ?
Oui, nous réalisons du datamining et du webmarketing. Tout ce qui est ETL a été développé par nos soins, et nous utilisons les logiciels Neolane pour la partie Webmarketing. Nous avons construits des datamarts pour traiter ces données hors de la plate-forme Web.

Base de données / MySQL