PHP et LeMonde.fr : passé, présent et avenir Olivier Grange-Labat <grange@lemonde.fr>



Documents pareils
Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Catalogue des Formations Techniques

COMPÉTENCES TECHNIQUES

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Documentation technique

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

Architectures web/bases de données


Formation en Logiciels Libres. Fiche d inscription

Programme ASI Développeur

Mercredi 15 Janvier 2014

les techniques d'extraction, les formulaires et intégration dans un site WEB

Construire un réseau social avec Symfony Xavier Lacot Clever Age. Symfony Live 11 et 12 juin 2009 Clever Age Xavier Lacot

Catalogue Formations Jalios

Expert technique J2EE

Chef de Projet Web. Expériences. Compétences. Diplômes. Formations. Communication. Informatique

Architecture et infrastructure Web

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

CAHIER DES CHARGES D IMPLANTATION

Découvrir Drupal, le CMS Open Source de référence. Michel-Marie MAUDET Linagora /

En date du 11 décembre 2008

Module BD et sites WEB

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

Les Content Delivery Network (CDN)

TYPO3, le CMS de référence

Olivier Deheurles Ingénieur conception et développement.net

Par l'exemple de. Laurent Destailleur

RÉF : 2002/COFAX/LP V1.0

Devenez un véritable développeur web en 3 mois!

CATALOGUE DES FORMATIONS LANGUES

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Formation : WEbMaster

Introduction à. Oracle Application Express

Alpha PRIMO 58 boulevard baron du Marais Roanne / / contact@alphaprimo.fr

DÉVELOPPEUR WEB - PHP/SQL

Notre Catalogue des Formations IT / 2015

Yann BECHET 32 ans 8 ans d expérience yann@bechet.org

Expertises Métiers & e-business. Technologies Microsoft & OpenSource. Méthodologies et gestion de projet

Informations générales. Technologies. css3-html5-php-ajax-j-query-mootools-action-script3

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep Marie-France Landréa - Observatoire de Paris

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP. 27 ans - 6 ans d'expérience

Joomla! Création et administration d'un site web - Version numérique

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Ingénieur Développement Nouvelles Technologies

Ingénieur Généraliste Spécialité Informatique

Proxy et reverse proxy. Serveurs mandataires et relais inverses

PostgreSQL. Formations. Catalogue Calendrier... 8

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

CATALOGUE FORMATION 2015

Drupal, pour quel usage? Comment se positionne Drupal? Les fonctionnalités de Drupal et de son écosystème. L'architecture technique et logicielle Le

INGÉNIEUR - DÉVELOPPEUR SENIOR PHP. 28 ans - 8 ans d'expérience

L art d ordonnancer. avec JobScheduler. François BAYART

CHEF DE PROJET - DÉVELOPPEUR EXPÉRIMENT É PHP - JAVA -.NET. 28 ans - 7 ans d'expérience

Sommaire. Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot?

BES WEBDEVELOPER ACTIVITÉ RÔLE

PostgreSQL. Formations. SQL avancé Calendrier... 18

Créateur de sites Internet. Développeur de logiciels.

Outil de planification en ligne pour des créations de rendez-vous ou de sondage

Application web de gestion de comptes en banques

Java et les bases de données

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

PostgreSQL. Formations. Calendrier... 14

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

PHP 5.4 Développez un site web dynamique et interactif

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

Serveur de travail collaboratif Michaël Hoste -

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

Dossier de compétences :

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

2008 : Diplômé Master 2 ASR (Architecture Système et Réseaux) Université d Evry (Evry - 91)

Application Web et J2EE

Erwan GAUTHIER. Consultant Stratégie Marketing Digital

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

PLAN 1. A PROPOS 2. EXPERTISE 3. NOS RÉFÉRENCES 4. TECHNOLOGIES 5. CONTACT

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

10. Base de données et Web. OlivierCuré

Un serveur web léger et ouvert

Proposition aiw pour le site internet de. Proposition all-in-web 20 avril 2014

Bien architecturer une application REST

