[:fr]La parole est aux speakers : Vincent Lainé (AFUP Day 2019 Rennes)[:]

[:fr]Jusqu’à l’AFUP Day 2019 Lyon, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Préparer son application php pour l’exécution dans un environnement contenerisé

À travers cette session je vous propose de venir réfléchir aux challenges qui découlent de l'utilisation d'une solution de conteneurs. Nous aborderons quelques unes des questions principales ainsi que leur(s) solution(s) au travers d'exemples utilisant Kubernetes.

La Fabrique
17/05/2019
15:10-15:50

Toi qui as une forte expérience .NET, trouves-tu les applications PHP plus ou moins simples à conteneuriser ? Quelles sont les principales différences ?

Les challenges de la conteneurisation sont majoritairement les mêmes quel que soit le langage car ils sont principalement liés à l’environnement dans lequel l’application s’exécute plutôt qu’au code de l’app. C’est d’autant plus vrai si on parle d’un nouveau projet qui démarre avec docker comme cible !

En fonction des frameworks et des librairies disponibles, ces challenges peuvent être plus ou moins faciles à relever mais PHP et .NET sont tous deux bien équipés pour cela grâce à leur communauté.

La principale différence que j’ai pu voir entre une app .NET Core et PHP qui s’exécute dans un conteneur est lorsque que l’application est un serveur http (API REST par exemple). PHP est intimement lié à un serveur externe (apache ou nginx) alors que .NET Core embarque son propre serveur http (basé sur libuv) ce qui évite la configuration et le maintien d’un composant supplémentaire.
(suite…)

[:fr]La parole est aux speakers : Freek Van Der Herten (AFUP Day 2019 Lille)[:]

[:fr]Jusqu’à l’AFUP Day 2019 Lyon, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Supercharging queues in Laravel with Horizon

Out of the box Laravel comes with decent support for queues. Laravel Horizon takes this one step further. Horizon is two things: a server side part that adds intelligence to your queues (think autobalancing), and a client side part to see the content of the queues.

In this short, practical talk we'll install Horizon into a Laravel app and play around with it.

Auberge Stéphane Hessel
17/05/2019
14:45-15:25

Your company, Spatie, has published more than two hundred open source repositories. How did you maintain these many packages ?

Luckily most of the packages are currently quite stable. I think that there aren’t that many big bugs in there. We also try to limit the scope of each package. Mostly we only take on PRs that add functionality that we need ourselves. Every week I take some time to run through all new issues and PRs that have come in. Most of them can be resolved in that time. I’m also not the only one that does this work, my whole team helps out with the maintenance. Because some of the package have become quite popular we get a lot of help from the community as well. We a bug is reported it’s not uncommon that we quickly get a good PR that solves it. For some of the packages contributors stepped up to became the primary maintainer.
(suite…)

[:fr]La parole est aux speakers : Julien Deniau (AFUP Day 2019 Lyon)[:]

[:fr]Jusqu’à l’AFUP Day 2019 Lyon, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Explorez votre code avec de l'analyse statique

PHPStan est un analyseur statique de code pour PHP. Découvrez comment vous pouvez, grâce à lui, rendre votre code moins buggué, plus simple et plus facile à comprendre.

SupInfo
17/05/2019
15:15-15:35

Ta conférence porte sur l’analyse statique, comment en es-tu venu à ce sujet et pour couvrir quel cas ?

PHP 7 a amené de grosses amélioration sur le typage de données.

Je trouvais vraiment dommage de ne pas profiter de ce typage pour détecter des erreurs potentielles avant la mise en production, comme le ferait un compilateur.

Qui plus est, sur une base de code existant, c’est finalement assez dur de migrer sur le typage (retour de fonction ou paramètres), sans risquer de tout casser, même avec un code bien testé.

Grâce à l’analyse statique, je peux maintenant convertir mes classes une par une sans crainte, sans parler du fait que j’ai pu détecter un grand nombre de bugs !
(suite…)

[:fr]La parole est aux speakers : Frédéric Bouchery (AFUP Day 2019 Rennes)[:]

[:fr]Jusqu’à l’AFUP Day 2019 Lyon, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

PHP Pragmatic Development

On ne va pas se mentir, DDD c'est bien, mais pas franchement facile à appréhender quand on débute. Et c'est bien là tout le problème : il n'y aurait que des développeurs seniors et des architectes sur nos projets, tout irait pour le mieux. Quand on parle d'expérience développeur (DX), il est donc nécessaire de prendre en considération ces jeunes inexpérimentés qui peuvent vite se perdre et enrayer notre belle machinerie.

