Catégorie AFUP Day 2021

La parole est aux speakers : Benoit Jacquemont

Jusqu’à l’AFUP Day 2021, 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

HTTP/3: C'est une question de transport !

L'annonce de HTTP/3, la nouvelle version du protocol du Web, au début de novembre 2018 en a surpris plus d'un•e. En effet, moins de 4 ans la sépare de HTTP/2, alors que plus de 18 ans s'étaient écoulés entre HTTP/1.1 et HTTP/2 !

En pleine finalisation cette année avec un support des navigateurs principaux, cette version apporte une vraie complémentarité au travail réalisé sur HTTP/2, notamment sur les problématiques de latence.

Cette conférence reviendra sur le pourquoi de cette version 3, ce qu'elle apporte et ce qu'elle change, et ce que peuvent en attendre les développeurs et développeuses web.

Elle sera l'occasion également de présenter les challenges qui vont se poser à la mise en place de HTTP/3.

Tours
11/06/2021
14:00-14:40

Speaker habitué aux conférences AFUP, qu’est-ce qui t’a motivé à faire ta première conférence ?

J’ai toujours aimé apprendre de nouvelles choses et partager mes connaissances. Je le fais beaucoup dans mon cadre professionnel, via des présentations et formations internes.
J’avais une question qui me titillait: est-ce que ces connaissances partagées auraient eu une quelconque valeur en dehors de mon entreprise ? Est-ce que les sujets pouvaient intéresser un public bien plus large que le cercle restreint de mon entreprise ?
Bref, c’était un test, et j’ai eu la chance d’avoir des retours positifs qui m’ont encouragés à continuer.

Est-ce que tu as une source préférée pour faire de la veille sur les nouveautés de l’HTTP ?

D’une manière générale, j’applique un dérivé du « À qui profite le crime ? ». Les changements récents autour de HTTP concernent surtout de la perf. Donc ceux qui vont en parler le mieux sont ceux dont la perf web au niveau HTTP est le métier. Par exemple, sur HTTP/3, il y a beaucoup d’infos du côté de Litespeed, du blog de Cloudflare ou de Fastly par exemple. En outre, quand on parle de HTTP, on va parler client web. Pour HTTP/3, il y a beaucoup d’info du côté des projets Chromium et cUrl. Et bien sûr, HTTP est un standard, donc les RFC HTTP sur le site de l’IETF, même si elles ne sont pas la partie la plus digeste, sont la référence.

Quand certains projets peinent, pour différentes raisons, à passer sur HTTP/2, penses-tu préférable pour eux de faire le saut directement vers HTTP/3 ?

Sans spoiler la conférence, mon conseil est clairement de passer sur HTTP/2. HTTP/3 va apporter un gain de perf pour les features apportées par HTTP/2. Donc passer sur HTTP/2 maintenant, c’est avoir du gain quasiment sans rien faire quand HTTP/3 sera là.

Le speaker

Benoit JACQUEMONT
Benoit JACQUEMONT
Benoit Jacquemont est tombé dans le web en 2000 après avoir une première expérience sur des logiciels d'encaissements. De Java à PHP, de Oracle à MySQL et des applications de gestions aux sites de eCommerce, il roule sa bosse sur les projets, toujours à forte composante OpenSource, au sein du groupe Smile. Il en devient le CTO en 2009 alors que l'entreprise compte près de 450 salariés. En janvier 2013, il co-fonde Akeneo avec Frédéric de Gombert, Nicolas Dupont et Yoav Kutner. L'aventure startup commence alors pour lui, en tant que CTO d'Akeneo.

Autres interviews

La parole est aux speakers : Mathieu Passenaud

Jusqu’à l’AFUP Day 2021, 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

Authentification : peut-on se passer du mot de passe ?

webauthn, certificat, biométrie, clé privée, lien authentifié... Il existe plein d'autres manières de s'authentifier qu'avec l'éternel mot de passe que nous détestons tant.

Par un ensemble de démonstrations, nous allons voir comment on peut lier fortement sécurité et expérience utilisateur, tout en les faisant aller dans la même direction.

Nous allons aussi couper court à certaines théories ou croyances erronnées afin de convaincre vos utilisateurs d'utiliser des méthodes d'authentification alternatives moins pénibles.

Toulouse
11/06/2021
14:00-14:40

Quelles sont les bonnes pratiques de sécurité que tout développeur•euse web devrait implémenter dans les solutions qu’il/elle développe ?

