[:fr]La parole est aux speakers : Derick Rethans[:]

[:fr]Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

It's all about the goto

Don't worry, this is not about the goto keyword. In this presentation, I am showing you some of the inner workings of PHP. We are going to look at how different language keywords and constructs are handled internally. Basically, everything is converted to goto, but the how and why, is not as simple as it seems! This is a very in depth talk, mostly interesting to people that want to know how PHP works internally. Expect lots of wonkyness, a form of assembly, and trees.

Salle Jarvis
18/05/2018
14:30-15:10

You’re a mapping enthusiast. How did your passion for maps and OpenStreetMap come?

I have always liked maps, and would always by extensive ones before going on a trip. When I had just moved to the UK in 2009, I had an OpenMoko « phone ». As this was a fully Open Source phone, it had a map viewing program Tango GPS (now Foxtrot GPS) using OpenStreetMap tiles.

When I went out hiking for the first time with friends, I had brought the « phone » along to see where we should be going and found plenty of things (parking place, paths) missing from the map. And when I got back home I did some research into adding these things.

That then leads to finding the local OpenStreetMap user group, as I was new in London, and they combined walking (i.e., mapping London), maps (duh!) and visiting pubs after a mapping party. This combination worked great for me, and I’ve met many of my current friends through these mapping parties.

After these first changes, I have kept my neighbourhood up to date, and mapped nearly every building and address. In the last 9 years, I’ve added 240 000 points, and 53 000 ways and nearly 50 000 addresses!
(suite…)

[:fr]La parole est aux speakers : Hannes Van De Vreken[:]

[:fr]Jusqu’au PHP Tour Montpellier 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Caching with PSRs

In this talk you will learn what PSR-6 and PSR-16 are, why they are designed like they are, what the differences are, and how to use them. From the provided interfaces, the virtual package on Packagist.org, to the implementations available. Everything will be explained for both beginners and more experienced developers. We will dive into implementations, cache stampede protection, all using libraries we can find on Packagist.org. We will also show how to start using it today in our current applications by using adapters. The entire talk will be accompanied with code samples and live demos, showing both working and failing caching systems.

Salle Morpheus
18/05/2018
10:15-10:55

You will talk about how to use PSR for caching : did you have any tips on what to cache and when we need a cache mechanism ?

Before you cache, you need to be aware of your application’s behaviour. Profiling is a good start. By logging information, you can find places where caching could help your application’s performance the most. You can cache anything that is idempotent, runs several times with the same input and same output, and has a high latency due to the nature of the job. You can then start off with the quick wins: cache a slow query that runs thousands of times. Next up: things that are extremely slow but only need to happen a handful of times. You can even pre-compile that in a back-ground job and store it. After that it gets harder: a fast query that runs millions of times, maybe. You can save some time by avoiding millions of round-trips to the DB and lower the load on the DB.

Also beware of cache invalidation. Don’t make your caching layer too complex or you’ll be chasing caching artefacts. Your caching layer is supposed to save you time, not spend more time. Last tip: if your caching layer fails, your app should still work, albeit slower 😉

Come see my talk for more tips!
(suite…)

[:fr]La parole est aux speakers : Cédric Spalvieri[:]

[:fr]Jusqu’au PHP Tour 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Merci de laisser ce code dans l'état dans lequel vous aimeriez le trouver

Il existe un dicton célèbre dans le monde de la programmation informatique : “Code toujours comme si la personne qui va maintenir ton code est un violent psychopathe qui sais où tu habites.” Même si je ne suis pas vraiment d’accord avec l’idée d’avoir peur des gens avec qui l’on travaille, il est de notre devoir de développeur·se de faire en sorte que la maintenance du code que l’on écrit se fasse dans les meilleures conditions possibles. Avec un zeste de psychologie comportementale, nous verrons quelles sont les bonnes pratiques qui peuvent être mises en place pour faire du code un endroit où l’on aime revenir.

Salle Morpheus
18/05/2018
15:15-15:55

Ta conférence est intitulée « Merci de laisser ce code dans l’état dans lequel vous aimeriez le trouver » : qu’est ce qui t’a donné envie de présenter ce sujet?

J’aime beaucoup les citations et il y en a une qui s’applique parfaitement à notre industrie : “La seule constante, c’est le changement”. Il est très rare qu’une ligne de code soit écrite et que l’on n’y revienne jamais, ne serait-ce que pour la lire. D’une certaine façon, la qualité du code sur lequel on intervient fait partie des conditions de travail.