1. La plate-forme LAMP

Introduction à la plateforme J2EE

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Loïc Rossignol Ingénieur Consultant

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Compte Rendu d intégration d application

M2 SIAW - Exemples de stages réalisés. Gabriella Salzano - Document de travail - 28/1/2015

Transcription:

PHP et LeMonde.fr : passé, présent et avenir Olivier Grange-Labat <grange@lemonde.fr> Forum PHP 2005

Quelques mots pour présenter LeMonde.fr Notre migration vers PHP PHP au Monde.fr Conclusion

Quelques mots pour présenter LeMonde.fr Notre migration vers PHP PHP au Monde.fr Conclusion

Quelques mots pour présenter LeMonde.fr Le Monde interactif : - société créée en décembre 1998 - filiale du Monde (66%) et du groupe Lagardère (34%) - aujourd'hui, environ cinquante salariés, parmi lesquels : - rédaction : central, newsletters, rendez-vous, autres (icono., etc.) - informatique : projets (7), production (3), informatique locale (3), études (1), autres (2) - modèle économique : publicité, b2b et b2c (vente de contenu et abo.) - LeMonde.fr est le premier site français d'information généraliste

Quelques mots pour présenter LeMonde.fr Juin 1999 : - site dynamique construit avec une technologie propriétaire - infrastructure d'hébergement principalement Sun - 12 millions de pages/vues par mois Août 2002 : - utilisation d'un CDN ( l'après 11 septembre ) pour dupliquer les pages HTML (en plus des images dupliquées elles depuis 2001) sur leurs milliers de reverse proxies

Quelques mots pour présenter LeMonde.fr Avril 2002 : - lancement de la zone abonnés ( des personnes payent pour se connecter sur nos serveurs ) - 42 millions de pages/vues par mois Octobre 2003 : - mise en ligne de la version PHP de www.lemonde.fr - frontaux Sun remplacés par frontaux Linux - 44000 abonnés, 48 millions de pages/vues par mois

Quelques mots pour présenter LeMonde.fr Mars 2005 : - mise en production du SEPT (système éditorial de production et de trafic) développé en XUL/PHP - nouvelle formule du site - 61 000 abonnés, 67 millions de pages/vues par mois

Quelques mots pour présenter LeMonde.fr Aujourd'hui : - 100% de nos sites en PHP - toute la gestion éditoriale en XUL/PHP... mais la gestion technique et commerciale toujours sur la technologie propriétaire de 1999 (6 années après...) - quelques serveurs non Linux - 68 000 abonnés, 70 millions de pages/vues par mois - record de consultation le 7 juillet 2005 (attentats de Londres et annonce des JO) : 5,6 millions de pages/vues et un pic de trafic à 300 Mbps! En 2006, suite de la migration vers Linux, PHP et XUL.

Quelques mots pour présenter LeMonde.fr Notre migration vers PHP PHP au Monde.fr Conclusion

Notre migration vers PHP Les motivations (réflexion débutée courant 2002) : - technologie propriétaire en fin de vie - saut technologique pour sa nouvelle version (TCL vers Java) - coûts de licence élevés (éditeur américain :) ) - coûts d'infrastructure élevés : si (frontal web == quadri-processeurs Sun) et (1 quadri-processeurs Sun == $$$$) alors (4 frontaux web = $$$$ $$$$ $$$$ $$) // en comptant la remise - faire mieux avec moins (se replacer dans le contexte de l'après 2000)

Notre migration vers PHP Etude menée en interne en décembre 2002 : - n'était concerné que le front (sites web), pas la gestion de contenu - shortlist : technologie propriétaire J2EE, Tomcat et PHP 4 - critères généraux (8) : année de création, pérénnité, support, documentation, références... - critères techniques (27) : plateformes supportées (Linux), respect des standards, environnements de développement, performance, stabilité, temps de développement ( time to market )... - critères financiers (6) : licences, infrastructure, formation... PHP l'a emporté!

