Keynote d'ouverture

salle 1 12/05/2015 09:00-09:30 - Niveau : N/A - Français

Quelques mots sur l'événement par Morgane, coordinatrice de l'antenne AFUP Luxembourg.

The continuous PHP Pipeline

salle 1 12/05/2015 09:30-10:15 - Niveau : N/A - Anglais

picto-en30x30

You've got your tests, your metrics, your database migrations and your system provisioning automated, but how can you deploy everything with a push of a button and not be scared something goes wrong? Welcome to the continuous PHP Pipeline. In this talk I take the code, the tests, the metrics and the provisioners and show you how you can have a continuous delivery pipeline setup based on certain criteria you define upfront, your code gets automatically deployed to staging or to production with all the arbitrary tasks along with it. Never get stressed again about deployments. Make deployments as easy as committing to your repository and get home on time to enjoy your well deserved weekend.

Coder votre infrastructure

salle 1 12/05/2015 10:30-11:15 - Niveau : N/A - Français

Nous verrons comment construire un environnement de développement et de production à la demande en utilisant Amazon Web Service, Chef, Vagrant et Docker.

The promise of asynchronous PHP

salle 2 12/05/2015 10:30-11:15 - Niveau : N/A - Anglais

picto-en30x30

From ReactPHP to Facebook Hack's Async implementation and many more, asynchronous programming has been a 'hot' topic lately. But how well does async programming support work in PHP and what can you actually use it for in your projects ? Let's look at some real-world use cases and how they leverage the power of async to do things you didn't know PHP could do.

Comment migrer avec succès dans le cloud

salle 1 12/05/2015 11:15-12:00 - Niveau : N/A - Français

Cette présentation est un retour d’expérience du passage d’un hébergement classique sur serveur dédié au cloud, effectué avec succès au sein de la société BePark. Le contexte initial de la société est le suivant : impossibilité de montée en charge, beaucoup de ressources serveurs inutilisées, mais avec des goulets d’étranglement sur certaines périodes, peu de documentation, maintenance des serveurs aléatoire, pas de monitoring, déploiement par FTP … Bref, un mélange de mauvaise pratique et un système qui vacille entre dormir et étranglement, le tout saupoudré par un manque de ressources humaines disponibles.
Nous commencerons par faire un état des ressources et de la situation avant d’entamer la migration vers le cloud. Nous aborderons les causes et les décisions qui nous ont convaincus d’effectuer cette migration plutôt que de passer à la location d’autres serveurs dédiés et le retour que nous espérions en tirer. S’en suivra ensuite une présentation sur les différentes étapes de la mise en place ainsi que du résultat obtenu. Et pour finir, un tour des choses que nous devrions tous savoir avant de commencer à effectuer une migration dans le Cloud.

Perils of the cloud

salle 2 12/05/2015 11:15-12:00 - Niveau : N/A - Anglais

picto-en30x30

How do you protect your access keys, certificates, or sensitive user data while using the benefits of public cloud services? This talk gives an overview on how you can secure your most valuable information without abstaining from fancy services. In particular we discuss how to store your code on GitHub as well as use services to build your artifacts, store them on S3, and run them on EC2. Finally, we debate which services and risks you might want to avoid.

"One last thing" about Open Source Databases - The upcoming MySQL 5.7

salle 1 12/05/2015 13:30-14:15 - Niveau : N/A - Anglais

picto-en30x30

MySQL is one of the most popular databases worldwide. MySQL 5.7 will be third release under Oracles Stewardship and will have significant optimizations and lots of new features. This is a technical presentation about the Open Source Edition of MySQL 5.7 and will give an low level introduction for PHP developers and DBAs incl. new way for getting access to databases. This presentation targets all interested people who do have a basics understanding of databases.

Frameworks: A History of Violence

salle 2 12/05/2015 13:30-14:15 - Niveau : N/A - Français

Les frameworks de développement web, on les aime, on les déteste. Quand jQuery est sorti, c'était une révolution. Aujourd'hui beaucoup de lead developers conseillent de ne pas l'utiliser. Il faut dire que les frameworks donnent naissance à des débats passionnés. Dans le monde PHP, c'est pareil : Symfony, Zend Framework ou Laravel ? Derrière ces questions se cachent des choix cruciaux : WTF contre RAD, vitesse contre expressivité, facilité d'utilisation contre facilité d'intégration... Un framework est toujours un compromis fait à un instant donné pour aider ses utilisateurs sans se mettre en travers de leur chemin. Mais les besoins des développeurs changent. C'est pourquoi les frameworks doivent aussi changer. Après une brève histoire des frameworks de développement depuis les années 2000, nous essaierons de découvrir ensemble quelles sont les tendances dans l'évolution des frameworks, de comprendre où ils nous mèneront dans quelques années, et si vous aurez à les utiliser...