J’ai passé la grande majorité de ma carrière à travailler en équipe, à voir le code passer de clavier en clavier, d’écran en écran. Tout le monde aime travailler dans de bonnes conditions, et le moins que l’on puisse faire lorsque l’on est en équipe, c’est de s’appliquer à laisser aux autres de bonnes conditions de travail. C’est la philosophie que j’ai envie de partager aujourd’hui.

(suite…)

[:fr]La parole est aux speakers : Michael Bodnarchuk[:]

[:fr]Jusqu’au PHP Tour 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Designing Test Architecture That Does Not Suck

Every PHP application needs its policy about tests. What is important to test, what is not, at which levels should a feature be tested. As we think of application architecture before writing a single line of code, we should think of a test architecture before implementing tests. From this talk you will learn: * how to transform business expectations to tests using ATDD and BDD approaches * how (and why) to incorporate all testing levels (acceptance, functional, integration, unit) * how to prioritize tests * how to write stable tests that won't be the stick in the wheel * how to deal with test data * how to decide, should it be unit or integration test * how to choose the type of a test

Salle Morpheus
17/05/2018
10:15-10:55

You’ve started the Codeception and CodeceptJS projects. Could you introduce us those projects ?

No one loves writing tests. Really. Testing takes our time and our efforts, instead of writing business valuable code we do the voodoo magic with mocks, stubs, and heavy refactoring. This is really hard to explain to business: I spent last few days trying to set up the test suite. To business it may sound like a developer was watching YouTube and playing video games. And that happened to me: when I tried to explain to my CTO what are tests and how do they worked I stepped away. Ok, give me two weeks and I will make tests easy to read, understand, and they will provide a safety belt for our releases. That’s how Codeception started.

Codeception is a testing framework for PHP focused on making tests readable and simple. It keeps focused you on specification, so tests are easy to read and write. If you didn’t use it yet, you should probably try as it will save you much time. We already support testing in all major PHP frameworks and a browser. Unit tests are supported as well!

CodeceptJS is a JavaScript version of Codeception focused around browser tests only. It allows you to write the same tests using in Selenium, Protractor, or Puppeteer the new tool from Google Chrome which allows you to run tests headlessly in Chrome using DevTools protocol.

Codeception and CodeceptJS follow the same philosophy: don’t reinvent a wheel in your tests. If this is a common problem we might have already solved it!

(suite…)

[:fr]La parole est aux speakers : Hélène Schapira[:]

[:fr]Jusqu’au PHP Tour 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Décryptez votre contrat de travail !

Grilles de salaires, horaires, avantages et contraintes : je vous propose de décoder ensemble les fonctions de votre contrat de travail, de décrypter les appels aux conventions collectives et de comprendre les boucles de la réforme du Code (du Travail). Osez le "peer review" des pratiques RH de l'entreprise, sachez reconnaître et éviter les pièges du "chez nous, ça marche comme ça". "Nul n'est censé ignorer la loi"... ce serait mieux si tout le monde la comprenait. Je vous promets une conférence trépidante et fun (parce que c'est aussi ça, les RH) !

Salle Morpheus
18/05/2018
14:30-15:10

Ta présentation portera sur le contrat de travail. Ta conférence sort du cadre habituel des sujets du PHP Tour, qu’est-ce qui t’a poussé à proposer ce sujet ?

Quand j’ai commencé la RH (plus précisément la paie et la gestion des contrats) j’ai été surprise du nombre de gens qui me disaient que tout ça c’était trop compliqué. Alors j’ai tenté une expérience avec mes salariés : leur expliquer leur bulletin de paie en détail ! La même année, j’ai fait mon premier SudWeb et je me suis dit que c’était l’occasion de tester avec un public différent. Je me suis rendue compte que ces sujets intéressaient du monde en réalité et qu’ils ne semblaient compliqués que parce que personne ne prenait le temps de les expliquer. Et, entre nous, ça arrange parfois bien du monde que les salariés ne s’intéressent pas trop à leur contrat et leur paie… Du coup j’ai lancé mon blog dans la foulée (libelilou.github.io) pour essayer de vulgariser un peu la RH. L’avantage des devs c’est que vous discutez facilement entre vous, vous êtes généralement assez curieux·se et les frontières n’existent pas sur Internet, donc c’est plus facile pour démarrer la sensibilisation et la diffusion des informations !