N’oublions pas que nous faisons du code dans le but qu’il soit exécuté, et donc utilisé (majoritairement par des humains). J’aime rappeler aux étudiants que « Votre code n’a aucune valeur, seule son exécution rapporte de l’argent ».
Faire de la sécurité extrême, nous savons parfaitement faire à partir du moment où on ne fait pas rentrer l’humain dans la boucle. La première bonne pratique que je donnerais à n’importe quel dev, c’est de penser pour qui et pour quoi il fait son code. Faire rentrer l’UX dans la boucle de bonnes pratiques me parait primordial.
Ne vous croyez jamais plus malin que les autres, plus vous allez en faire plus allez avoir à en maintenir (machine, OS, environnements, librairies…). Dans la mesure du possible passez le plus possible par des services managés, vous gagnerez énormément de temps ce qui compensera à coup sûr le surcoût.

Ensuite faites le service minimum. N’exposez pas inutilement les choses qui n’ont pas lieu d’être.
Gardez tous vos systèmes à jour. Ne permettez jamais de l’exécution de code externe (XSS, upload de script etc…)
Et pour terminer « LISEZ LES NOTICES !!! ».
Un mot de passe par défaut, des failles de sécurité connues… Ça se trouve dans la documentation, les changelog… Étudiez un peu ce qu’il s’est passé chez TV5 monde en 2015, vous risquez fort de tomber des nues.

La sécurité parfaite d’un développement logiciel est-elle envisageable/réalisable ? Ou bien y a t-il toujours une faille que l’on ne peut pas anticiper ?

« Dans le jeu vidéo, un générateur de chaos on en a un qu’on se passe de génération en génération depuis des années, il est parfait, il vous fout la merde dans n’importe quel système ça s’appelle le joueur ». Je reprendrais cette phrase de Laurent Victorino et j’étendrais ça au logiciel en général. Vous savez que vous allez passer votre temps à développer des choses pour cadrer les utilisateurs, essayer d’imaginer tout ce qu’il pourra faire.
Certains persistent à croire qu’on ne pourra jamais rien faire contre l’utilisateur qui marquera son mot de passe sur un post-it à côté de son écran. En fait si, il suffit de ne pas lui demander de mot de passe (et vous creuser la tête pour proposer autre chose).
Si vous faites un logiciel qui n’a pas de vocation à être utilisé, qu’il tourne sur une machine dans son coin non connectée au réseau, oui vous arriverez peut être à une sécurité presque parfaite (peut-on voler et partir avec la machine ?).
Plus vous allez utiliser de composants, de librairies et de programmes tiers, plus vous allez vous exposer. Encore une fois, il est important de savoir ce que l’on fait. L’intérêt notamment de l’open source c’est de voir comment c’est fait, pas que c’est gratuit. La sécurité parfaite existe en théorie, en pratique elle n’existe pas.

Nous croyons savoir que tu donnes des cours sur la sécurité des applications. Est-ce pour toi important de sensibiliser les futures générations de développeurs et développeuses sur ces problématiques?

Vous croyez bien 🙂 Au-delà de sensibiliser de futurs développeurs, je le fais aussi pour tous les utilisateurs des systèmes informatiques. Qu’ils comprennent les enjeux derrière tous les piratages et demandes de rançons, et arrêtons de pleurer un peu ceux qui se font casser leurs systèmes parce que leur déploiement ou leur sécurité relève à peine de l’amateurisme.
La sécurité pour les développeurs, c’est beaucoup de bonnes pratiques, d’observation, quelques outils et beaucoup de malice. La sécurité à destination des utilisateurs, c’est énormément de psychologie.
« La sécurité réelle VS la sécurité ressentie ».

Le speaker

Mathieu PASSENAUD
Mathieu PASSENAUD
DevOps (Teevity, Berger Levrault, OVH, Connit, Ubleam) depuis 10 ans maintenant sur Toulouse. Il a monté la société please-open.it il y a un peu plus de 2 ans pour accompagner les grosses structures dans la mise en place de leur authentification logicielle. Cette expertise acquise au fil des années, please-open.it la met en oeuvre sur des plateformes diverses chez leurs clients, certains ayant plusieurs dizaines de millions d'utilisateurs.

Autres interviews

La parole est aux speakers : Karim Pinchon

Jusqu’à l’AFUP Day 2021, 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

Connaissez-vous vraiment JWT ?

Depuis quelques années déjà, beaucoup d'entre nous avons vu passer ou utiliser des jetons un peu spéciaux : les JSON Web Tokens ou JWT. Ce standard de jeton est très pratique pour faire transiter de l'information de manière fiable. Ces jetons sont souvent utilisés pour assurer l'authentication auprès de de web services, de micro-services ou de SSO dans le cadre d'OpenID Connect. De plus, on voit beaucoup de JWS (des jetons signés), mais ce n'est pas la seule implémentation qui existe. En réalité, la spécification JWT est nettement plus vaste que ce que l'on peut penser. Je vous propose de découvrir des aspects de JWT moins connus que l'utilisation classique.