Sauf erreur, je ne me trompe jamais

salle 1 12/05/2015 14:15-15:00 - Niveau : N/A - Français

La gestion d'erreur n'est pas toujours bien gérée dans nos applications web et cela peut être à la base d'indisponibilité et de dégradation des performances. Déclencher une erreur ou envoyer une exception ? Arobase ou pas ? Error ou Warning ? Erreur de conception ou erreur utilisateur ? Type-hint, assertion, log poisoning, monitoring, failover, etc. Toutes les réponses et plus encore vous attendent dans cette conférence technique et pleine de surprises imprévues ...

Securing Your HTTP API with Hawk

salle 2 12/05/2015 14:15-15:00 - Niveau : N/A - Anglais

picto-en30x30

Spending too much time working on a custom authentication scheme for your API? Concerned about how secure your one-off implementation actually is? Learn more about the Hawk HTTP authentication scheme. It provides partial cryptographic verification for both requests and responses and it is supported by multiple languages. With Hawk securing your HTTP API you can rest easy knowing that your server and clients can trust the data they share so that you can focus on building your application's killer features.

Ansible pour le cloud

salle 1 12/05/2015 15:15-16:00 - Niveau : N/A - Français

Gérer de nombreux projets PHP sur le Cloud n'est pas une chose aisée. Ansible est un framework à la mode dans le monde du DevOps qui se veut le plus simple possible. Nous verrons comment en tirer parti pour gérer ses machines dans le Cloud.

30 minutes en continue

salle 2 12/05/2015 15:15-16:00 - Niveau : N/A - Français

Afin d’assurer une qualité optimale à votre application lors du processus de développement, il est essentiel de mettre en place des outils de dépoiement et des tests automatisés. L’utilisation de ces outils est le meilleur moyen de garantir une excellente expérience utilisateur et de prévenir/empêcher toute régression applicative. Combiner ces outils avec les bonnes pratiques de Continuous Delivery and Deployment vous permettra de mettre à jour vos applications bien plus rapidement et bien plus fréquemment. Cette session vous permettra d’avoir un aperçu des différentes phases et outils spécifiques au Cloud : assurance qualité, Continuous Integration, Delivery & Deployment, test unitaires, tests fonctionnels et métiers, pipeline de déploiement, packaging et roll-back.

Migrating your Database with Phinx

salle 1 12/05/2015 16:00-16:45 - Niveau : N/A - Anglais

picto-en30x30

Learn how to use the Phinx database migration tool with it's creator Rob Morgan. This presentation will cover the basic concepts of Phinx including adding it to a project, creating new migrations and then executing them. You will also be exposed to more advanced features of Phinx and everyday use cases.

Retour d’expérience ARTE

salle 2 12/05/2015 16:00-16:45 - Niveau : N/A - Français

Retour d’expérience sur le développement d’une API REST avec Symfony2 pour ARTE. Nous parlerons de l’architecture du projet et de ses spécificités, ainsi que des différentes technologies utilisées (proxy nginx, LUA, mongo…). Seront aussi abordés l’environnement de développement (vagrant+ansible) et les processus de tests et mises en production via des plateformes SAAS.

Retour d’expérience : attention chérie, ça va trancher

salle 1 12/05/2015 17:00-17:45 - Niveau : N/A - Français

Vous vous sentez comme un membre d’équipage dont le navire est sur le point de se briser ? Votre environnement de travail est si triste que vous n’avez plus confiance en l'humanité ? Google vous propose une solution : http://goo.gl/I4jM4n

Notre histoire se déroule au sein d’une équipe technique au bord de l'apoplexie tant en terme humain que technique. Elle va progressivement remonter la pente et gagner ses lettres de noblesses pour enfin brandir son glaive et s’écrier “For The Victory!”. Comment passer d’un monolithe à une architecture microservices (à base de composants Symfony2) ? En quoi l’arrivée d’un chef de projet et de nouveaux process nous ont sauvé la mise ? En quoi l’attention portée sur l'humain a favorisé l’émergence d’un collectif technique ? Comment favoriser l’insertion d’une nouvelle personne dans l’équipe ? En quoi l'utilisation pragmatique de technologies reconnues et émergeantes (elk, docker) nous a aidés au jour le jour.

REST, l'Architecture Incomprise

salle 2 12/05/2015 17:00-17:45 - Niveau : N/A - Français