(suite…)

[:fr]La parole est aux speakers : Mathieu Santostefano[:]

[:fr]Jusqu’au PHP Tour 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Traduire efficacement une application Symfony

La traduction d'une application est une étape primordiale dans un projet international. Mais sa mise en place est souvent douloureuse, et ça le reste tout au long de la vie de l'application. Un nouveau type d'intervenant entre en jeu en plus des développeurs, chefs de projets, designers, voici maintenant les traducteurs. Comment faire travailler toutes ces personnes efficacement, et garder l'intégrité des traductions de l'application ? C'est ce que je vous propose d'aborder dans cette conférence. Nous verrons ensemble quels outils externes utiliser pour faciliter la traduction aussi bien pour les développeurs, que les traducteurs, mais aussi pour les intervenants en qualité qui sont chargés de vérifier tout ce travail. Nous verrons également comment brancher ces outils au sein de Symfony pour bénéficier d'un workflow de traduction cohérent et simple d'utilisation d'un environnement local à la production. À la fin de la conférence vous n'aurez qu'une envie, mettre à jour vos projets avec ces outils pour enfin vous épargner de longues journées de mise à jours de traductions !

Salle Jarvis
18/05/2018
12:10-12:30

Tu nous parleras de traduction d’application Symfony. Qu’est-ce qui t’a motivé à parler de ce sujet et dans quel cadre as-tu été amené à travailler sur des traductions ?

La mise en place de la traduction d’une application web est quelque chose que j’ai souvent rencontré dans mes différentes expériences professionnelles. Encore plus depuis que je suis chez JoliCode, car je travaille sur plusieurs projets par an.
Récemment, pour un de ces projets nous avons eu besoin de mettre en place la traduction d’une application en 6 langues. Cela a nécessité une quantité importante de travail, car non seulement nous devions traduire l’interface utilisateur, mais également permettre aux éditeurs de l’application de pouvoir saisir du contenu dans plusieurs langues différentes.
J’ai en grande partie contribué à la mise en place de ce système, et c’est ce qui m’a motivé à proposer ce sujet de conférence au PHP Tour Montpellier 2018.

(suite…)

[:fr]La parole est aux speakers : Nicolas Lœuillet[:]

[:fr]Jusqu’au PHP Tour 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Tenter de gagner (un peu) sa vie avec un projet open source

Depuis bientôt 5 ans maintenant, nous sommes une petite équipe qui développe une application web open source, wallabag, codée en PHP. Et depuis le début de cette aventure, je me dis que ça serait chouette d'essayer de tenter de gagner un peu sa vie grâce à ce projet qui nous prend du temps. Il y a un peu plus d'un an, j'ai donc lancé un service libre et payant, https://wallabag.it Je vous propose donc mon retour d'expérience sur la naissance du projet, les différentes étapes, les craintes, les doutes et les réussites, comment je gère tout ça au quotidien, etc.

Salle Morpheus
17/05/2018
12:10-12:30

Peux-tu nous présenter le projet wallabag et quel est ton rôle dans celui-ci ?

wallabag est une application de lecture différée : je n’ai pas le temps de lire un article, je l’archive et je pourrai le consulter plus tard sur mon ordinateur, ma tablette, mon smartphone ou ma liseuse.
La principale fonctionnalité est que wallabag ne conserve que l’article dans une version épurée : c’est-à-dire que le reste de la page HTML n’est pas enregistrée (les publicités, la structure du site, les commentaires, etc.). L’article (et ses images), et uniquement ça.
J’ai commencé ce projet tout seul il y a bientôt 5 ans, quand Google a annoncé la fermeture de Google Reader. Je me suis inquiété de ce qui pouvait arriver si l’outil que j’utilisais à l’époque (Pocket) fermait du jour au lendemain. J’ai donc voulu me créer mon propre outil.
Aujourd’hui, nous sommes une équipe de 4 personnes pour la partie application web, une personne par application smartphone, deux personnes pour l’extension Chrome / Firefox, une dizaine de traducteurs et quelques milliers d’utilisateurs.

(suite…)

[:fr]La parole est aux speakers : Grégoire Pineau[:]

[:fr]Jusqu’au PHP Tour 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

A la decouverte du Workflow