Lille
28/05/2021
15:15-15:55

Saurais-tu nous dire quel est le plus gros défaut de l’utilisation d’un token JWT et pourquoi ?

Alors je voudrais pas trop spoiler ma présentation, mais pour moi le plus gros problème concernant JWT c’est la façon dont les dev veulent s’en servir. Ce type de jeton est fait pour être sans état, utilisé dans des systèmes distribués, et j’ai l’impression que beaucoup de mes collègues se mettent en quatre pour essayer d’avoir un moyen de les révoquer ou les invalider de quelque manière que ce soit. Au final, ça donne des systèmes vraiment compliqués et très loin de l’ambition initiale de JWT. Si tu stockes une référence à des JWT en base de données pour gérer une liste de révocation par exemple, je pense que tu passes à côté de l’intérêt de cette techno.

Tu as déjà donné une conférence auprès de l’AFUP. Qu’est-ce qui t’a motivé à te lancer ?

Il y a quelques années j’ai eu envie de progresser dans mon métier de développeur, alors j’ai commencé à notamment regarder des vidéos de conférences comme celles de l’AFUP :). Un jour, j’ai eu envie d’aller un peu plus loin en allant assister à des conférences. J’ai adoré l’ambiance, la bienveillance, la disponibilité des organisateurs, des speakers, et tous les autres. J’ai eu la chance de pouvoir échanger avec plein de gens et apprendre plein de choses. Et puis, je me suis également rendu compte qu’il n’était pas nécessaire d’être un expert dans une techno pour partager avec les autres. Alors je me suis dit pourquoi pas ! D’abord, ça permet d’approfondir ses connaissances sur un sujet (je connais plutôt bien JWT mais j’ai quand même fait des recherches et j’ai appris de nouvelles choses pour préparer ma conférence), ensuite, je ne le cache pas, c’est aussi une façon de se faire connaitre, montrer à de potentiels recruteurs une partie des ses « soft skills ». Enfin c’est aussi une envie de partager, je trouve ça extraordinaire de faire un métier dans lequel le partage peut avoir une place aussi importante.

Nous avons suivi tes conférences sur la sécurité, que penses-tu du Shamir’s Secret Sharing Scheme pour partager une clé privée ?

Je pense savoir qui pose cette question… J’ai vu passer un ou deux articles de Grégoire (bénévole à l’AFUP Hauts-de-France) via Twitter :D. Bon désolé de vous décevoir mais je ne suis pas cryptographe et je n’ai jamais eu l’occasion de jouer avec le Shamir’s Secret Sharing Scheme donc je n’ai pas grand-chose à en dire ! Juste ça a l’air vraiment intéressant et que l’on doit pouvoir imaginer des cas d’usages cool utilisant des accès partagés.

Le speaker

Karim PINCHON
Karim PINCHON
Développeur PHP (mais aussi Java), Karim est spécialisé en développement d'API. Le partage de connaissances est pour lui fondamental dans l'approche de son métier : il participe en tant que spectateur ou speaker à des conférences de devs autant que possible. Il donne depuis quelques années des cours de Web services à des étudiant•e•s de Master. Il a une sensibilité particulière sur les sujets de sécurité, d'authentification (OAuth2, OpenIdConnect) et de signature électronique (PKI), puisque ce sont des sujets sur lesquels il travaille depuis près de 10 ans.

Autres interviews

La parole est aux speakers : Gabriel Caruso

Jusqu’à l’AFUP Day 2021, 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

You are also a Doctrine contributor, is it as easy to contribute to Doctrine as to PHP’s core?

I wouldn’t compare both codebases, projects and community, but if I must: I wouldn’t say it’s easier or more difficult, but different. When contributing to PHP’s Core, I usually think « How is this going to affect *every single PHP developer* outhere? », as for Doctrine, this is a much smaller subset of developers. Contributions to an ORM and a programming language have their differences in a lot of aspects, but I’d say that the impact is the biggest difference for me.

This is the second time you speak at an AFUP event. Do you find any similarities between the French and Dutch or Brazilian PHP communities?

French, Dutch and Brazilian developers are all the same: always complaining and always seeking overengineering solutions 😀

Jokes aside, all the communities mentioned have something in common: they are united! They love conferences, meetups, discussions, they like to interact, to expose their opinions, to help and ask for help! I’m blessed to be part of Europeans, Asians and Americans communities. Can’t wait to expand that list.

For PHP8, it’s a wrap! What do you do with all your free time now? 🙂

