Expérience pro )) Stage développeur chez Mandriva

> Refonte des sites Mandrake.com et MandakeLinux.com en Mandriva.com, migration vers eZ Publish
Stage BAC+2, 4 mois
du 04/04/2005
au 15/08/2005

Mandrakesoft / Mandriva
12 rue du sentier
75020 Paris

Projet de refonte

Cette refonte a pour but d'unifier les deux sites les plus fréquentés de l'entreprise : mandrake.com et mandrakelinux.com
Mandriva souhaite profiter de cette refonte pour gérer plus efficacement les traductions proposées par des traducteurs bénévoles, réorganiser de façon plus cohérente les informations et donner une présentation plus professionnelle au site internet.
Plutôt que de développer une solution complète, il est envisagé d'adopter un CMS adapté afin de gagner en temps de développement et pour faciliter l'administration des contenus en ligne.

L'existant en quelques chiffres

Mandrake.com regroupe un total de 1500 pages, articles et news, la plupart traduites en 5 langues.
Mandrakelinux.com se compose de 300 pages web disponibles en 16 langues.
Au total ces deux sites comptabilisent environ 6 millions de pages vues par mois, et sont consultés par un large public : entreprises, associations, particuliers...

Validation du CMS eZ Publish

Test technique et fonctionnel du CMS eZ Publish, et confrontation au cahier des charges

Tests de performances / montée en charge

Les tests ont été réalisés à l'aide du logiciel ab et de scripts wget sur des serveurs cibles connectés en réseau local (100mb/s).
Conclusion : le CMS eZ publish nécessite une configuration puissante des serveurs. L'augmentation de la mémoire vive et l'ajustement de la configuration MySQL ont permis des améliorations notables, mais les performances sont restées relativement faibles.

Optimisation logicielle

Suite à une conférence téléphonique avec Bård Farstad (co-fondateur de la société eZ systems basée à Skien en Norvège), différentes optimisations de l'installation ont été réalisées :
  • Optimisation du serveur web : installation d'APC ; installation d'Apache Reloaded, version optimisée d'Apache maintenue par Mandriva ; recompilation de PHP en statique et non en tant que module
  • Optimisation de MySQL : utilisation de la configuration "my-huge"
  • Optimisation d'eZ publish : activation des systèmes de cache (ViewCaching, TemplateCache), utilisation de cache-blocks dans les templates, utilisation du système de cache statique sur certaines pages

Optimisation matérielle et infrastructure web

Mise en place d'une architecture recommandée par eZ systems pour les sites à forte affluence :
revue à la hausse de la configuration matérielle des serveurs (mémoire vive, processeurs), répartition de la charge sur plusieurs serveurs web frontaux, utilisation de SVN pour le déploiement des mises à jour, configuration des serveurs MySQL en maître/esclave, synchronisation automatique des frontaux via rsync.

Tests de robustesse (contenus, utilisateurs, langues)

Ces tests consistent à tester le comportement du CMS lorsqu'il doit gérer un grand nombre d'informations, d'utilisateurs et de langues différentes.
Ils ont été réalisés à l'aide de scripts basés sur l'API d'eZ publish.

Migration de Mandriva.com et Mandrivalinux.com vers eZ publish

Migration des contenus existants vers le CMS eZ Publish

Définition de l'arborescence, des classes de contenus et des templates

Définition de l'organisation générale du site, et structuration des contenus existants en "objets" pouvant être importés dans eZ publish : target, products, features, news, events...

Implémentation du nouveau design

Création des templates et des styles CSS à partir des maquettes réalisées par un graphiste

Importation des contenus existants

Importation de 1500 pages multilingues dans le CMS à l'aide de mon script d'importation de contenus qui nettoie et formatte le code HTML des pages existantes en code XML valide compris par eZ publish, à l'aide d'expressions régulières.

Création des utilisateurs

Création d'un script permettant d'automatiser la création des comptes utilisateurs pour les besoins de Mandriva : éditeurs, traducteurs, définition des permissions par langues...

Connexion à la base centrale d'utilisateurs

Connexion d'eZ publish à la base de données centralisée des utilisateurs Mandriva, afin de pouvoir rester identifié tout au long du surf, sans avoir à s’identifier sur chacun des sites Mandriva que l’on consulte.
Développement d'un module de gestion d'utilisateurs pour eZ publish basé sur l'API de la base d'utilisateurs de Mandriva.
Dernière modification le 19/11/2007 16:40:17
Propulsé par Anwiki • 0.05 sec • 4.48 MB