Il est courant de gérer des statuts ou états de produits, dans des sites e-commerce ou éditoriaux. Pour ce faire, il est possible d'agir de façon classique, c'est-à-dire manuellement, ou d'avoir recours à des librairies qui proposent déjà des bases de code. Pour cette présentation, nous aborderons la notion de machine à état et sa définition avant d'envisager, son application, en examinant les librairies open sources existantes. Enfin, à la lumière de Symfony, nous étudierons le nouveau composant "Workflow"

Salle Jarvis
18/05/2018
15:15-15:55

Cela fait maintenant plus d’un an que tu es membre de la core team de Symfony. Peux-tu nous en dire plus sur ce rôle ?

J’ai rejoint Sensio en 2010 et très rapidement j’ai pris goût à l’open source. J’ai commencé par contribuer sur les projets que j’utilisais tous les jours : Twig, Silex et Symfony.
Puis en 2016, à la suite de l’intégration du composant workflow dans Symfony, j’ai été promu « core contributor ». Être core contributor n’a pas vraiment changé mon quotidien dans la mesure où je suivais déjà de près le développement de Symfony. Désormais je dois maintenir le composant workflow. Je dois par exemple re-lire, commenter, finir les pull-requests envoyées par les autres contributeurs mais aussi répondre aux questions que les développeurs ont. Et enfin résoudre les tickets : bug ou features.
Depuis 2017, je travaille chez JoliCode et grâce à du temps alloué à l’open-source je peux continuer à maintenir ce composant.

(suite…)

[:fr]La parole est aux speakers : Richard Hanna[:]

[:fr]Jusqu’au PHP Tour 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

E-Learning sans Internet, ou presque

Retour d'expérience sur le développement d'une progressive web app en mobile-first et offline-first pour que des étudiants africains puissent accéder à des cours d'université en tenant compte des problématiques de connectivité. On verra des sujets variés comme gérer des contenus et une navigation en offline et échanger des données avec un serveur sans connexion Internet (oui, oui !).

Salle Jarvis
17/05/2018
12:10-12:30

Tu as travaillé sur un projet offline-first pour des étudiants en Afrique. Ce projet a-t-il changé ta vision sur l’accès à la technologie ou étais-tu déjà sensible à ce sujet ?

Je savais que dans certains pays l’usage du web était vraiment différente de ce que nous connaissons en Europe. Par exemple, en Afrique ou au Moyen-Orient, Facebook ou WhatsApp sont les principaux accès au « web » car ils sont intégrés à la plupart des forfaits.
Ce qui m’a frappé en travaillant sur ce projet c’est que finalement accéder à la technologie et à Internet est aujourd’hui plus facile que d’accéder aux études supérieures. En effet, dans la plupart des pays africains, 3 étudiants sur 4 ne pourront pas suivre les cours d’université faute de places. Alors que ces jeunes sont majoritairement équipés de smartphones.

(suite…)

[:fr]La parole est aux speakers : Julien Pauli[:]

[:fr]Jusqu’au PHP Tour 2018, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

Nommer les choses ? Oui : avec le DNS

On l'utilise tous les jours, il est devenu transparent sauf lors d'attaques de grande ampleur ou d'erreur de config : le DNS est un des premiers services a avoir été crée pour gérer l'Internet. Après un petit historique, nous nous attarderons sur les détails techniques du DNS. Comment ça marche ? Comment le mettre en place chez soi ? En entreprise ? Sur un projet ? Que peut-on faire avec le DNS ? Comment notre langage favori (PHP) intérragit-il avec le DNS ? Basé sur un exemple réel en prod, un petit atelier pratique de mise en place d'une zone DNS avec un maitre, un esclave et quelques resolvers PHP sera de mise pour que tout le monde comprenne bien comment fonctionne ce service indispensable sur Internet

Salle Jarvis
18/05/2018
10:15-10:55

En tant qu’ancien release manager de PHP, quelle est ta vision sur les dernières sorties de PHP ?

PHP suit son chemin : le web professionnel. Il s’enrichit, particulièrement en ce qui concerne l’objet ; et supporte les dernières nouveautés importantes du moment, comme il l’a toujours fait.
On nous promet du JIT dans PHP 8 , le chemin est encore long, mais PHP 7 le prépare : la refactorisation du moteur, du gestionnaire de mémoire, et des principales structures ; tout au long de la vie de la branche 7 , prépare la branche 8 et son moteur JIT qui nous fournira encore de meilleures performances !
(suite…)