Now that’s a bold statement over there. As Release Managers, Sara and I won’t have some free time for a while. After 8.0.0, we need to take care of all PHP 8.0.X releases for the next few years, until it reaches its end of live (EOL) period. Every two weeks, we prepare and release a new minor version of PHP 8.0.

Apart from PHP 8.0, I also work in a full time job at SurveyMonkey, speak at conferences and meetups, and have two mentoring programs going on to help me grow as a software engineer. In my real free time, I’m currently studying about climate changes and what I can do as an individual, but also as a PHP community member, to make some difference in the subject. Hope I can share my finds during the upcoming months via a conference talk!

Le speaker

Autres interviews

La parole est aux speakers : David Laizé

Jusqu’à l’AFUP Day 2021, 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

Montez à bord d'une équipe autonome !

En agilité, on travaille en équipe auto organisée. OK, ça c'est la théorie. Dans la pratique, j'en ai pas vu beaucoup des vraies équipes autonomes... Ce lightning talk de 20 min est un REX d'une équipe qui envoie, vu de l'intérieur par un membre de l'équipe. Des pratiques, des outils et surtout un témoignage : à quel point le travail en équipe et l'agilité c'est incroyable quand tout le monde est aligné et que les gens ont envie d'avancer ensemble.

Rennes
28/05/2021
12:05-12:25

Dans ta biographie, tu indiques aimer la pratique craft. Pourrais-tu nous en parler un peu plus, décrire en quoi cela consiste ?

J’ai la conviction que l’on ne peut pas faire d’agilité sans excellence technique. Pour moi c’est la base sur laquelle on peut construire une équipe agile. D’ailleurs si on regarde Extreme Programming que j’apprécie particulièrement, on retrouve la majeure partie des pratiques craft actuelles ! On parle d’un courant initié en 1996 (le livre est sorti en 1999) ! Des pratiques comme le mob programming, le TDD, le BDD et une vraie maîtrise du refactoring ne sont pas toujours mises en avant par rapport au dernier framework Javascript à la mode. Pour paraphraser Uncle Bob et sa « Boy Scout Rule » : toujours laisser une base de code source plus propre que vous l’avez trouvée !

Le télétravail généralisé a-t-il eu un impact important sur les techniques et les outils mis en place dans votre équipe depuis 2020 ?

Clairement, pour moi qui fais du coaching, de l’accompagnement d’équipes et qui suis orienté « humains et interactions plus que processus et outils » ça été une année compliquée avec beaucoup de changements ! D’un autre côté, on a appris à collaborer différemment. À utiliser d’autres outils. Je pense à Discord que je ne connaissais pas (je ne joue pas) et que j’apprécie maintenant pour la communication d’équipes. Qu’on soit clair, pour faciliter une séance de design et conception, je préfère un tableau blanc, du café et les gens qui s’expriment en face à face, mais nous avons appris à utiliser d’autres outils (boards numériques couplés à une bonne solution de visioconférence) et on fait de belles choses. Je suis content d’avoir réussi à accompagner cette transition.

Tu indiques être un ancien développeur, est-ce que la technique te manque parfois ?

J’adore la technique. Je discute avec un immense plaisir avec les équipes de développement. Bien sûr je ne maîtrise pas les nouveautés sur les langages mais on n’oublie pas 12 ans de développement. Ça m’arrive encore de coder sur quelques side projects ou sur ma domotique et j’y prends beaucoup de plaisir. Peut-être qu’un jour, je prendrais le temps de revenir au niveau nécessaire pour écrire du code de production. J’aimerais beaucoup, c’est juste qu’il n’y a pas assez d’heures dans une journée !

Le speaker

David LAIZÉ
David LAIZÉ
David accompagne les équipes agiles et leurs organisations à créer des produits innovants. Quelque soit la casquette : consultant, coach, formateur, mentor, speaker, son but est toujours de diffuser les valeurs de l'agilité, les pratiques devops et la culture produit. Ancien développeur, il aime l'excellence technique et les pratiques craft !

Autres interviews

La parole est aux speakers : Romain Clair

Jusqu’à l’AFUP Day 2021, 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

Évolution du web et conséquences

Depuis ses débuts dans les années 90, le web a considérablement évolué. Aujourd'hui, les applications web sont souvent le moyen privilégié de réalisation d'un nouveau projet logiciel.

Quelles sont les raisons de ce changement de support technologique aux applications ?

Quelles en sont les conséquences pour les développeur·euse·s, les utilisateur·rice·s et les autres acteur·rice·s du cycle de vie d'un logiciel ?

Quels impacts sur le domaine informatique en général ? Et qu'en est-il du logiciel libre dans ce nouveau paradigme ?