REST est une architecture pour développer des APIs qui repose sur le protocole HTTP combiné à de nombreuses contraintes. Retour sur plus de trois années d'évangélisation avec un bilan mitigé : personne (ou presque) ne comprend vraiment REST, mais ce n'est pas si grave parce qu'il faut savoir être pragmatique et c'est ce que nous verrons !

Workshop sur la sécurité des applications web

a11 13/05/2015 09:00-12:00 - Niveau : N/A - Français

La plupart des applications présente des failles de sécurité plus ou moins graves. Souvent les développeurs n’ont pas la connaissance requise pour les éviter; parfois ces erreurs sont dûes à des fautes d’inattention ou de jugement. Pourtant ces vulnérabilités font les gros titres des quotidiens et devraient, dans un monde où l’ordinateur est omniprésent, ne plus exister. L’objectif du workshop est de pointer du doigt les vulnérabilités les plus graves des applications web et les solutions pour les éviter. Le langage de programmation PHP est utilisé pour illustrer ces problèmes ainsi que leurs solutions. Un complément "sécurité dans le cloud" a été ajouté pour le PHP Tour Luxembourg 2015.
Les participants sont invités à apporter leur laptop pour qu'ils puissent tester leurs connaissances acquises sur une application vulnérable.

Réservez votre place, inscription obligatoire, atelier réservé aux visiteurs du PHP Tour Luxembourg 2015. 

L'Event Sourcing dans le monde PHP

salle 1 13/05/2015 09:00-09:45 - Niveau : N/A - Français

Event Sourcing, Stream processing, CQRS : mais qu'est ce qui se cache derrière ces buzzwords ? Que peuvent-ils apporter à mon application ? Cette présentation a pour but de clarifier ces concepts au travers d'exemples en PHP, et voir pourquoi cela change totalement la manière de structurer ses données. Nous verrons comment profiter pleinement de la philosophie du NoSQL afin d'architecturer une application plus scalable, robuste et plus facile à maintenir.

Deploy and Scale your PHP App using Docker containers and AWS Beanstalk

salle 2 13/05/2015 09:00-09:45 - Niveau : N/A - Anglais

picto-en30x30

In this talk we will focus on scalable infrastructures for PHP applications using Docker containers and AWS Elastic Beanstalk in order to simplify application deployments and rollbacks and adding other features like: auto-scaling groups to adapt our infrastructure dynamically, at run time, adding or removing instances using our application metrics.

Pushing Boundaries: Zend Framework 3 and the Future

salle 1 13/05/2015 09:45-10:30 - Niveau : N/A - Anglais

picto-en30x30

You've likely heard of Zend Framework, and possibly used versions 1 or 2. In January, the Zend Framework team announced plans for version 3, to be released this year, with major changes, including: splitting components into their own repositories and versions; evolving the ZF2 MVC framework to depend on the new, standalone components; supporting PSR-7 (HTTP Message interfaces) and providing middleware solutions to simplify development and optimize performance; updating the ZF2 MVC to consume PSR-7-based middleware, as well as provide middleware skeletons for serving ZF2-style applications; upgrading to PHP 5.5, and optimizing for PHP 7.

Discover how ZF3 will enable custom, Composer-based application stacks; provide both enterprise components and an MVC framework; and future-proof your applications for PHP 7. The session will provide not only a high-level overview of the changes, but detailed code examples. Learn about the new features of Zend Framework 3, and how its new approach enables broader re-use and higher velocity of innovation.

Industrialisation chez Canal+

salle 2 13/05/2015 09:45-10:30 - Niveau : N/A - Français

Un processus d’industrialisation a été mis en place pour automatiser l’ensemble de la chaîne de production dans le cadre de la refonte d'une plateforme web de Canal+. Du développement à la production, nous expliquerons les éléments mis en place pour garantir la qualité du code, la pérennité de la plateforme mais également le transfert de connaissances entre les équipes. Au delà d'un code basé sur Symfony2, l’industrialisation passe également par du DevOps avec l'usage de puppet et de solutions AWS pour accélérer les phases de déploiement et de mise à disposition d’instances opérationnelles.

Au-dela des niveaux de maturité REST: construire une API REST réelle

salle 1 13/05/2015 10:45-11:30 - Niveau : N/A - Français

Dans ce retour d'experience, je vais vous montrer comment on a créé une API REST pour regrouper des données extraites de services pénibles et variés, comme SOAP et fichiers statiques. Les outils principaux utilisés sont Symfony2, Elasticsearch et Varnish. On a construit un processus d'aggrégation des données dans MySQL, puis l'indexation dans elasticsearch. Pour les requêtes, on utilise Varnish pour une vitesse optimale.