Héritage, traits, injection de dépendances, agrégation, programmation évènementielle, programmation orienté aspect, etc. faisons le point sur les architectures actuelles en PHP et retrouvons un peu de pragmatisme pour le bien de nos projets et de notre santé mentale.

La Fabrique
17/05/2019
17:05-17:45

De nos jours des architectures comme DDD, CQRS et l’event sourcing sont à la mode. Pour toi, ces patterns de développements permettent-ils réellement d’avoir un gain sur les applicatifs développés ?

CQRS est un pattern d’architecture qui mérite en effet que l’on s’y attarde, car il permet vraiment de découpler des éléments qui sont bien trop souvent mélangés. Il force les développeurs et développeuses à penser différemment et à rendre son application beaucoup plus scalable. Couplé à l’event sourcing, cela permet, entre autres, d’offrir une bonne capacité d’évolution, en permettant plus facilement la reprise de données, qui est toujours une galère quand on veut faire évoluer son modèle. DDD, qui n’est pas une architecture, mais une méthode de conception, vient normalement faciliter le travail dans une architecture CQRS. Le problème dans cette architecture, c’est qu’elle est difficilement mélangeable avec des architectures plus classiques. De plus, si un développeur ou développeuse maîtrise mal certains concepts, il risque facilement de gripper la machine et au final d’en faire une application beaucoup plus difficile à faire évoluer que ce que promettait l’approche initiale. CQRS, c’est génial, ça permet d’avoir des applications plus évolutives et performantes, mais elle peut introduire de la complexité qui nécessite une plus grande expérience si on ne veut pas que le château s’écroule.

(suite…)

[:fr]La parole est aux speakers : Julien Pauli (AFUP Day 2019 Lille)[:]

[:fr]Jusqu’à l’AFUP Day 2019 Lille, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Fonctionnement de l'executeur dans la machine virtuelle PHP

Nous allons voir comment PHP fait pour exécuter notre code, en interne. Ce n'est pas magique, le code de PHP est exécuté dans une machine virtuelle logicielle, codée en utilisant le langage C. C'est globalement la même chose concernant tous les langages interprétés (comme Python, Java, Ruby ou Go).

Comment sont gérées les variables ? Les appels de fonctions ? Les boucles ?

Nous parlerons des différents exécuteurs, et de la manière dont l'extension OPCache vient optimiser le code avant de le passer à l'exécuteur. Nous donnerons des recommandations et désamorcerons certaines idées reçues.

Pour suivre ce sujet, il suffit de connaître le langage PHP et d'avoir des notions globales en programmation. Le but étant de vulgariser pour qu'à la fin on puisse avoir une bonne idée générale sur le fonctionnement interne de la partie la plus complexe et la plus critique du coeur de PHP.

Auberge Stéphane Hessel
17/05/2019
09:20-10:00

Quels conseils donnerais-tu aux personnes souhaitant s’informer sur les nouveautés de PHP / son fonctionnement interne ?

De lire les mailing-lists internes , de lire le wiki des RFC, qui est d’ailleurs analysé et présenté de manière « cool » aux utilisateurs sur https://externals.io/
De venir se connecter sur #php.pecl sur Eris FreeNet aussi , c’est ici que les développeurs internes de PHP discutent « en live » de leur PR, de leur RFC, etc…

(suite…)

[:fr]La parole est aux speakers : Alex Rock (AFUP Day 2019 Lyon)[:]

[:fr]Jusqu’à l’AFUP Day 2019 Lyon, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Neuroatypie et IT : quelques conseils

Un nouveau courant est né dans le monde de l'IT : recruter des neuro-atypiques, parce que leurs "capacités" seraient "meilleures".

Mais pourquoi ce mouvement est-il né, et la combinaison "neuro-atypie / IT" est-elle vertueuse ?

Nous allons ensemble aborder ce sujet encore trop méconnu et le mettre en condition dans notre activité professionnelle.

Le déroulé de la conférence sera le suivant :

  • Description de ce qu'est l'autisme et ce que sont les neuro-atypies
  • Présentations des cas de recrutement d'autistes dans l'IT, qui les fait, et pourquoi
  • Des conseils pour améliorer les relations humaines avec les personnes neuro-atypiques
SupInfo
17/05/2019
17:35-17:55