Partageons quelques pistes de reflexion sur l'informatique telle qu'elle est faite et telle que nous la voulons.

Tours
11/06/2021
11:15-11:55

Qu’est-ce qui t’a amené à étudier le sujet de l’évolution du web et ses conséquences ?

J’ai pris l’habitude d’essayer de prendre du recul pour mieux comprendre le monde qui m’entoure :
– essayer de sortir du prisme de mon point de vue personnel et me poser la question de l’ensemble des points de vue;
– comprendre les dynamiques des systèmes et envisager les conséquences qu’elles entraînent.

Dans l’informatique depuis une bonne vingtaine d’années maintenant, j’observe le web prendre une place de plus en plus grande. C’est donc un sujet d’analyse de premier choix d’autant qu’il peut me permettre d’envisager d’avoir une réponse à la question : est-ce que ce que je fais tous les jours participe à l’avènement de la société que je souhaite ?

Les besoins en termes de développement sont de plus en plus grands. Les temps de réalisation de plus en plus courts, certaines mises en production deviennent très médiatiques (Parcoursup, TousAntiCovid, etc …). Que penses-tu de cette tendance ?

Il me semble y avoir deux points dans cette question.

Premièrement, la question du temps accordé au développement. Pour moi cette tendance rejoint des tendances plus globales que sont l’utilisation du coût comme étant l’indicateur principal d’analyse, et la compétition généralisée. La conséquence assez logique étant l’objectif permanent de minimisation du coût, cela entraîne, au bout d’un moment, la diminution de la qualité et la frustration des développeurs ayant le soucis du travail bien fait.

Deuxièmement, la médiatisation des outils numériques, et notamment ceux visant à résoudre des problèmes de société (pour les cas de ParcourSup et TousAntiCovid) me semble participer à permettre à chacun·e d’avoir un avis plus éclairé sur des systèmes ayant un impact sur leur vie. Ça me semble indispensable, et il m’apparaît même nécessaire d’essayer de faire beaucoup mieux sur ce sujet.

Quel est ton meilleur souvenir du web des années 90 👼 ? (ou le pire 😈)

L’impression que me donnait le web des débuts était d’être un terrain d’expérimentation et de liberté avec un potentiel d’émancipation et de partage de savoirs incroyables. Aujourd’hui cet aspect me semble largement occulté par son utilisation commerciale mais j’apprécie lorsque je vois parfois apparaître dans mon navigateur des initiatives relevant de ces valeurs et de cette volonté.

Le speaker

Romain CLAIR
Romain CLAIR
Romain est formateur et consultant en informatique. Il a notamment fait des travaux de recherches dans le domaine de l'accessibilité des outils informatiques et l'aide à la création artistique.

Autres interviews

La parole est aux speakers : Loïc Caillieux

Jusqu’à l’AFUP Day 2021, 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

Le tooling maison au service de la cohésion d'équipe.

Quand j'ai démarré ma carrière dans une agence de communication, j'ai passé 3 jours à configurer un environnement debian afin de pouvoir commencer à coder en PHP.

Selon les parcours, les rencontres et le mode de transmission que vous avez connus, vous aurez avec vos collègue une approche plutôt "Juste débrouille-toi" - car tout•e dev est capable de faire ce qu'un•e autre dev a fait - ou "Saint-Bernard bienveillant•e" - car il y a un salut à expliquer ce que vous avez patiemment appris.

Et au milieu du quotidien des devs, il y a le tooling, les outils que vous mettez en place pour mieux travailler ensemble.

Dans cette conférence, nous allons voir comment le tooling est une solution pour faciliter la communication et le transfert de compétences dans une équipe et pourquoi il n'est pas nécessaire de savoir configurer un poste de travail de A à Z pour être un•e bon•ne développeur•euse.

Pour l'illustrer, je vous présenterai un POC d'un utilitaire maison développé avec Symfony : Gug.

Gug nous rend service jusque dans la création de stacks docker ou la préparation d'une préprod, et c'est bien du PHP 😉

Et Gug, c'est ton pote, alors tu peux lui demande ce que tu veux 😉

Toulouse
11/06/2021
17:05-17:45

Tu as été à l’initiative de la création de l’antenne AFUP Toulouse, il y a quelques années. En 2021, alors que tu as passé le relais à de nouveaux bénévoles pour animer l’antenne, l’AFUP Toulouse accueille sa première édition de l’événement : pas de regret de ne pas participer à son organisation ?