Notre migration vers PHP Les avantages qui ont fait la différence en faveur de PHP : - coûts faibles (licence, formation, prestation, infrastructure) - conçu pour le web - performances - prise de connaissance rapide - temps de développement réduits - les références (FAI, Google, dans notre secteur le Times, El Pais...)

Notre migration vers PHP Ce qui nous a fait douter : - support XML => PHP 5, PECL, PEAR - modèle de connectivité Oracle (pas de connection pooling ) => SQL Load Balancer, FastCGI, bientôt Zend et PECL? - interfaces avec logiciels propriétaires => cela n'a pas été un problème ;-) et puis l'api Zend est (relativement) simple.

Notre migration vers PHP Méthodologie pour la migration de technologie : - maîtrise d'oeuvre et maîtrise d'ouvrage en interne - mise en oeuvre d'un socle technique ( framework ) objet par une équipe - puis écriture des classes et gabarits s'appuyant sur ce framework par une seconde équipe - migrer un premier site moins complexe (aden.lemonde.fr), puis enfin le site d'information (www.lemonde.fr) - migrer la gestion du contenu dans un second temps (les contenus dans la BD sont lus en PHP et modifiés par la technologie propriétaire)

Notre migration vers PHP Pourquoi un framework : - pour s'appuyer sur une base saine et éprouvée - garantir une homogénéité de la conception logicielle sur chaque projet (principes de fonctionnement identiques) - accélérer les temps de développement et réduire les coûts d exploitation (réutilisation de code donc moins de temps passé à développer et à produire des bugs, coding standards ) Et cela a fonctionné! Peu d'évolutions dessus depuis, mais...

Quelques mots pour présenter LeMonde.fr Notre migration vers PHP PHP au Monde.fr Conclusion

PHP au Monde.fr Première phase, migration des sites en 2003 : 1/ mise en place d'un environnement PHP : - frontaux Linux, serveurs de dév., CVS, outil de livraison (Interflorae), coding standards, phpdocumentor, PHPUnit, mantis... 2/ mise en oeuvre de notre framework, Rosae V1 : - 1 CdP, 2 architectes, 2 développeurs - 200 j/h de développement 3/ migration des sites : - 1 CdP, 4 développeurs - 60 j/h pour le mini-site, 300 j/h pour le site infos