Au-delà des clichés habituellement entendus, la neuro-atypie couvre un large champ de comportements variés mais peu connus. Comment amènes-tu ce sujet, qui demande du temps, de la confiance et de l’écoute, dans le monde du travail ?

Dans un premier temps il ne faut brusquer personne. Les neuro-atypies, lorsqu’on les appelle ainsi, ont tendance à éveiller la curiosité de façon plutôt neutre. Cependant, lorsque l’on se met à parler de soi et de son « état », les réactions sont souvent moins enclines à l’empathie qu’à une forme de rejet. Par exemple, dans le cas de l’autisme, annoncer à quelqu’un « Je suis autiste », c’est quand même quelque chose ! Parce qu’il y a beaucoup (énormément) de préjugés sur le sujet. Beaucoup pensent au film Rain Man où le personnage interprété par Tom Cruise fait la connaissance de son frère autiste interprété par Dustin Hoffman (et ce film a une bande-son merveilleuse, regardez-le !). Pourtant, l’autisme dont est sujet le personnage de Raymond Babbit n’est en réalité pas l’autisme « commun ». L’autisme est un spectre très large, et avant d’avoir des préjugés, il convient d’en connaître les subtilités, et c’est comme ceci que je l’aborde avec mes collègues, ou même mes élèves ! Et bien souvent, lorsqu’on en parle avec bienveillance, écoute, sans jugement ni hostilité, on peut s’attirer la sympathie d’autrui, malgré les particularités parfois handicapantes que l’on peut avoir.
Et là, je ne parle que de l’autisme… Annoncer à son employeur ou à ses collègues que l’on a des troubles dys* (dyslexie, dyspraxie, dysorthographie, et autres), que l’on a un diagnostic de dépression, de bipolarité, haut-potentiel (parfois encore appelé « douance », « précocité » ou « surdoué »), tout ça est parfois emprunt de beaucoup de préjugés, dont certains sont véhiculés par les médias qui survolent beaucoup le sujet en approfondissant trop peu, ou par des films qui veulent enjoliver la particularité pour la rendre plus « sexy », plus propice à être appréciée devant un écran…

(suite…)

[:fr]La parole est aux speakers : Damien Alexandre (AFUP Day 2019 Rennes)[:]

[:fr]Jusqu’à l’AFUP Day 2019 Rennes, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

État de l'art d'Elasticsearch avec PHP

Tout le monde utilise Elasticsearch, mais qui en comprend vraiment les particularités ? Dans ce talk je vous expose mes recommandations sur la mise en place du moteur de recherche dans un applicatif Web et les pièges dans lesquels nous tombons le plus souvent. Du tuning de pertinence à la mise à jour de mapping en production sans perte de service, vous apprendrez à maîtriser et reprendre confiance dans votre utilisation d'Elastic avec PHP.

La Fabrique
17/05/2019
09:20-10:00

As-tu déjà utilisé elasticsearch avec d’autres langages que PHP ? Si c’est le cas, as-tu retenu des différences sur son utilisation avec d’autres langages ?

Elasticsearch est vraiment facile à prendre en main via son API HTTP full JSON, compatible avec de nombreux langages (tout ce qui possède un client HTTP en fait) ; mais étrangement la majorité des utilisations du moteur hors PHP que j’ai eue l’occasion de croiser utilisaient Java et le TransportClient officiel.
C’est une possibilité offerte uniquement en Java, de communiquer avec Elasticsearch sur le port interne 9300. Mais cette façon de faire est sur le point d’être dépréciée !
J’ai aussi croisé des implémentations JavaScript et on peut vraiment apprécier de manipuler un JSON nativement en entrée comme en sortie !

(suite…)

[:fr]La parole est aux speakers : Jacques Bodin-Hullin et Maxime Huran[:]

[:fr]Jusqu’au Forum PHP 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

Sylius quelques chocolats plus tard

Maxime et Jacques viennent du Dark Web sous Magento. Après deux mois d'été à prendre en main Sylius pour un grand chocolatier nantais ils reviennent à Paris pour vous faire un retour bourré de pépites. Ces pépites ne seront pas en chocolat mais elles seront une première et belle mise en bouche à ceux qui souhaitent en savoir plus sur ce splendide framework e-commerce ! On va vous donner les clés de la boutique : e-commerce, symfony 4, une équipe de choc', beaucoup de soirée pizzas/bières, des astuces, des fails/success, du continous everything™ top moumoute et surtout du chocolat ! Plein de bonnes choses en somme.

