Forum PHP 2012 schedule

Tuesday 5th June 2012

  • Keynote d'ouverture

    by Xavier Lacot

    Espace Adenauer par Xavier Lacot

    At 9:00am to 9:30am, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

    Coverage slide deck

  • PHP in 2012

    by Rasmus Lerdorf

    A look at the state of PHP in 2012. Where are we, how did we get here and how does PHP fit into the current infrastructure ecosystem of the Web? Plus, a quick tour of what is new and cool in PHP 5.4.

    Espace Adenauer

    At 9:30am to 10:15am, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • Annotating with Annotations

    by Rafael Dohms

    What exactly are annotations? How can they change the way you code and make life simpler? We will dive into the history of annotations in and out of PHP and get to know the libraries that use them today and how we can use the Doctrine Common Annotation package to implement them in our code.

    Espace Adenauer

    At 10:15am to 11:00am, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • Tirer parti de Postgresql en PHP avec Pomm

    by Grégoire Hubert

    Postgresql est le système de gestion de bases de données relationnelles libre le plus avancé. Cette conférence sera dans un premier temps l'occasion de faire un état des lieux des fonctionnalités offertes aux développeurs web par ce sgbd (tableaux, requêtes objets, fonctions fenêtrées, types et opérateurs etc.) Dans un deuxième temps, sera abordé comment bénéficier de ces fonctionnalités très puissantes tout en utilisant un framework PHP orienté objet à l'aide de l'hydrateur Pomm.

    Salon Honorat

    At 10:15am to 11:00am, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • Anatomie du test

    by Ivan Enderlin and Frédéric Hardy

    Le test, qu'il soit unitaire ou fonctionnel, est à la mode dans le monde du développement logiciel, suite entre autre à la mise en œuvre croissante des méthodes agiles et notamment de l'intégration continue ou des méthodes de développement telles que le TDD, le BDD ou la programmation par contrat. Récemment, ce phénomène a encore été amplifié au sein de la communauté PHP par l'apparition aux côtés de l'incontournable PHPUnit d'outils plus originaux tels que Behat, Praspel ou atoum qui permettent au développeur de rédiger des tests plus simplement. Pourtant, nous constatons tous les jours que le test conserve une grande part de mystère pour la plupart des développeurs, Bien souvent, ces derniers ne savent pas quoi tester, et encore moins comment écrire un test efficace ou mettre en place une politique de test pertinente. Certains s'interrogent par exemple sur la pertinence de leurs tests, se demandent s'il faut absolument tout tester, d'autres s'il est possible de tester la création d'un fichier, voir même s'il est intéressant de le faire, tandis que d'autres se demandent où se situe la frontière entre le test unitaire et le test fonctionnel ou s'il est nécessaire de tester toutes les méthodes d'une classe, alors que d'autres encore ne savent tout simplement pas par où commencer. Durant cette conférence, nous allons tenter, à l'aide de nos expériences respectives de créateur de framework de tests et de doctorat en informatique spécialisé dans le test, de répondre aux questions récurrentes que se pose une personne confrontée à la mise en place d'une politique de qualité logicielle en général et à l'écriture d'un test logiciel en particulier. À l'issue de cette foire aux questions didactique et interactive, vous devriez être capable d'aborder le test, indépendamment de sa nature, de manière plus sereine et efficace et produire ainsi un logiciel de la qualité que vous désirez.

    Salon Honorat

    At 11:15am to 12:00pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • Coup de pied dans la LAMP

    by Damien Alexandre and Benjamin Clay

    La stack LAMP, largement éprouvée, est souvent utilisée par défaut sur les projets Web. Après 6 ans sans nouvelle version majeure, les alternatives à Apache se sont largement développées, et apportent des performances accrues tout en gardant une stabilité équivalente. Le monde de MySQL a lui aussi beaucoup évolué et il est donc aujourd’hui temps de reconsidérer notre stack favorite. Qu’apporte Apache 2.4 ? Nginx ne serait-il pas plus approprié à votre besoin ? MariaDB est-il plus performant que MySQL ? Quelle différence entre php-fpm et php_mod ? En partant d’un environnement LAMP classique, nous vous montrerons comment remplacer ou simplement configurer les différentes composantes d’une architecture web afin d’améliorer les performances de votre application sans même toucher au code source. Mots clés : Apache, Nginx, mariaDB, performance, serveur, poney :)

    Espace Adenauer

    At 11:15am to 12:00pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

    Coverage slide deck

  • Mes développeurs parlent chinois !

    by Damien Seguy

    Quand on partage la passion de PHP, le fossé culturel et la barrière de 3 langues ne font peur à personne. Comment appliquer des méthodes de qualité à des développeurs 2 continents plus loin ? Et apprendre de leur approche a aller plus loin ? Dans ce conte chinois, nous aborderons les moyens de mieux se comprendre, et les outils et méthodes pour mettre la qualité au premier plan.

    Espace Adenauer

    At 12:00pm to 12:45pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • Monitoring applicatif : Pourquoi et comment ?

    by Dits kenny

    Vous êtes développeur, chef de projet technique ou même responsable et vous souhaitez avoir de la visibilité sur le fonctionnement de vos applicatifs, ou sur la plateforme sur laquelle ils sont hébergés ?

    Nous étudierons comment, grâce à des outils simples (StatD / Graphite / Log BDD) et nos expériences chez M6Web, mettre en place un monitoring applicatif ultra complet.
    Ce monitoring vous permettra de retrouver la vue sur vos projets, pour mieux anticiper la charge, detecter la root cause en cas d'incident et connaitre l'état de chacun de vos services ...

    Salon Honorat

    At 12:00pm to 12:45pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

    Coverage slide deck

  • Anatomie, fonctionnement et performances de PHP

    by julienPauli

    Cette conférence a pour but de montrer comment PHP fonctionne de l'intérieur, pour mieux l'appréhender et le maîtriser de l'extérieur. Nous allons voyager au coeur de PHP et le décomposer en différentes parties. L'axe de reflection sera la performance du langage, et nous allons concrètement analyser certaines parties pour expliquer certains faits : les quotes, les tableaux, les objets et les fonctions, le masquage d'erreurs, la sérialisation et encore bien d'autres choses. A bas les mythes et trolls ridicules que nous connaissons au sujet de notre langage fétiche !

    Espace Adenauer

    At 2:00pm to 2:45pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • Haute disponibilité au service du public

    by ChristopheVilleneuve and Stephane BAIXAS

    L’évolution des rythmes de vie et des technologies de l’information changent les habitudes d’accès aux services. Le public veut pouvoir retirer un billet de train, déposer un chèque sur son compte en banque, affranchir un colis ou obtenir une prestation en dehors des horaires d’ouverture des bureaux ou des guichets. Les solutions « libre service » répondent à cette attente et sont de plus en plus utilisés dans de nombreux secteurs comme les transports aérien et ferroviaire (SNCF, RATP …), le terrestre (autolib’) et les services publics (La Poste, CNAM, CNAF … ).

    Ces dispositifs qui dans beaucoup d’endroits compensent l’absence de présence humaine se doivent d’être disponibles et fonctionnels à tout moment. Il est donc obligatoire de pouvoir superviser en temps-réel ces parcs d’automates pour détecter, voire anticiper, d’éventuels problèmes afin d’intervenir au plus vite et assurer la continuité de service.

    Stéphane Baixas, Software Engineering Director du projet Autolib', et Christophe Villeneuve, consultant PHP pour Alter Way, montreront une approche originale de gestion d'un parc informatique, réalisée en PHP, permettant d’assurer le Maintien en Condition Opérationnelle (MCO) des machines.

    La présentation abordera les nombreuses contraintes de la maintenance pro-active, mais aussi les différents problèmes liés à la gestion des incidents, pour proposer une haute disponibilité des services, tout en gardant une capacité d'analyse pertinente des résultats.

    Salon Honorat

    At 2:00pm to 2:45pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • Gestion des dépendances dans un projet PHP

    by Jean-Marc Fontaine

    Que ce soit un framework, des modules ou des libraires spécialisées, la plupart des application web modernes utilisent du code tiers. Ce code a son propre cycle de développement. Il faut donc pouvoir intégrer régulièrement les nouvelles versions sans pour autant perdre la maîtrise de son propre cycle. La tâche n'est pas aisée si elle n'a pas été été prévue dès la conception de l'application. Nous verrons différentes approches pour gérer les dépendances dont les gestionnaires de paquet du système d'exploitation, les liens externes dans les dépôts de code, les fichiers PHAR, l'installateur PEAR et le tout récent Composer.

    Salon Honorat

    At 2:45pm to 3:30pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • Magic Behind The Numbers – Software Metrics In Practice

    by Sebastian MAREK

    We use static code analysis tools more often these days that create great reports and funky graphs. But do we understand what it all means? Software metrics tends to be magic numbers for a lot of people, but they don’t really have to be. I will introduce you to a few basic, the most popular software metrics and tools. I will explain to you what they mean and how you can use them to produce better software.

    Espace Adenauer

    At 2:45pm to 3:30pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • Modélisation des menaces d'une application web : étude de cas

    by Antonio Fontes (L7)

    Vous êtes sur le point de signer un contrat avec un éditeur d'applications web. Tous les éléments du cahier des charges ont été pris en compte dans l'offre, même la sécurité : le contrôle d'accès, la disponibilité, etc. et c'est tout! Où est le reste ? Pirates informatiques? Fraudeurs ? Revendeurs d'informations ? Concurrence ? Lois ? Qui s'en occupe ? Y a-t-on pensé ?

    Lors de cette séance, nous simulerons l'intervention d'un spécialiste en modélisation de menaces (threat modeling) au tout début d'un projet de développement d'application web. Son rôle premier sera de qualifier la nature du système, d'identifier et recenser les menaces spécifiques auxquelles il sera exposé dès sa mise en production, qu'elles soient techniques et/ou fonctionnelles, puis de formuler les recommandations adéquates que le client pourra remettre à ses architectes et développeurs pour la suite du projet.

    Espace Adenauer

    At 2:45pm to 4:30pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • Lightning / flash talks

    by Guillaume Plessis

    Salon Honorat

    à définir

    At 3:45pm to 4:30pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

    Coverage slide deck

  • Comment Phing est devenu mon meilleur ami

    by Gerald CROES

    “Ce que vous n’aimez pas faire, faites le souvent” est une citation bien connue du monde agile. Cette conférence à pour but de prôner une variante : “Ce que vous n’aimez pas faire, demandez à quelqu’un d’autre de le faire.... Phing est ce quelqu’un d’autre”. Combien de fois avez vous du ralentir votre travail pour de simples tâches, pourtant rébarbatives ? faire un zip de la dernière version de vos sources, livrer votre application en production, générer la documentation d’API, partager votre travail sur un serveur de recette, lancer les tests avant de commiter, vider les caches applicatifs, … et pourquoi pas combiner le tout. Pire, combien de fois vos collègues ou vous même vous êtes vous posé la question de comment, sur un projet donné, réaliser ces bêtes tâches sans lire la documentation des outils sous-jacent utilisés ? Cette présentation vous propose d’apprendre à demander à Phing ce que vous n’aimez pas faire.

    Salon Honorat

    At 4:30pm to 5:15pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

  • fonctions avancés du driver MySQL natif pour PHP

    by Serge FREZEFOND

    MySQL dispose maintenant d'un driver PHP natif sous license. Ce nouveau driver sera le driver par défaut à partir de PHP 5.4 Il ne modifie pas les pratiques de dévelopement habituel (API mysqli, PDO ...) Nous passerons en revue les fonctions avancées de ce driver - utilisation d'un cache coté client - utilisation de requêtes asynchrones - connexions persistantes - load balancing coté client - failover client - sharding Ce driver est une avancée importante pour pour le couple MySQL / PHP

    Espace Adenauer

    At 4:30pm to 5:15pm, Tuesday 5th June

    In Cité Internationale Universitaire de Paris

