Logo du PHP Tour

21 & 22 nov. 2013 Beffroi de Montrouge
Logo de l'AFUP
Logo de PHP
Le Forum PHP, l'évènement majeur de la communauté PHP francophone depuis plus de 10 ans

Programme des conférences

Jeudi 21 novembre 2013

Keynote d'ouverture

Auditorium Lucienne et André Blin 21/11/2013 09:00-09:30

Faisons le tour de PHP 5.5

Auditorium Lucienne et André Blin 21/11/2013 09:30-10:15

PHP 5.5 est arrivé ! Cette nouvelle version s'accompagne comme toujours de nouveautés techniques et fonctionnelles dont nous allons faire le tour ici. Des générateurs à la nouvelle API de gestion des mots de passe en passant par les ajouts de méthodes et de fonctions ou le mot-clé finally, nous ne manquerons pas de détailler aussi les améliorations internes menant à une consommation mémoire encore réduite de PHP.

Job queues, messages queues : état des lieux & retours d'expérience

Grand Salon 21/11/2013 09:30-10:15

Lorsqu'on construit un site à forte charge, lorsqu'on met en place des interactions avec différents modules hétérogènes, on s'aperçoit assez vite qu'il est intéressant (indispensable ?) de pouvoir déléguer des jobs ou envoyer des messages d'un processus (ex: une page web) vers un worker séparé tournant potentiellement sur un autre serveur. S'il existe des solutions généralistes permettant de résoudre la plupart des problèmes au prix d'une certaine complexité (ex: RabbitMQ), il existe aussi des solutions plus spécialisées, qu'elles soient optimisées pour la diffusion de messages (ex: Kafka), de jobs (ex: Kestrel, Beanstalk, NSQ), le RPC (ex: Gearman), le stream processing (ex: Storm), voire des librairies bas niveau dédiées (ex: 0MQ). La présentation sera l'occasion de présenter les forces et faiblesses de chaque outil et d'apporter des retours d'expérience sur certains d'entre eux.

The Agile Enterprise - Adopting Agile Application Delivery

Auditorium Lucienne et André Blin 21/11/2013 10:15-11:00

In this session, Andi will talk about how the changing landscape is impacting enterprise development and what it means to achieve agile application delivery. He will address a key question – while we are all familiar with the concepts and methods of agile development, how do we take that same mindset and approach, and apply it to the end to end delivery of our applications? Specifically how do we deliver our apps all the way to the market with a rapid, iterative and collaborative approach?

Andi will place a focus on what it truly takes for a company to achieve agile delivery- from development through to production, and will share new developer tools, practices and innovations. He will address the practicalities of API –centric application design, and discuss how to implement Continuous Delivery- and key steps towards automation of the application delivery cycle.

Pourquoi faire simple quand on peut faire compliqué

Grand Salon 21/11/2013 10:15-11:00

PHP est un langage assez permissif, trop pourrait dire certains. Cette conférence est un retour d'expérience (ou mauvaise expérience) sur une décennie de développement en PHP : Tout objet ou procédurale, framework ou non, ORM ou accès direct aux données, normalisation de la base ou dénormalisation à outrance, moteur de template ou script PHP, etc., en dehors des guerres de tranchées, le choix est toujours possible, et il est guidé principalement par une variable : les développeurs et leurs compétences.

3 millions d'utilisateurs dans 10 pays : l'histoire technique de BlablaCar

Auditorium Lucienne et André Blin 21/11/2013 11:30-12:15

Retour d'expérience sur l'éovlution technique récente de BlablaCar pour faire face aux défis d'une croissance effrenée dans 10 pays pour atteindre auourd'hui 10 millions d'utilisateurs.

Migration vers symfony2 des sites covoiturage.fr, blablacar.com, blablacar.es, ... Rétrospective de plusieurs années d'efforts (bientôt terminés) pour migrer un site réalisé en PHP 4 / PHP 5 vers symfony2 tout en introduisant de nouveaux composants techniques (RabbitMQ, ElasticSearch). Seront expliqués; les enjeux de cette migration ainsi que les choix stratégiques adoptés pour cette période de transition. Un retour sera également fait sur les difficultés rencontrées et les outils / méthodes mis en place pour les résoudre.