Building Apps with the AWS SDK for PHP

salle 2 13/05/2015 10:45-11:30 - Niveau : N/A - Anglais

picto-en30x30

For both new and experienced users of the AWS SDK for PHP, we highlight features of the SDK as we work through building a simple, scalable PHP application. Attendees will learn about core features of the SDK including service clients, iterators, and waiters. We will also introduce new features in the upcoming Version 3 of the SDK, including asynchronous requests, paginators, and the new JMESPath result querying syntax.

Abandonner nos mauvaises habitudes

salle 1 13/05/2015 11:30-12:15 - Niveau : N/A - Français

PHP permet souvent de faire les choses de plusieurs manières différentes, mais certaines devraient être évitées. Quelques conseils qui devraient aussi aider au passage à PHP 7. Pour les sysadmins * abandonner les versions non maintenues * abandonner mod_php, utiliser php-fpm * abandonner le pilote mysql, utiliser mysqlnd Pour les développeurs * abandonner les extensions obsolètes (ereg, imap, mcrypt, ...)

Mélanger NoSQL & SQL avec Postgres

salle 2 13/05/2015 11:30-12:15 - Niveau : N/A - Français

Comment Postgresql révolutionne-t-il la conception des schémas de données de nos applications web ? En proposant des structures souples au sein du paradigme relationnel. Json, HStore, tableaux, chemins matérialisés, nous verrons les services que rendent ces types de données aux architectes logiciels.

MVVM and Silex - It's the future

salle 1 13/05/2015 13:45-14:30 - Niveau : N/A - Anglais

picto-en30x30

There's two things that every cool new start-up wants to provide. A rich application like website, and an API. I'll be talking about how to use Silex and an AngularJS to create one. With lots of demos to go wrong, this talk is aimed at PHP developers that work closely with the frontend, some some knowledge of JavaScript is assumed. We'll touch on the cool things happening in the frontend space like Bower, Grunt, MVVM Frameworks, and how that might change how you write PHP.

Le second écran chez M6Web, another (php) brick in the wall !

salle 2 13/05/2015 13:45-14:30 - Niveau : N/A - Français

M6 est leader en France sur les pratiques intégrant programme tv et interactions numériques. Ces systèmes à forte charge utilisent massivement PHP et des solutions cloud de Amazon Web Service. Cette présentation a pour but de vous présenter un retour d'expérience sur la conception et la réalisation de ces systèmes. Je vous propose d’aborder les différentes architectures et les différents outils mis en place au travers de deux projets d’émissions ayant été diffusées en 2014. Le mur se lèvera t’il au Luxembourg ?!

Atelier: Créer votre propre extension PHP, pas à pas

a11 13/05/2015 14:00-17:00 - Niveau : N/A - Français

Avez-vous déjà été intéressé de contribuer au noyau de PHP, rejoindre son équipe de développement interne ou simplement en savoir plus sur son cœur? Dans cet atelier, vous n'apprendrez pas seulement comment créer sa propre extension PHP "from scratch" mais vous renforcerez également vos connaissances PHP en disséquant ses entrailles! Après cet atelier, vous pourrez créer une extension par vous-même, que ce soit pour optimiser la partie la plus intensive de votre code, pour créer de nouveaux liens avec des bibliothèques C, pour changer un comportement de PHP ou simplement pour améliorer vos connaissances PHP. Et si PHP était un framework web pour le développeur C?

Inscriptions obligatoires, nombre de places limité !

Running PHP on Azure

salle 1 13/05/2015 14:30-15:15 - Niveau : N/A - Anglais

picto-en30x30

As a web developer you want to focus on developing your web site rather than having to manage the infrastructure to keep it up and running. In this session you’ll get an overview of the capabilities that Azure, Microsoft’s cloud platform, has to offer for PHP Developers. Learn how you can setup a web site in a matter of minutes that is always available, can scale from 1 to millions of users, without having to know anything about IT infrastructure, all with the tools and technologies that you know.

Bonnes pratiques de déploiement PHP en 2015

salle 2 13/05/2015 14:30-15:15 - Niveau : N/A - Français

Lorsque j'ai commencé à déployer du PHP, aux alentours de 2002, la mise en place de cache d'opcode, de reverse proxy pour assets statiques et de déploiement atomiques était encore rare et peu documentée. Le monde a évolué, PHP a beaucoup évolué et c'est l'occasion de faire le point sur les bonnes pratiques de déploiement PHP (en particulier sur une architecture cloud): - déploiement immutables - séparation code / données - cache opcode - séparation serveur HTTP / VM PHP - gestion des sessions - gestion des assets Le but de la présentation est de présenter (et de justifier, en les contextualisant) ces bonnes pratiques.