Merci de me rappeler le bon vieux temps où nous nous retrouvions à la Cantine, c’était pas si mal de se serrer comme des sardines dans cette petite salle 🙂
Alors pour être précis, l’antenne Afup Toulouse existait déjà, j’ai simplement contribué à la redynamiser, et c’était une super expérience, j’ai pu rencontrer des développeurs et développeuses passionnés et ouverts, et j’invite tous les devs qui veulent participer d’un réseau à se rapprocher de la team actuelle.
Ensuite, je crois beaucoup au renouvellement des équipes dans l’associatif, c’est d’ailleurs ce que fait l’AFUP au niveau national avec un changement de bureau annuel, cela amène de la fraîcheur et de nouvelles idées dans la dynamique des événements organisés.
C’est un réel plaisir de venir en tant que speaker sur l’AFUP Day 2021 et finalement de contribuer autrement à la communauté php-et-pas-que de Toulouse.
Big up à Romain et à toute l’équipe en place !

Pourquoi du tooling maison lorsque des solutions d’Infrastructure As Code existent (Ansible, Terraform, Packer, Vagrant, …) ?

Vagrant ? Connais pas 🤔…
Plus sérieusement, notre tooling maison est une expérimentation, et c’est un début de réponse à plusieurs années de (petites) frustrations, et très clairement un work-in-progress.
Déjà, nous ne cherchons pas à répondre qu’à des problématiques d’infrastructure. Le point majeur se résume par « à l’instant T, quelles sont les contraintes techniques que nos devs rencontrent pour aller plus rapidement sur du code créatif ? ».
Certaines de ces contraintes relèvent d’opérations répétitives et non automatisées, d’une compétence non acquise, ou d’un souhait d’avoir plus de confort au quotidien.
Le constat fort dans une équipe est que malgré la bonne volonté, ce qui est trop complexe n’est pas pris en main et finit par des approches différentes d’un·e dev à un·e autre, avec une grosse perte de savoir à la clé.
L’autre constat, c’est que s’il faut connaître toutes les technos du moment pour mettre un hello world en ligne, c’est bien dommage, on est alors – ami·e junior·e, je pense à toi – très dépendant pour voir sa créativité s’exprimer.
Le tooling maison présente l’avantage de faire ce que vous voulez, et d’abstraire certaines opérations manuelles parfois fastidieuses. Mais il permet aussi d’expliquer ces actions et de les remettre en question.
Donc au final c’est une approche qui vient compléter d’autres outils de qualité industrielle, et fournir des facilités pour comprendre et faire évoluer les habitudes de l’entreprise.

Emagma est localisée dans l’Ariège. Quels peuvent être les avantages et inconvénients d’être loin de la métropole toulousaine ? Est-ce que la situation sanitaire actuelle a eu un impact particulier sur votre petite équipe ?

Pour les avantages, c’est aux toulousains de me les dire, je les vois tous les week-ends à la montagne 😉
Blague à part, j’ai vécu 5 ans à Toulouse et c’était bonheur, mais j’ai choisi l’Ariège pour m’installer et j’y ai naturellement développé Emagma.
Il paraît que la qualité de vie y est excellente, je laisse chacun juger, mais je m’estime chanceux d’avoir été confiné dans ce cadre-là, le bien-vivre chez soi a de l’avenir.
Sur la dizaine de personnes qui compose l’équipe, nous avons des collègues qui sont dans le 31, c’est-à-dire suffisamment loin pour que nous prenions un coworking à Auterive.
Le télétravail était présent mais négligeable et le covid nous a imposé de finir une transformation : l’entreprise est remote-first, le télétravail est la norme, avec un principe simple : celles et ceux qui veulent venir au bureau le peuvent, notamment pour garder un lien social qu’aucun outil de visio ne remplacera.
Pour pallier la surdose de distanciel, nous organisons plus de journées d’équipe et c’est aussi dans ce contexte que notre projet interne trouve un sens particulier.
L’impact sur notre petite équipe à terme, c’est donc de s’ouvrir à des développeurs et développeuses qui veulent rejoindre notre équipe grâce au remote tout en vivant là où ils le souhaitent.

Le speaker

Loïc CAILLIEUX
Loïc CAILLIEUX
Déjà développeur web quand Jacques C. n'était pas encore président, il a vu tous les Star Wars, tous les Harry Potter et tous les symfony. Aujourd'hui il est tech et dirigeant chez Emagma, une agence qui produit des projets sur mesure pour les acteurs à impact positif.

Autres interviews

La parole est aux speakers : Grégoire Pineau

Jusqu’à l’AFUP Day 2021, 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

Lock et Semaphore

Les situations de compétition ("race condition" en Anglais) sont un problème récurrent en informatique. Elles existent à tous les niveaux, depuis le noyau linux, jusqu'a votre application en passant par la base de données.