DIY et happy hacking avec PHP & Raspberry Pi

Grand Salon 21/11/2013 11:30-12:15

Une conférence distrayante et sans prétention, qui fera la part belle aux démos, dans le but de donner envie de bricoler avec PHP et Raspberry Pi : Comprendre comment PHP peut interagir avec le hardware du Raspberry PI, manipuler des capteurs électroniques avec GPIO, etc.

OpenStreetMap for the web

Auditorium Lucienne et André Blin 21/11/2013 12:15-13:00

This presentation introduces OpenStreetMap and explains to the audience what sort of rich data set it has. I will also cover different APIs for using the map tiles as well as other APIs that form sister-projects to OSM, such as Nominatim (search), routing, and obtaining current-location information. Some hints on storage and searching will also be given. During the course of the presentation I will also have to dip into some of the theoretical issues surrounding map making in general, and showing a PHP extension to help you calculate all kinds of geo-things.

Wordpress : le CMS qui fait tourner 20% du web

Grand Salon 21/11/2013 12:15-13:00

Amaury Balmer, expert francophone Wordpress, nous présente le CMS le plus populaire du web qui fait tourner, selon w3techs, plus de 20% du top 1 million des sites Internets mondiaux.

Puis l'APHP présentera son retour d'expérience avec Wordpress.

Vis ma vie de sysadmin avec des développeurs PHP

Auditorium Lucienne et André Blin 21/11/2013 14:00-14:45

Retour d'expérience sur la montée en charge d'applications PHP chez M6Web, des erreurs les plus fréquentes aux incidents les plus (im)probables, la vision OPS sur l'hébergement.

Keywords: BGP, MySQL, SYN, State Locked, Dominique Chapatte, memory_limit, file_get_contents, GoogleBot, NFS

Drupal Commerce, le CMS e-commerce social

Grand Salon 21/11/2013 14:00-14:45
  • présentation de la solution par Commerce Guys
  • présentation d'un cas concret d'intégration par Publicis Modem

Stack: a PHP interface for framework-agnostic code sharing

Auditorium Lucienne et André Blin 21/11/2013 14:45-15:30
This talk will explore the evolution of HTTP abstractions. We will take a look
at inetd at the TCP level, CGI and FCGI at the HTTP level, language level
abstractions like Rack for Ruby and WSGI for Python. Finally we will arrive at
the Symfony2 HttpKernelInterface. The PHP community can take many ideas from
Rack. We should be building composable stacks of re-usable middlewares, for better cooperation between open-source projects and cleaner decoupled architectures in large-scale PHP applications.
Learn about unix philosophy, understand where PHP's CGI-like I/O mechanism
($_SERVER, header, echo) comes from, how it can be improved, how the HTTP
boundary allows for truly framework-agnostic code sharing, and discover Stack: an attempt to do just that!

This talk will explore the evolution of HTTP abstractions.

We will take a look at inetd at the TCP level, CGI and FCGI at the HTTP level, language levelabstractions like Rack for Ruby and WSGI for Python. Finally we will arrive at the Symfony2 HttpKernelInterface. The PHP community can take many ideas from Rack. We should be building composable stacks of re-usable middlewares, for better cooperation between open-source projects and cleaner decoupled architectures in large-scale PHP applications.


Learn about unix philosophy, understand where PHP's CGI-like I/O mechanism($_SERVER, header, echo) comes from, how it can be improved, how the HTTPboundary allows for truly framework-agnostic code sharing, and discover Stack: an attempt to do just that!

RBS Change, LE CMS e-commerce cross-canal

Grand Salon 21/11/2013 14:45-15:30

Track "Quelle solution PHP open-source pour mon projet ?" De nombreuses marques et enseignes ont adopté la solution open-source pour se développer en France et dans le monde, en exploitant ses capacités CMS et commerce cross-canal. Story-telling, lien entre vente en ligne et vente en magasin physique, scalabilité..., découvrez les raisons de ce choix, illustrés par un cas concret.

En dev exactement comme en prod : créez un environnement de développement devops

Auditorium Lucienne et André Blin 21/11/2013 16:00-16:45