Chronique d'un voyageur vers l'Est

salle 1 13/05/2015 15:30-16:15 - Niveau : N/A - Français

Il y a maintenant quelques mois, à la suite de l’exploration d’un nid de trolls, j’ai commencé sans le savoir un voyage vers l’Est. Au départ, ce ne devait être qu’une promenade de quelques heures qui devait me rassurer après cette expérience désagréable en me faisant revoir des paysages que les 15 dernières années que je venais de passer dans le Rasmusland m’avaient fait oublier. J’ai cependant rapidement compris qu’il n’en serait rien et que je venais en réalité de me lancer dans un véritable pèlerinage vers l’Objet, avec tout ce que cela implique en terme de remise en question. En effet, les routes que j’ai empruntées m’ont rapidement éloigné de mon territoire habituel, et malgré la boussole offerte gracieusement par un Guide de la région du Smalltalk rencontré pratiquement dès mon départ, j’ai eu le plus grand mal à trouver mon chemin. Le problème ne venait pas de sa boussole, d’autant qu’il m’avait averti en me la donnant qu’elle indiquait l’Est et non le Nord, mais de moi et de mon manque de pratique, trop habitué que j’étais aux transports en commun entre <?php et ?>. J’ai donc demandé l’assistance des gens qui allaient dans la même direction que moi, et parfois, ils sont parvenus à m’aider parce qu’ils étaient plus sages ou plus avancés dans leur quête. Les adorateurs d’autres cultures que j’ai rencontrés au hasard de mes pérégrinations au sein du Google m’ont également apporté leur aide. Les Monades du Fonctionnel sont ainsi parvenu à m’ouvrir l’esprit, malgré la complexité de leur dialecte, tandis que les pratiquants du C# prêchant la Continuation m’ont fait voir le Code sous un autre angle. Un collectionneur de Ruby m’a même donné des conseils très précieux pour la suite de mon périple, alors qu’ils ont pour habitude de suivre leur propre rail. Mais malgré cela, j’ai rencontré à plusieurs reprises des difficultés suffisamment importantes pour m’obliger à modifier mon itinéraire ou à faire demi-tour, notamment à cause de mes outils de compilation qui se sont révélés inadaptés dans certaines situations. Pour autant, ces circonvolutions n’ont jamais été du temps perdu, et chaque épreuve m’a permis de me rapprocher un peu de la compréhension du Message tel que l’avait conceptualisé Alan Kay à l’Origine. Le jeu en vaut donc largement la chandelle et même si je pense que mon voyage est loin d’être terminé, je suis certain d’être aujourd’hui un bien meilleur développeur qu’hier. C’est pourquoi je souhaite vous faire partager les leçons que j’ai tirées de cette expérience, afin que, peut-être, vous ayez également envie d’entreprendre un périple similaire afin de maîtriser le pouvoir originel de l’Objet?!

Migrer de framework : de la réflexion à l'action

salle 2 13/05/2015 15:30-16:15 - Niveau : N/A - Français

Symfony, Zend, Open Source ou propriétaire, choisir un nouveau framework pour sa société est une tâche difficile. Lors de cette conférence vous apprendrez comment CCM Benchmark Group a abordé cette problématique, depuis l'analyse des différents outils disponibles au premier projet mis en production. Ce projet s'est étalé sur 8 mois et sa démarche peut être déclinée dans votre société. Elle s'adresse aux sociétés "de la vraie vie", qui ont des projets de toutes générations. CCM Benchmark Group est aujourd'hui le 2ème groupe internet français et génère 700 M de pages vues chaque mois, à travers ses différentes marques JDN, Journal Des Femmes, CommentCaMarche...

En route pour PHP7

salle 1 13/05/2015 16:15-17:00 - Niveau : N/A - Français

PHP7, on en parle depuis longtemps. C'est désormais du presque concret, avec une sortie prévue fin d'année. Quelles sont les nouveautés ? Que peut-on attendre de cette version en terme de performances ? D'avancées techniques ? Quelles sont les incompatibilités et comment migrer facilement ? Vous saurez tout sur cette nouvelle version majeure qui mettra fin au règne long de 10ans de la branche PHP 5.

Keynote de clôture

salle 1 13/05/2015 17:00-17:30 - Niveau : N/A - Français

Fin du PHP Tour Luxembourg 2015, annonce du Forum PHP 2015 !