Elles se caractérisent par un résultat différent selon l'ordre dans lequel agissent les acteurs du système. Une situation de compétition peut survenir dès que plusieurs acteurs tentent d'accéder au même moment à une ressource partagée (fichier, ligne dans une base de données, etc.) et qu'au moins l'un d'entre eux est susceptible de modifier son état.

Des solutions existent depuis très longtemps pour pallier ces problèmes. Symfony a introduit le composant Lock dans sa version 3.4, puis le composant Semaphore dans sa version 5.2.

Cette conférence a pour objectif de vous fournir les bons outils pour éviter toutes race condition, en utilisant le composant Lock ou Semaphore en fonction des situations rencontrées.

Lille
28/05/2021
14:50-15:10

Tu as beaucoup contribué sur le code de Symfony, quelle est la contribution qui t’a le plus marqué ?

De mémoire, il n’y a pas une, mais deux contributions qui m’ont beaucoup marqué.

La première, c’est le composant Workflow. C’était, je pense, ma première grosse contribution en termes de volume de code. À l’époque, je travaillais chez SensioLabs et j’avais eu la chance d’avoir du temps pour réfléchir à la meilleure façon de faire cette nouvelle fonctionnalité. Grâce aux reviewers et à la communauté, nous avons réussi à avoir un design solide qui vieillit très bien. Nous avons pu continuer d’ajouter des nouvelles fonctionnalités sans avoir à changer l’existant. C’est très apprécié des utilisateurs, car ils n’ont pas besoin de mettre à jour leur code quand ils mettent à jour Symfony. Je remercie JoliCode au passage, mon nouvel employeur, de m’accorder du temps pour maintenir ce composant.

La deuxième, c’est l’ajout du «  »form theme » » pour Bootstrap (Twitter Bootstrap à l’époque). La contribution avait été assez difficile, non pas à cause de la difficulté technique, mais à cause de la gestion politique de la pull request. En effet, cette nouvelle fonctionnalité avait attiré énormément de commentateurs. Beaucoup étaient très excités, mais beaucoup étaient farouchement contre. Cependant, ces derniers pensaient qu’ajouter ce support signifiait 1/ fermer la porte aux autres framework CSS ; 2/ que Symfony allait inclure un framework CSS. J’avais dû faire preuve d’énormément de patience et de pédagogie pour expliquer qu’il n’y aurait aucun couplage entre Symfony et Bootstrap.

Travailles-tu en ce moment sur la sortie de futurs composants liés à Symfony ?

Pour le moment, je suis bien occupé sur des projets propriétaires, qui m’épanouissent intellectuellement. Je ressens moins le besoin d’aller m’évader dans des contributions open source.

Tu contribues énormément pour l’Open Source, au moment où nous écrivons cette question, tu as participé à pas moins de 9 projets ! Fais-tu cela sur ton temps libre uniquement, ou as-tu du temps dédié chez JoliCode ?

JoliCode accorde à tous les devs du temps pour contribuer à des projets open source. J’en profite bien évidemment 🙂 Cependant, il m’arrive aussi de contribuer de chez moi, je suis toujours chez moi, COVID oblige, sur mon temps libre. Le temps que j’accorde à l’open source est très variable en fonction de la quantité de travail, et de ma motivation. Quoi qu’il arrive, j’essaie au maximum de garder le nombre d’issues et de pull requests le plus bas possible, pour les projets que je maintiens, pour ne pas me faire déborder.

La parole est aux speakers : Quentin Machard

Jusqu’à l’AFUP Day 2021, 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

Réconcilier le Back et le Front dans un projet Symfony

Qu'est-ce que le pattern Atomic Design et comment l'adapter sur un projet Symfony avec Twig ?

Ce talk a pour but de "réconcilier" le Front et le Back au travers du pattern Atomic Design.

Sommaire :

  • Présentation du pattern Atomic Design
  • En quoi est-il une solution aux "conflits" Front et Back dans un contexte PHP / Symfony
  • Comment l'appliquer efficacement sur Symfony, avec les outils en notre possession
Rennes
28/05/2021
09:20-09:40

À ton avis, dans quels cas un projet a-t-il besoin de scinder son équipe à la fois en back et en front ?

Je pense qu’il est important de pouvoir séparer tout projet en différentes stacks techniques. D’une part, être intégrateur est un métier à part entière, il faut savoir créer le rendu souhaité par l’UI/UX designer, tout en respectant les règles d’accessibilité et les bonnes pratiques de SEO. D’autre part, beaucoup de devs PHP n’ont tout simplement « pas envie de faire du CSS ».

Tu es un développeur qui fait du ReactJS et qui s’intéresse aux principes d’accessibilité. Ceux-ci peuvent-ils être facilement mis en place en React ?