Grace Hopper
25/10/2018
10:15-10:55

Vous êtes tous deux des routiers de la solution ecommerce Magento. Qu’est ce qui vous a poussés à utiliser Sylius ?

Maxime : En effet j’ai commencé Magento en 2013, un peu par hasard au final. Au bout de quelques années on se rend compte que la solution est complète pour des problématiques e-commerce ; même si elle n’est pas parfaite mais aucune ne l’est ; et qu’avec une bonne maîtrise, on peut vraiment répondre à un bon nombre de besoins métiers de la part des e-commerçants. On attendait Magento 2 de pied ferme depuis de nombreuses années, en espérant garder un fonctionnel aussi poussé que Magento 1, et avec une couche technique « mise à jour ». Magento 1 datant de 2008 et le monde du web évoluant tellement vite, cela ne pouvait lui faire que le plus grand bien.
Mais après quelques années à avoir travaillé dessus et plusieurs projet bâtis de A à Z, je me rends compte que c’est tout l’inverse. Le nombre de régressions en terme de bugs par rapport à Magento 1 est juste énorme. Le temps de développement est beaucoup plus long, ce qui rend les projets plus chers aux clients. Au début, je pensais que ce temps était lié au temps de prise en main de cette nouvelle version, mais ce n’est pas le cas. En terme de développement pur, je dirai qu’on est même gagnant, car on a beaucoup moins de lourdeur au niveau des XML de configuration. Mais on perd beaucoup de temps avec la partie front, surtout sur le checkout qui utilise Knockout JS.
Pour ma part, j’estime que Magento 2 est encore une bêta. Le rachat par Adobe me fait penser que cette solution va perdre son côté Open Source et devenir une usine à vendre des licences, mêmes pour des e-commerçants n’en ayant pas besoin. Ce sont toutes ces raisons qui m’ont donné envie de chercher autre chose. Le paysage des frameworks e-commerce n’étant pas bien large, Sylius a attiré mon attention pour plusieurs raisons :

  • Utilisation du framework Symfony :** En ayant entendu parlé très souvent; il y a juste à demander parmi les participants du Forum PHP qui en fait; j’avais vraiment envie de me diriger vers cette techno.
  • Une conception bien réfléchie :** En analysant l’organisation des tables en BDD, on comprend qu’ils ont bien posé et compris les problématiques métier liées au e-commerce. Il manque encore beaucoup de fonctionnel comparé à un Magento, mais ici au moins, on a un socle sain pour venir y ajouter nos briques.
  • Encore plein de choses à faire !** C’est motivant aussi de se dire qu’on peut apporter notre connaissance dans le domaine pour suggérer des évolutions ou des nouvelles idées pour la plateforme.

Jacques : Magento 1 a été une solution que j’ai appréciée de bout en bout, à condition de faire les choses bien, car elle permettait (et permet toujours en fait) de réaliser des boutiques rapidement et d’une effroyable efficacité (si on vous dit le contraire c’est que la solution n’était pas maîtrisée).

Magento 2 étant un fiasco total il est apparu nécessaire de changer de techno. Evidemment Symfony attire de plus en plus et j’utilisais déjà le framework depuis plusieurs années en perso ou pour des outils internes. Comme l’a dit Maxime, le challenge est présent avec Sylius et je ne vois aucun frein pour que cette solution vienne s’implanter sur le marché du e-commerce !

(suite…)

[:fr]La parole est aux speakers : Fréderic Leguédois[:]

[:fr]Jusqu’au Forum PHP 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

Cessons les estimations !

Alors que les estimations sont à la base des méthodes classiques et que dans le domaine Agile, SCRUM notamment lui accorde une grande importance, nous allons l’espace d’une conférence remettre en cause celles-ci.

Après un bref rappel de différentes méthodes permettant de réaliser des estimations et croyances qui y sont attachées, nous prendrons le temps de réfléchir sur les effets néfastes de ces dernières. Enfin, nous verrons comment dans la réalité des projets, il est possible de s’en extraire.

Conférence iconoclaste, sous la forme d’un one man show, afin de réfléchir (et de rire ?) sur un aspect essentiel de l’agilité.

Ouvert à tout public ayant une première approche des projets de développement logiciel.

Katherine Johnson
26/10/2018
15:15-15:55

En tant qu’agiliste évangéliste, quels sont selon vous les plus grands risques lors de la mise en place de méthodes agiles dans une équipe ?