À Theodo en tant que société de services nous passons régulièrement d'un projet à l'autre. Nous avons besoin de rendre un nouveau développeur opérationnel en un minimum de temps. Nos outils ont évolué avec notre expérience et les technologies disponibles. Dans ce talk je vous propose un petit tour qui commence par des scripts bash, en passant par symfttpd jusqu'à Puppet et Vagrant.

ezPublish : un CMS pour créer un site orienté contenu en 45 minutes

Grand Salon 21/11/2013 16:00-16:45

Création d’un site orienté contenu en 45 min. (changements de spéc. inclus!)

Qui ne s’est jamais retrouvé à devoir monter le site web de son association sportive, les pages institutionnelles de son employeur ou encore la version web d’un magazine papier ? Ces projets ont un point commun : le contenu est le cœur du site, un CMS (Content Management System) semble l’outil le plus efficace pour les réaliser. Mais qu’en est il de l’évolutivité, que se passe-t-il si les spécifications changent, ne serais je pas bloqué par la rigidité supposée de ce type de solution ? Dans cette conférence sous forme de live coding, nous construirons pas à pas un site complet orienté contenu à l’aide d’eZ Publish 5 en incluant quelques changements vis à vis des spécifications initiales et en montrant la flexibilité de ce CMS basé sur le framework Symfony2.

Building Scalable PHP Applications Using Google's App Engine

Auditorium Lucienne et André Blin 21/11/2013 16:45-17:30

 

The PHP runtime for App Engine allows you to build and run your PHP applications on the same scalable systems that power Google. 
In this talk we’ll take a look at building and running PHP applications on the App Engine platform. Here’s some of the topics that we’ll cover:
* Taking advantage of App Engine AutoScale and other App Engine features
* Deploying and running popular PHP applications and frameworks on App Engine
* Differences between applications running on App Engine and a typical LAMP stack
* Using task queues for scalable asynchronous background processing
* Utilising App Engine services such as memcache, mail, and user authentication
* Composing applications with Google Cloud Storage and Google Cloud SQL

The PHP runtime for App Engine allows you to build and run your PHP applications on the same scalable systems that power Google. In this talk we’ll take a look at building and running PHP applications on the App Engine platform. Here’s some of the topics that we’ll cover:

  • Taking advantage of App Engine AutoScale and other App Engine features
  • Deploying and running popular PHP applications and frameworks on App Engine
  • Differences between applications running on App Engine and a typical LAMP stack
  • Using task queues for scalable asynchronous background processing
  • Utilising App Engine services such as memcache, mail, and user authentication
  • Composing applications with Google Cloud Storage and Google Cloud SQL

Symfony2 CMF - la gestion de contenu bas-niveau

Grand Salon 21/11/2013 16:45-17:30

Comment facilement intégrer des fonctionalités gestion contenu dans un projet Symfony2 ? David Buchmann montre les concepts du Symfony2 Content Management Framework. Il participe au développement du CMF qui a comme but d'ajouter des capabilitées gestion contenu dans vos applications Symfony2, et pour construire des systèmes de gestion du contenu custom avec des besoins spéciaux. Pour rendre la présentation plus concrète, Alexis Janvier présentera un retour d'experience sur un projet mené chez Rapp France, qui utilise le CMF.

Vendredi 22 novembre 2013

A Rocket Internet experience

Auditorium Lucienne et André Blin 22/11/2013 09:30-10:15

Everyone talks about Rocket Internet: the biggest european startup-incubator which launched several new ventures all around the globe, but a few describe their experience, especially from a technical perspective: in this talk we will see how the tech team was formed and works at Namshi, Rocket Internet’s venture in the Middle East. From recruiting new talents, to adopting new paradigms like SOA or new frameworks and patterns such as Symfony2 or automated testing we will see how a real-world business is facing the challenges which are common to most of the internet-based companies: the “hassle” of technology.

Mon environnement de travail a-t-il encore un avenir ?

Grand Salon 22/11/2013 09:30-10:15

Est-il encore rentable d’entretenir des outils de développement internes ? Quelles solutions existent pour les remplacer ?