Tout d’abord, l’accessibilité porte sur 3 « domaines » : le visuel, le fonctionnel et le rédactionnel. Il doit aussi être réfléchi dès le début du projet. React n’intervient que sur la partie « fonctionnelle ». Il n’empêche pas de bien structurer sémantiquement son code, d’étiqueter les formulaires, de gérer les interactions au clavier, de stopper les animations, etc… On peut même faire du « Server Side Rendering » pour les personnes ne souhaitant pas activer JavaScript, c’est peut-être le seul cas complexe de React. La communauté propose également quelques outils pour aider les devs à respecter les règles.

L’Atomic Design est un sujet qui fait beaucoup parler : as-tu pu remarquer des appréhensions particulières de la part de tes collègues designers à ce sujet ?

Je n’ai jamais remarqué de réticence. De plus en plus de designers pensent déjà leur designs de manière atomique, les logiciels de création se sont améliorés dans ce sens en proposant un système de bibliothèque de composants. Cependant, il y a souvent une incompréhension sur le livrable de ces designs. On pense souvent « maquette globale » à présenter aux clients et on exporte beaucoup moins la bibliothèque à destination des intégrateurs. Pourtant, si un intégrateur veut rendre son travail réutilisable et efficace, il va lui-même refaire le découpage des composants. L’intégrateur est pour moi la passerelle entre le designer et le développeur, la clé est la communication.

La parole est aux speakers : Jimmy Escrich

Jusqu’à l’AFUP Day 2021, 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

Le chat par interface et par email

Vous avez un système de chat avec notification par email ? Dans votre business, vous ne souhaitez pas faire passer les adresses emails entre vos clients ? Faites comme sur LeBonCoin, liez le chat au système de mail !

Dans ce talk, nous allons pouvoir comprendre comment ça marche, les tenants et aboutissants en terme d'infra et avoir une démo live du parsing par email.

Toulouse
11/06/2021
14:45-15:05

Les outils de communication professionnels sont très nombreux de nos jours. Quelle est encore la place de l’e-mail dans tout ça ?

Effectivement, ils sont nombreux. Entre les réseaux sociaux (je pense surtout à LinkedIn), les tchats (comme hangouts, ou des applications internes d’entreprise), les outils extérieurs (Slack, Discord) et les mails, les outils sont très nombreux. Cependant, on n’est jamais à l’abri de problèmes techniques sur la sauvegarde de ces données. La BDD qui perd l’historique à cause d’une erreur humaine ou logiciel, ou l’historique des messages qui est payant suivant les outils, l’email est beaucoup plus fiable dans ce cas. Je pense d’ailleurs, que contractuellement, il répond plus aux normes d’historiques. Je pense qu’il a encore une réelle place dans notre monde, et ce pour un moment.

Est-ce qu’une communication plus fluide avec ses clients ne serait pas un des points les plus importants mais pourtant souvent négligé et/ou sous-estimé ?

Une communication fluide est primordiale. Combien de fois en tant que prestataire, nous nous sommes retrouvés à devoir refaire une partie du développement parce que le client n’avait pas compris ce que nous faisions, ou que le besoin n’était pas explicite ? Qu’il ne pouvait pas nous faire des retours rapidement ? Le piège du dev c’est sa communication. Et plus particulièrement pour les freelances ! Le mail est fiable, mais trop de mails / historique cassent la fluidité des messages. Surtout quand on est désorganisé·e et qu’on répond à une question dont l’objet du mail ne correspond pas. Bref, pour une bonne communication fluide, il faut aussi et surtout une bonne organisation.

Tu as récemment rejoint Rue des Vignerons en tant que CTO, quelles sont les bonnes pratiques que tu as instaurées ?

Disons qu’il y avait pas mal de choses à revoir. Tout d’abord l’organisation projet. Il y avait des sprints d’une semaine, dont la recette était faite sur plusieurs sprints après, ce qui posait problème sur le process même de développement. Donc nouvelle organisation, nous somme passés sur des sprints de 2 semaines avec recette continue. Ensuite, la stabilité du code n’était pas vraiment au rendez-vous. Il n’y avait que des tests End-to-End avec Behat sur une stack symfony qui prenaient plus de 2 heures ! Nous avons changé le process avec des tests unitaires/fonctionnels/end-to-end sur une stack pure PHP, et nous avons mis en place les outils de qualité de code (phpmd/phpcs/phpstan). Enfin, le process de PR sur GitHub, de reviews de code ont été implémentés à mon arrivée. Maintenant nous somme stabilisés, avec PHP8 en plus, il nous reste à mettre du cloud et l’intégrer à nos PR pour être au mieux de notre process !