L’agilité n’est pas tant méthodologique que culturelle. Le rapport à l’incertitude et à l’avenir, qui est une notion importante de l’agilité, ne se définit pas dans une méthode. Mais il est bien culturel : chaque équipe, en fonction des personnes qui la composent, en a une perception différente. Il en va de même pour la notion de collaboration. Pour certaines équipes, il est normal de s’entraider en interne mais aussi à l’extérieur du groupe. A contrario, pour d’autres, le chacun pour soi et le conflit priment, et sont d’ailleurs souvent désignés par de jolis euphémismes tels qu’engagement ou responsabilité.

Donc les personnes sont primordiales. Il est délicat de travailler en confiance avec une personne d’une méfiance extrême. Une personne craintive a besoin de garanties constantes quant à l’avenir avant de réaliser la moindre action, ce qui est difficilement compatible avec la philosophie agile. L’agilité est intuitu personae. Le premier principe du manifeste agile nous le rappelle avec force : « Les individus et leurs interactions plus que les processus et les outils. ». Nous pourrions le reformuler de la sorte : les personnes sont plus importantes que les méthodes. D’ailleurs ce sont bien les personnes qui font les méthodes et non les méthodes qui font les personnes.

D’où un quiproquo régulier sur le fait de vouloir mettre en place des méthodes agiles dans des environnements qui culturellement ne le sont pas, voire sont en opposition avec les valeurs portées par l’agilité. Cela signifie-t-il que la démarche est vaine ? Cela dépend du contexte. Si les succès s’enchaînent, si les rapports humains sont de qualité, que toutes les parties sont satisfaites, que l’équipe prend plaisir à développer le logiciel commandé, que le client reçoit régulièrement les livraisons des fonctionnalités dont il a besoin, alors pourquoi changer ?

En revanche, s’il s’agit d’une situation de crise chronique, que le client est fatigué par un logiciel qui n’évolue que peu ou pas, que les relations sont tendues, que les développeurs sont démotivés, alors peut-être qu’un changement doit être envisagé. Mais il s’agit d’un changement culturel de fond, et non simplement de la mise en place d’une méthode. Dans ce cas, créer une équipe ex-nihilo, avec une forte autonomie, sur une vision commune, avec des valeurs partagées, ça peut-être une possibilité. Les personnes qui rejoindront cette équipe le feront volontairement car elles partagent cette vision.

Une « transformation agile » qui imposerait des « recettes miracle », est un contre-sens avec l’agilité qui prône une forte autonomie des personnes et des équipes. La mise en place de méthodes agiles devrait se faire lorsqu’une équipe touche à ses limites, qu’elle pressent que l’agilité pourrait être une voie à explorer, à sa demande.

Pour répondre à la question, un des grands risques lors de la mise en place des méthodes agiles est de vouloir… mettre en place des méthodes agiles, sans considérer ni la culture de l’organisation, ni les personnes qui la composent.

(suite…)

[:fr]La parole est aux speakers : Laurent Victorino[:]

[:fr]Jusqu’au Forum PHP 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éveloppeurs de jeux vidéo: les rois de la combine

Où on y parlera de jeux, de développement de jeux, ou de comment un jeu vidéo n’est qu’un amas de bric et de brocs mis bout à bout dans le seul but de duper, tromper, et leurrer le cerveau des joueurs et faire en sorte qu’ils en redemandent.

Katherine Johnson
26/10/2018
17:10-17:40

Tu as déjà donné des conférences à MixIT, événement qui n’est pas lié aux jeux vidéo, et tu viendras également nous en parler au Forum PHP 2018. Pour toi, qu’est ce que les communautés de développeurs jeux vidéo et non-jeux vidéos ont à apprendre l’une de l’autre ?

J’ai toujours trouvé étrange que nous, les développeurs IT/Web et Jeux Vidéo, soyons si proches culturellement (logique, métiers, technos…) et que nous ne nous connaissions pas vraiment même après toutes ces années. Il y a beaucoup de fantasme autour de nos différents métiers et trop peu d’interactions entre nous. Les développeurs de jeux vidéo pourraient fortement bénéficier des méthodes, techniques et technologies utilisées chaque jour par les autres corps de métier du développement. Et vous pourriez bénéficier de notre créativité et réactivité pour rendre tous les superbes logiciels de comptas que vous développez encore meilleurs 😉

(suite…)