Performance avec du PHP, Drupal et un peu de magie

Auditorium Lucienne et André Blin 22/11/2013 10:15-11:00

Une des principales difficultés dans la réalisation d'applications PHP et plus particulièrement Drupal est la performance. PHP est un langage interprété sans réelles possibilités de communication inter-process. L'intégralité d'une application Drupal est montée en mémoire à chaque requête. Durant cette session, nous allons étudier des cas d'école précis pour optimiser au maximum un site Drupal. - Memcached, Redis - caches internes - MongoDB et autres NoSQL - APC - Varnish - Clusters, Linux HA, DRBD & co. - Optimisations du pauvre : Elysia Cron, Boost, Auth Cache Exemples utilisés durant cette session : Freerice.com (20M pages vues par jour), Evene.fr le site le mieux référencé en France., Rue89 le plus important des pure-players en France. Tous sous Drupal, tous ont des besoins importants en termes de performance.

Fonctions avancées du driver MySQL natif pour PHP

Grand Salon 22/11/2013 10:15-11:00

MySQL dispose d'un driver PHP natif sous licence PHP. Ce nouveau driver est le driver par défaut à partir de PHP 5.4 Il ne modifie pas les pratiques de développement habituelles (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 le couple MySQL / PHP. Le but de cette présentation est de vous donner les moyens d'utiliser les fonctions avancée de ce driver

Symfony2 and Zend Framework 2: the perfect team

Auditorium Lucienne et André Blin 22/11/2013 11:30-12:15

The next generation of frameworks is upon us, and now that they’re more decoupled and component-based than ever before and use the same standard for naming and autoloading, there is no reason to stick to a single framework for your projects. During this session, we will go through several ways of combining Symfony2 and Zend Framework 2, so that you walk away being able to focus even more on on writing the complex custom logic your project needs, and don’t have to worry about the rest.

Ne cherchez plus, c'est ElasticSearch qu'il vous faut

Grand Salon 22/11/2013 11:30-12:15

"Un moteur de recherche est une application permettant de retrouver des ressources associées à des mots quelconques" (Wikipédia). C'est à travers cette idée principal que nous allons découvrir un outil simple, efficace et scallable. Un outil dont la magie vous impressionnera dès les premiers instants en vous permettant de rechercher dans tout type de données, quelles que soient leurs structures initiales, tout cela au travers d'une API Rest. Découvrez comment en 10 minutes, vous pouvez ajouter à vos applications des fonctionnalités de recherche rapides et pertinentes.

De 0 à 10 millions de visiteurs uniques avec les moyens d'une startup

Auditorium Lucienne et André Blin 22/11/2013 12:15-13:00