Wednesday 6th June 2012

  • Catching Opportunities with Open Source

    by Christian Schaefer and Stefan Koopmanschap✔

    Nowadays almost every developer is using from Open Source Software in some way, however just few are actively involved. Releasing Open Source seems to be affordable only to students and others who seem to have too much time on their hands. You can not possibly be deeply involved. Or can you? In this session you will learn how Open Source engagement can be valuable for you and your job and how your employer can greatly benefit as well. See how embracing the Open Source philosophy can increase your knowledge and reputation, how it can help you to save your company time and money, how it can attract new employees as well as get you that exciting job. ..and of course: how Open Source will make you love what you're doing even more.

    Espace Adenauer

    At 9:00am to 9:45am, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • Varnish pour le développeur PHP

    by Jérôme Renard

    Varnish devient le cache HTTP utilisé de facto pour les sites ayant besoin d'améliorer les performances. Le problème c'est que Varnish se comporte comme une boite noire auto-magique et certains développeurs ont du mal à utiliser Varnish comme il le souhaiterait. Le but de cette conférence est de faire un rapide tour d'horizon de Varnish puis de plonger dans une liste de best practices au niveau de la configuration du produit afin d'en tirer meilleur parti.

    Salon Honorat

    At 9:00am to 9:45am, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • dev et admin sys : une cohabitation simplifiée

    by Sebastien Lucas and Nicolas Silberman

    Le Devops est un terme émergent qui décrit un ensemble de méthode et pratiques pour favoriser la collaboration et la communication entre les équipes de développement logiciel et les équipes d’exploitation. Il est une réponse au besoin des acteurs du Web qui, face à une course effreinée à la fonctionnalité et l’explosion de leur trafic, ont du modifier leurs méthodes et rassembler l’ensemble des protagonistes pour minimiser l’impact de l’applicatif sur l’infrastructure et maitriser les coûts ou améliorer la performance. Nous verons dans cette conférence comment ces différentes équipes peuvent avancer ensemble en gardant une relation de partenaire plutôt que de client/prestataire.

    Espace Adenauer

    At 9:45am to 10:30am, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • Maitrisez les structures de données 102

    by Patrick Allaert

    Nous avons certainement tous appris les structures de données à l'école: tableaux, listes, ensembles, piles, files (LIFO/FIFO), tas, tableaux associatifs, arbres,... et qu'utilisons-nous principalement en PHP? Les tableaux! Comme si ils avaient réponse à tout! Inévitablement, on retombe sur ce genre de problèmes fondamentaux lors d'audits de performance. Dans cette session, on apprendra quelques techniques avancées en réapprenant à se servir des types de données adéquats, en passant par des utilisations spécifiques des "arrays" PHP, des classes de la SPL ainsi que d'autres structures fournies par des extensions PHP/PECL.

    Salon Honorat

    At 9:45am to 10:30am, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

    Coverage slide deck

  • Drupal comme vous ne l’avez jamais vu

    by Simon PERDRISAT and Bastien Jaillot

    Drupal et de manière générale PHP sont souvent utilisés dans un écosystème limité. Nous proposons de défricher avec vous de multiples modèles d’intégration permettant d’accélérer les développements tout en améliorant les performances et l'industrialisation, ainsi que d’apporter de nouveaux usages (moteurs à facettes, temps réel, graphiques, stockage documentaire). Du prototype fonctionnel jusqu’à son industrialisation, l’intégration judicieuse avec des briques externes peut résoudre simplement des tâches complexes. Cette présentation montrera comment, par des actes concrets, on peut tirer partie de briques techniques tierces depuis PHP. La session s'appuiera sur des retours d'expérience et des exemples de cas réels. Mots clés : drupal, mongodb, html5boilerplate, sf2 component, mink, node.js, graphite, backbone

    Salon Honorat

    At 10:45am to 11:30am, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • La qualité au-delà du code

    by Jean-Marc Fontaine

    Les cycles de développement des applications raccourcissent de plus en plus. La pression se fait plus forte sur les équipes de développement qui sont poussées à développer en mode mercenaire, où seul le résultat immédiat compte. Cette vision est généralement contre-productive sur le long-terme car on passe beaucoup plus de temps à maintenir une application qu'à la développer. Il est donc primordial de s'assurer de sa qualité au delà de l'adéquation avec le besoin fonctionnel. Cela passe par de nombreux éléments dont bien entendu la qualité du code source mais pas seulement. La présence de documentations pertinentes et à jour, les types et l'étendue des tests mis en place, l'architecture de l'application ou encore sa portabilité sont autant de facteurs clés du succès d'un projet.

    Espace Adenauer

    At 10:45am to 11:30am, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • A quick start on Zend Framework 2

    by Enrico Zimuel

    In this talk we will present a simple web application built with Zend Framework 2. We will show the new features of the framework, such as the new MVC layer, the Event Manager, the Dependency Injection and much more. The aim of this talk is how to start programming with the new architecture of ZF2. Moreover, we will show the differences with the version 1 of the framework and how to migrate applications from ZF1 to ZF2.

    Espace Adenauer

    At 11:45am to 12:30pm, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • Bien comprendre et choisir Lucene, Solr ou ElasticSearch pour mon projet PHP

    by Jonathan-david SCHRÖDER

    Cette présentation s’adresse aux DSI, architectes et développeurs PHP et vise à leur éclaircir parenté, enjeux et fonctionnement de Lucene, Solr, ElasticSearch les aidant ainsi dans leurs choix et implémentations PHP. Dans les briques PHP habituelles, certaines recherches avancées ne sont pas toujours évidentes à implémenter en MySQL : recherches et indexation plein texte, highlighting, ranking, suggestions, facettes, geospatiale... Une tendance actuelle est de choisir pour ces fins un kit clé-en-main client PHP/serveur Solr. Ceci se fait malheureusement sans généralement comprendre assez profondément le fonctionnement de Lucene - la librairie mère de Solr, Solr lui-même, ni connaître les forces d’alternatives prometteuses comme ElasticSearch...

    Cette présentation atelier veut aider les profils techniques et décideurs à : - comprendre la parenté et les usages des projets de recherche basés sur Lucene (Solr, ElasticSearch, Solandra...) - mieux comprendre les principes de bases de recherches communs aux trois technologies (BDD orientée documents, schémas, indexation, highlighting, stemming, scoring, QueryParser, Analyzer, facettes, disponibilité temps réel, scalabilité..), - bien choisir le couple librairie PHP client + serveur de recherche, pour son projet à base de tâches batch, framework, CMS open-source (démonstrations prévues : scripts PHP/Symfony/Drupal <=> Lucene/Solr/ElasticSearch).

    Salon Honorat

    At 11:45am to 12:30pm, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • Démons en PHP, de inetd à ZeroMQ

    by Amaury Bouchard

    Durant cette présentation, nous passerons en revue les différentes techniques servant à créer des démons en PHP, c'est-à-dire des serveurs logiciels destinés à recevoir des connexions réseau et gérer des communications client-serveur. Nous verrons les techniques les plus simples, permettant de prototyper rapidement un démon. Ensuite nous nous intéresserons aux contraintes qui s'appliquent à ce type de développement, et les impacts que cela implique sur les choix de design logiciel. Nous aborderons alors les différentes techniques de création de démons autonomes en PHP. Pour terminer, nous verrons comment utiliser la bibliothèque ZeroMQ pour faire communiquer des programmes en utilisant des paradigmes différents du client-serveur traditionnel. Programme : 1. Rappel client-serveur 2. Démons basés sur (x)inetd 3. Différences entre mono-processus et multi-processus 4. Démons multi-processus 5. Démons mono-processus 6. Présentation de ZeroMQ 7. ZMQ : Différents types de communications 8. ZMQ : Load-balancing 9. ZMQ : Polling

    Salon Honorat

    At 2:00pm to 2:45pm, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • Scaling Communication through Continuous Integration

    by Lb DENKER

    At Etsy, we continuously deploy code. New features and bug fixes can go from development to production in 20 minutes. We have maintained this low barrier to deployment over the past year despite nearly doubling the number of people that can deploy. Communication has a huge impact on the velocity of development and moving forward. We explicitly communicate over IRC, but we also evolve communication patterns through several other vectors, and one of those vectors is out Continuous Integration environment. In this talk I will not only discuss how communication patterns at Etsy have evolved with our growing development team, but I will also elaborate on how team size, role composition, motivation, culture, and available tools sets can impact communication patterns and subsequently throughput.

    Espace Adenauer

    At 2:00pm to 2:45pm, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • Accès concurrents et scalabilité

    by Jérôme Vieilledent

    L'accès concurrentiel est un problème majeur et récurrent dans toute application web un tant soit peu sollicitée. De sévères problèmes de corruption de caches et de locking se produisent quand la concurrence d’accès n’a pas été prise en compte dans le processus de développement et l’analyse initiales de l’application.

    Les conséquences business peuvent être fatales et donner une image catastrophique d’une plateforme: pages vides, données obsolètes présentées, images corrompues, autant d’échecs, cuisants pour les techniciens, et coûteux pour l’entreprise. Confrontés à ces problématiques au cours de 10 dernières années sur des plateformes critiques de publication de contenu, servant plusieurs dizaines de millions de pages par mois, nous voudrions partager les bonnes pratiques d’architecture logicielle que nous avons accumulées: résorption des lock & deadlock de bases de données, des transactions volumineuses, optimisation de l’entrée/sortie disque.

    La diffusion de plus en plus large de PHP, et la professionnalisation de son usage le placent dans des contextes où sont rapidement atteintes les limites du langage quant à la gestion de la concurrence. Nous partagerons le résultat de notre recherche & développement, touchant aussi bien les outils utilisables dans ce contexte (Varnish, Memcached, Redis...) que les algorithmes et architectures adaptées.

    Salon Honorat

    At 2:45pm to 3:30pm, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • Table ronde DSI

    At 3:30pm to 4:30pm, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • TDD avec atoum

    by Frédéric Hardy

    Au cours de cet atelier interactif, je vous ferais découvrir le développement piloté par les tests en temps réel en mettant en œuvre atoum , le framework de tests unitaires pour PHP 5.3+ simple, moderne et intuitif. Pour cela, je concevrais de zéro et en temps réel une ou plusieurs classes permettant la résolution d'un problème réel qui permettra à mon auditoire de découvrir le confort apporté par atoum dans un tel contexte, aussi bien au niveau de la rédaction des tests unitaires que de leur exécution.

    Salon Honorat

    At 3:30pm to 4:15pm, Wednesday 6th June

    In Cité Internationale Universitaire de Paris

  • Keynote de clôture

    by Olivier Mansour and Xavier Lacot

    Espace Adenauer

    At 4:30pm to 5:00pm, Wednesday 6th June

    In Cité Internationale Universitaire de Paris