PHP au Monde.fr Rosae V1 : - utilisé pour générer toutes les pages de nos sites - MVC : scripts et classes métiers (modèle), gabarits (vue), rosae.php (C) - s appuie sur Apache (mod_rewrite, mod_auth_lemonde) - basé sur un système de cache de fichiers dans le docroot Apache : un flux marqué statique est généré une fois puis servi par Apache comme un fichier traditionnel. Décache == effacement du fichier. - utilise les ESI ( Edge Side Includes, voir http://www.esi.org/) - sait gérer différents sites, canaux de diffusion, versions, formats : notion de gurl.

PHP au Monde.fr Les gurl : - permettent de référencer un contenu dans tout le code - sont mappées sur des URL publiques par exemple : - /info/pub/web/sequence/0,2-3208,1-0,0.html http://www.lemonde.fr/web/sequence/0,2-3208,1-0,0.html - /info/abo/web/sequence/0,2-3208,1-0,0.html http://abonnes.lemonde.fr/web/sequence/0,2-3208,1-0,0.html => / site / version / canal / label / flag, type_conteneur1-id_conteneur1, type_contenu1-id_contenu1, id_profil. extension

flux d'entrée/sortie Rosae V1 Contrôleur (C) Configuration framework Moteur d'affichage Moteur de cache "docroot" Apache Scripts (M) & Gabarits (V) Classes abstraites Contenu et Conteneur Classes métiers (M) Fichier Gurl SGBD Classes de bas-niveau Locks fichiers Cache d'objets

PHP au Monde.fr Deuxième phase, migration de la gestion du contenu, 2004-2005 : 1/ nouvelle étude : - XUL côté client (application installée sur le poste local) - PHP côté serveur (appel à des traitements en HTTP) => Le SEPT et Rosae V2 2/ évolution du framework : 1 CdP, 1 architecte, 2 développeurs (120 j/h) 3/ développement du SEPT (PHP et XUL) : 1 DdP, 2 architectes, pratiquement toute l'informatique a participé (300 j/h)!

PHP au Monde.fr Rosae V2 : - ajout d'un moteur de traitement (modèle) - ajout de nombreux modules (Locks, Droits, Versions...) - ajout d'un module de persistence d'objets ( CRUD ) - ajout de classes de bas-niveau (Ftp, XML...) - notion de traducteurs d'entrée et de sortie (vues) => Tout est traitement (identification.loguer_utilisation, objet_editorial.lire_objet...). Une traduction en entrée et en sortie se charge des formats d'entrée et de sortie.

Rosae V2 (ajouts) flux d'entrée/sortie Contrôleur (C) Classes traducteurs (V) Traducteur(s) d'entrée Moteur de traitement Traducteur(s) de sortie Routeur de messages Supervision Gestion des tâches Gestion des sessions Classes traitements (M) Locks Liaisons Droits Versions Identification Module d'accès aux objets Classes objets (M) XML FTP Resultat basniveau... Locks fichiers Fichier Mail Gurl Cache d'objets

PHP au Monde.fr Le SEPT

Exécution d'un traitement - interface XUL (HTTP) - tâche "cron" (CLI) -... (2) configuration Fichiers de Configuration (3) flux d'entrée (1) flux entrée : (nom traitement + objets d'entrée) (11) flux de sortie Contrôleur (4) nom traitement + objets d'entrée Traducteur(s) d'entrée d'entrée (décode le flux d'entrée en objets paramètres du traitement et nom du traitement) (5) nom traitement + objets d'entrée (8) objets de sortie Moteur de traitement (6) objets d'entrée (7) objets de sortie Classe Classe du du traitement Classe(s) de traitement traitement (lance le traitement) (9) objets de sortie (10) flux de sortie Traducteur(s) d'entrée d'entrée de sortie (encode les objets résultats du traitement en un flux) (implémente la logique métier)

PHP au Monde.fr Quelques ordres de grandeur : - Rosae : 32 000 lignes - Gabarits (principalement HTML) : 31 000 lignes - Scripts de présentation (principalement PHP) : 37 000 lignes - Classes métiers : 117 000 lignes - Le SEPT (code côté client) : 48 000 lignes - Traitements : 24 000 lignes

Quelques mots pour présenter LeMonde.fr Notre migration vers PHP PHP au Monde.fr Conclusion

Conclusion Notre expérience de XUL Les points forts : - puissant (GUI ergonomique, multi-plateformes, API complète...) - structurant (XUL/CSS pour la présentation, Javascript, bindings) - la documentation est présente (attention FUD) : xulplanet, xulfr... - les sources de Firefox et Thunderbird sont exploitables - mise à jour gérées par Firefox (Le SEPT = deux extensions et la jslib) Les points faibles : - peu de «best practices» - pas (encore) de CPAN/PEAR/JSAN pour XUL - debug parfois laborieux (jslib, console Javascript, DOM Inspector)

Conclusion Notre expérience de PHP Les points forts : les promesses sont tenues! - c'est effectivement libre (licence, sources, php-dev...) :) - 4 frontaux Sun (cpu 70%) remplacés par 4 frontaux Linux (cpu 20%) - temps de développement divisé par 2, nombre de bugs par 3 - outils annexes (APD, eaccelerator, phpdocumentor, PHPUnit...) - documentation de qualité Les points faibles : - parfois des crashes Apache

Conclusion Le futur (2006) : - suite de la migration vers XUL/PHP de la gestion du site - PHP 5.1 (modèle objet, PDO, apache hooks...) - remplacement de CVS (Subversion?) - partage du docroot entre les différents frontaux (GFS?) - dans le radar : PHP, Zend, eaccelerator, phing, lighttpd, memcache... Réflexions : - quels rôles dans le libre pour les entreprises utilisatrices?

Questions?

Forum PHP 2005 Merci!