Le développement web est guidé par deux axes : les besoins fonctionnels et les contraintes techniques. Les aspects techniques deviennent de plus en plus importants au fur et à mesure de l'augmentation du trafic d'un site. Fine Media est éditeur des sites ComprendreChoisir et CommentFaitOn. À la lumière de cette expérience, nous allons voir les étapes d'un développement web au cours de la vie d'une startup, depuis sa création jusqu'à l'exploitation de sites à fort trafic, avec tous les impacts que cela engendre : Techniques (quelle techno pour accompagner chaque stade de développement), fonctionnels (qu'est-il possible de faire et pourquoi) et organisationnels (quels sont les changements d'organisation d'équipes et de gestion des projets nécessaires au fil du temps).

La programmation évènementielle... et les pâtes

Grand Salon 22/11/2013 12:15-13:00

Programmation asynchrone, évènementielle, parallèle... Quelles sont vraiment les différences ? Et comment la programmation asynchrone peut nous permettre de mieux tirer parti des ressources serveur, réduire les temps de réponse, et servir des pâtes chaudes ? A travers des exemples avec du vrai code, vous comprendrez comment, d'une event loop à React PHP, d'une casserole asynchrone à Node.js, un paradigme relativement nouveau en PHP peut vous ouvrir de nouveaux horizons... culinaires.

Aphorisms of API Design

Auditorium Lucienne et André Blin 22/11/2013 14:00-14:45

Code that talks only to itself is not useful to anyone. Code that enables other code magnifies its power 10-fold.

But how do we enable other code, and those who write it? What makes a module extensible? What is that vague extra something that turns merely extensible code into an API, a library, and a cornerstone of other systems? How do we harness that power for ourselves?

Let us examine the Aphorisms of Good API design, and the 8-Fold Path of API Nirvana.

This session goes beyond how to write code well to cover the question of how to write libraries that spawn other libraries and innovation by Coding for the Future.

NoSQL Haute disponibilité et Big Data avec MySQL autour de PHP

Grand Salon 22/11/2013 14:00-14:45

MySQL accélère les innovations pour traiter des volumes de données sans cesse grandissant notamment avec des moteurs NoSQL, des extensions avancées de mysqlnd pour connecter PHP avec des moteurs ACID scalables et hautement disponibles.

Dans cette session nous verrons comment :

1.  mettre en place le sharding et la haute disponibilité en InnoDB avec MySQL Fabric et les extensions avancée de mysqlnd pour  PHP

2.  tirer partie de la performance des moteurs NoSQL en gardant la fiabilité des moteurs ACID

3.  interfacer MySQL avec Hadoop

Your PHP can fly

Auditorium Lucienne et André Blin 22/11/2013 14:45-15:30

Parce qu’ElePHPant se retrouve souvent coincé dans les embouteillages parisiens, un vaisseau lui serait bien utile.

Bonne nouvelle ! PHP offre tous les outils pour piloter le sympathique AR Drone de Parrot. Malgré un firmware propriétaire, Parrot détaille le protocole de communication de son drone fonctionnant par l’intermédiaire d’un réseau wifi, nous pouvons ainsi piloter le drone, gérer ses capteurs mais aussi sa caméra HD embarquée.

Pour réaliser cette pirouette aéronautique nous aurons recours aux fonctionnalités natives de stream PHP (Socket, TCP, UDP), l’occasion pour nous de découvrir la librairie PHP "React", qui fournit des outils fort intéressants. Si vous êtes lassés de voir des objets PHP toute la journée, venez donc assister à l’envol d’un vrai objet : Javascript n’a pas le monopole du fun !

Behat - retour d'expérience

Grand Salon 22/11/2013 14:45-15:30

Behat est le framework de tests PHP en "langage naturel". Il permet à toutes les parties prenantes de contrôler que les développements correspondent à leurs attentes. Compréhensible par les collaborateurs non-techniques, il améliore la communication dans l’équipe, rend votre application robuste sur du long-terme et facilite les tests haut-niveau dans un navigateur. Nous avons tenté le coup sur un projet de 15 développeurs, voici les résultats.

Scaling PHP in the real world!

Auditorium Lucienne et André Blin 22/11/2013 16:00-16:45

PHP is used by the likes of Facebook, Yahoo!, Zynga, Tumblr, Etsy, and Wikipedia. How do the largest internet companies scale PHP to meet their demand? Join this session and find out how to use the latest tools in PHP for developing high performance applications. We’ll take a look at common techniques for scaling PHP applications and best practices for profiling and optimizing performance. After this session, you’ll leave prepared to tackle your next enterprise PHP project. 

 

- Why performance matters?
- The problems with PHP
- Best practice designs
  - Doing work in the background with queues
  - Fronting with http caching and a reverse proxy cache
  - Distributed data caches with redis and memcached
  - Xdebug + Valgrind + WebGrind
  - AppDynamics 
- Architecture not applications
 
- Using the right tool for the job

Présentation de Drupal 8

Grand Salon 22/11/2013 16:00-16:45

Cette conférence fera le point sur les évolutions de Drupal prévues dans cette prochaine version majeure. Nous présenterons en particulier ses améliorations, nouveaux atouts, les challenges qu'elle représentera ainsi que son calendrier prévisionnel. Présentation agrémentée d'une démonstration de Drupal 8.

L'histoire du scaling en PHP d'une grosse Start-Up californienne

Auditorium Lucienne et André Blin 22/11/2013 16:45-17:30

Keynote de cloture

Grand Salon 22/11/2013 17:30-18:00

informations complémentaires

Le programme ci-dessus est donné à titre indicatif : il peut encore évoluer.