By communication

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 !

La parole est aux speakers : Quentin Barloy

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

Migration vers K8S, commençons les travaux !

Sortez vos casques, nous allons faire un tour sur ce chantier en cours qu'est la migration des applications Arte vers Kubernetes. Avant d'avoir des applications scalables et résilientes, un chantier d'infrastructure est nécessaire. Cependant, pour sortir d'un hébergement classique et entrer dans l'univers Kubernetes, nous devons nous poser les bonnes questions : quels en seront les avantages et inconvénients ? Est-ce que ce changement est vraiment nécessaire ? Quelles sont les étapes à suivre afin d'y parvenir ? Ce sont ces questions auxquelles nous avons tenté de répondre, afin de nous préparer au mieux à cette migration.

Lille
28/05/2021
11:20-12:00

Pourquoi avoir choisi Kubernetes comme orchestrateur de conteneurs ? Quels sont ses avantages par rapport à Docker Swarm, par exemple ?

Kubernetes est rapidement devenu une référence en termes d’orchestration de conteneur. Initialement, Google avait créé une solution nommée Borg, permettant de répondre à leurs besoins internes. Ce projet avait pour but de gérer de nombreuses applications au sein d’un cluster de machines gérant l’isolation des processus ainsi que la haute disponibilité de ces applications. L’utilisation des conteneurs mêlés aux technologies utilisées par Borg a été le point de départ du projet Kubernetes.
Docker Swarm de son côté est la solution créée par Docker afin de rapidement déployer des conteneurs en production au sein d’un cluster. Cette solution a l’avantage de se prendre en main facilement et permet, à l’instar de Kubernetes, d’avoir un système résilient et scalable.
Kubernetes a l’avantage d’avoir une gestion fine du scaling, permettant notamment d’augmenter ou de réduire les ressources allouées à une application en fonction du trafic de celle-ci. Grâce à des addons, il est également possible d’avoir une gestion dynamique de nom de domaines afin de créer des environnements applicatifs isolés. De manière générale, la gestion des ressources et du networking peut être gérée de manière plus fine dans Kubernetes. De plus cet orchestrateur est totalement indépendant du système de conteneurisation utilisé. Son principal défaut est d’avoir une complexité et des notions qui lui sont propres, mais ces dernières lui donnent l’avantage d’être pleinement configurable pour n’importe quel besoin.

Comment t’es-tu formé à Kubernetes ? Que conseillerais-tu aux personnes qui souhaitent apprendre ?

Afin de comprendre au mieux Kubernetes, il est avant tout important de comprendre les bases de la conteneurisation. C’est pourquoi j’ai tout d’abord approfondi mes connaissances Docker sur la création et la communication entre les conteneurs. Le vocabulaire lié à Kubernetes est très riche, mais heureusement pour nous, la documentation l’est également. Un tutoriel officiel est disponible ici, il permet de comprendre toutes les notions de bases liées au déploiement d’applications conteneurisées. Les solutions telles que Minikube ou Kind permettent de pouvoir expérimenter localement l’utilisation de Kubernetes et ainsi pouvoir se préparer au mieux pour le déploiement en production de vos applications. Le projet est open source et possède une large communauté (+ de 3000 contributeurs !), les articles parlant de nombreux cas d’utilisations sont donc très nombreux, ils sont source d’inspiration pour répondre au mieux à vos besoins.

Tu vas donner ta première conférence dans le cadre d’un événement AFUP. Qu’est-ce qui t’as donné envie de répondre au CFP ?

Je participe aux événements AFUP en tant que spectateur depuis maintenant quelques années et les sujets présentés ont pu largement contribuer à mes connaissances dans le développement. C’est pourquoi aujourd’hui, je tenais à mon tour à partager mes connaissances, en faisant un retour d’expérience sur les sujets techniques qui m’ont passionnés.
De plus, faire une conférence afin de présenter le résultat d’un travail est une sorte de défi personnel me permettant de surpasser l’appréhension que je peux avoir de parler à parler face à un auditoire. C’est une première pour moi, et j’espère pouvoir être utile aux personnes intéressées par le sujet présenté.

La parole est aux speakers : Magali Milbergue

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

Du social à la tech : retour sur 2 ans de transition.

Retour d'expérience sur les deux premières années d'une développeuse web au profil atypique.

Durant cette conférence j'aimerais raconter mon parcours de reconversion du social à la tech en pointant du doigt les challenges (la formation en accéléré, s'adapter à un métier technique...), les problèmes (le gatekeeping, le sexisme, ...) mais aussi les choses positives (les rencontres, l'accueil de certaines personnes, le soutien...) que j'ai rencontrés durant ces deux ans pleins de rebondissements.

En partageant mon parcours et échangeant avec le public, j'espère que des pistes de réflexions sur comment rendre notre industrie plus inclusive pourront émerger.

Rennes
28/05/2021
14:00-14:20

Magali, qu’est ce qui t’as amenée à faire une reconversion professionnelle ?

J’étais dans le social depuis plus ou moins une dizaine d’années et j’avais de plus en plus de mal à trouver de la satisfaction dans le métier que je faisais. Plus le temps passait, moins on avait les moyens de faire quoi que ce soit de positif. Sur mon dernier poste, j’ai même rencontré plusieurs situations où on faisait du mal aux personnes qu’on accompagnait (faute de moyens) et ça pour moi c’était impossible à accepter. J’ai subi un licenciement économique et c’était la première fois depuis longtemps que je pouvais me poser un peu et réfléchir à où j’allais professionnellement. J’ai réalisé que le travail social, celui auquel j’avais accès en tout cas, ne me convenait plus. J’ai donc décidé de faire une reconversion. Grâce au licenciement économique j’avais la possibilité de faire tout un parcours de bilan d’expérience. J’avais déjà l’idée de repartir vers le développement web (ce que je voulais faire au lycée mais ce pourquoi on m’a découragée) et quand j’ai vu qu’il y avait des formations qui rentraient dans la limite de temps que j’avais, et que c’était un secteur qui embauchait beaucoup, j’ai décidé de tester un ou deux cours en ligne pour voir si ça m’amusait… Et ça m’a convaincue de partir dans cette direction.

Entre les formations en ligne qui fleurissent un peu partout, les écoles qui promettent des formations en quelques mois, il peut être difficile de savoir comment engager une reconversion vers la tech : que conseillerais-tu à une personne qui a envie de changer de métier pour rejoindre notre milieu professionnel ?

Outre la question du choix de la formation qui est très compliquée (surtout quand on voit l’offre qui s’agrandit chaque jour), et pour laquelle je n’ai pas vraiment de réponse à part faire des recherches intensives, définir ses critères de sélection (durée, coût, lieux, diplôme à la sortie…), je conseillerais de contacter des personnes qui sont passées par ces formations. Et pas seulement celleux qui ont un super boulot maintenant, mais aussi celleux qui n’ont jamais vraiment été dans l’industrie ensuite, celleux qui n’ont pas eu les diplômes, celleux qui ont arrêté avant la fin… Parce que les écoles vendent une vision très positive : « vous allez travailler très dur mais ensuite vous accédez à des postes super intéressants qui paient super bien ». C’est loin d’être l’expérience de la plupart de mes collègues de formation. Même moi qui suis une « sortie positive » (j’ai eu le titre, j’ai enchaîné tout de suite sur un CDI…), c’est loin d’être la belle vie qu’on m’avait vendue (à laquelle heureusement je ne croyais pas, grâce aux recherches que j’avais faites avant…). Je pense que contacter des personnes qui ont fait ces reconversions permettrait d’avoir une vision plus juste de la difficulté de la formation, mais aussi de ce à quoi on peut s’attendre à la sortie. D’autant plus qu’avec la crise liée au COVID j’ai l’impression que les places pour les juniors débutants se font encore plus rares.

Il y a peu de femmes dans le monde de la tech, est-ce un problème pour toi ?

Bien sûr. Je vais honnêtement avoir beaucoup de mal à résumer ma réponse en quelques lignes pour cette question. C’est hyper problématique pour plein de raisons et je ne vais jamais réussir à évoquer toutes ces raisons. Mais si on prend ça juste du point de vue de la « santé » de l’industrie, cet entre-soi masculin ne peut qu’être négatif. La technologie est dans notre quotidien à présent et est utilisée dans la sécurité, par le gouvernement, dans l’administratif, par la justice… Et on sait que les biais des développeurs se retrouvent dans les technologies qu’ils construisent. Alors forcément, on se retrouve avec des technologies qui prennent l’homme (petit h) comme point de référence, comme neutre, et les femmes se retrouvent avec des technologies pas adaptées à elles (le livre Invisible Women de Caroline Criado Pérez explique très bien les problèmes que ça entraîne). Il y a d’ailleurs le même problème avec la prédominance des personnes blanches dans la tech, c’est comme ça que Google (il me semble) se rend compte que sa voiture auto-conduite ne reconnaît pas les personnes noires. Sans diversité, on ne peut pas créer des technologies inclusives à tous-tes. Par ailleurs bien évidemment, il y a un vrai problème de sexisme dans la tech. Il y a du sexisme partout, je n’y ai évidemment pas échappé dans ma première carrière. Mais dans la tech c’est impossible de passer à côté. On est obligées d’apprendre à s’armer contre à chaque étape de notre carrière. De la formation au CDI, en passant par la recherche d’emploi, à chaque étape j’ai dû justifier le fait que j’étais une femme, en plus de tout le reste de mon parcours. On m’a posé des questions discriminantes en entretien, on m’a fait comprendre que je n’avais pas ma place, on a essayé de me forcer à aller vers le front à tout prix (alors que le back est ce qui m’intéresse), on m’a fait des réflexions déplacées, on n’a pas écouté mes idées, on m’a expliqué mes idées à moi-même comme si elles n’étaient pas les miennes, on a considéré que faire le café était mon rôle… Tout ce sexisme ne disparaîtra pas magiquement si on arrive à faire entrer plus de femmes dans la tech. Mais des équipes plus diverses permettraient d’éviter cette appropriation de tout l’espace par un groupe qui finit par traiter toutes les personnes différentes comme des intruses.

La parole est aux speakers : Vincent Toullec

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

Drupal Headless & Front VueJS

La but de cette présentation est de montrer comment utiliser Drupal en mode Headless (API), grâce à son module JSONAPI.

La démonstration inclut :

  • Une introduction au CMS Drupal
  • La présentation du module JSONAPI et des critères de sélection/tri de contenu
  • L'utilisation d'une application Front en VueJS, qui viendra consommer les contenus de Drupal pour alimenter les contenus en Front.
  • La démonstration de l'alimentation de l'application VueJS en contenu, avec des critères de filtrage.

Les points suivants restent à être approndis, pour en faire une démonstration

  • Formulaire de connexion à Drupal, en mode REST.
  • La création de contenus Drupal, via l'application VueJS

La conférence n'inclut pas la présentation de l'installation de Drupal et de VueJS.

Tours
11/06/2021
15:10-15:50

Toi qui es un grand fan de Symfony, comment en es-tu venu à faire du Drupal ?

Ma première expérience sur Drupal s’est faite par le biais d’APSIDE, dans le cadre d’un nouveau projet pour un grand groupe de prestation de déménagement.

En théorie, mon profil de développeur Symfony devait être un atout pour aborder ce CMS. Il s’est avéré que prendre en main un CMS, même s’il est basé sur un framework, n’est pas chose facile.

Beaucoup de concepts théoriques doivent être maîtrisés avant de pouvoir exploiter correctement Drupal, et surtout éviter de réinventer la roue, ou s’orienter vers une solution sans avoir pris en compte les concepts propres au CMS.

Le client fait souvent le choix du CMS au détriment des frameworks. Qu’en penses-tu ?

Dans l’absolu, ce n’est pas une mauvaise idée, les clients ont fini par comprendre qu’ils auraient plus de liberté dans la rédaction de contenus avec un CMS qu’avec un framework.

Grâce aux nombreux plugins communautaires, on trouve rapidement ce qui conviendra aux rédacteurs et rédactrices de contenus, sans besoin de développements spécifiques.

Cependant, cet atout des CMS se heurte aux besoins particuliers des clients.

Par exemple, le client pourrait demander l’implémentation d’un calendrier de rendez-vous, mais devant répondre à des contraintes métiers. Dans ce genre de cas, même si un plugin communautaire aurait pu faire l’affaire, les devs vont certainement devoir développer un plugin from scratch pour avoir la totale maîtrise des fonctionnalités et contraintes de ce calendrier.

Les développeurs ou développeuses doivent alors être force de proposition et évaluer la proportion / le nombre de contenus à rédiger VS nombre de fonctionnalités.

Dans le cas d’un client qui veut rédiger énormément de contenu, le CMS suffira, avec peut-être quelques widgets à développer.

Pour un site web qui comporte une majorité de widgets dans des pages avec un contenu simple (titre / intro / contenu / image), un framework suffirait amplement.

Mon analyse est fortement influencée par mon expérience sur Drupal. Donc un CMS, bien exploité, ne sera pas forcément un frein pour les devs.

Malheureusement le client peut toujours avoir le dernier mot sur le choix du type de techno.

Trouves-tu que le mode « Headless » est un bon atout pour les CMS ?

Des nouveaux frameworks Front End voient souvent le jour, simplifiant de plus en plus la création d’interfaces graphiques dynamiques, ce qui est souvent plus complexe à faire avec des CMS.

Le couple CMS Headless et Front End JS (ou autre que JS) est très intéressant dans le sens où la logique métier va être isolée dans le front, et la rédaction de contenu ou les éléments de configuration seront stockés côté CMS.

Partant de là, on peut imaginer beaucoup de cas pratiques en front : une application mobile hybride, un framework qui consomme des éléments de configuration ou du contenu, ou plusieurs plateformes qui consomment la même instance de CMS.

Les plugins communautaires permettent de couvrir les aspects sécurité, l’authentification ou le format d’export des données.

Dans le cas de Drupal j’ai pu testé différents modes Headless :
– Natif : grâce au plugin JSONAPI
– Personnalisé : via un plugin custom qui construit le flux JSON selon mes besoins
– Views : C’est un plugin natif Drupal qui permet de mettre à disposition des flux de données, configurables via le Back-End. On peut d’ailleurs y plugger un module d’authentification  par clé d’API.

Je pense que le mode Headless est le futur des CMS, car la couche Front-End des CMS ne me paraît pas assez flexible.

La parole est aux speakers : Frederic Blanc

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

L'architecture hexagonale ... concrètement

Souvent présentée comme une bonne organisation du code et surtout permettant de limiter les dépendances, l'architecture hexagonale a fait ses preuves... Mais il y a peu d'exemples concrets et simples, concentrés uniquement sur cette architecture. Remédions à cela !

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

Tu as travaillé pendant pas mal d’années sur des missions pour des clients finaux, tu as ensuite changé pour être développeur sur des outils propres aux entreprises dans lesquelles tu as été. Quelles différences as-tu remarqué au quotidien entre ces deux types de positions ?

L’avantage des ESN est qu’on peut toucher à beaucoup de sujets variés : chaque nouveau client, voire chaque nouvelle mission, apporte un contexte différent, que ce soit côté métier mais aussi côté technique. Même lorsqu’on est spécialisé (en backend PHP par exemple), l’environnement technique peut être complètement différent entre deux missions. On a alors la possibilité de découvrir de nombreuses architectures logicielles ou d’infrastructures qui gravitent autour de nous. Enfin et surtout, côté métier, cela permet de toucher à de nombreux sujets différents et de domaines des utilisateurs finaux.

À l’inverse, lorsqu’on travaille directement pour l’entreprise qui nous emploie, les gros avantages sont à la fois l’accumulation des connaissances dans le (ou les) domaine(s) de l’entreprise, qui rend très pertinent dans les propositions de fonctionnalités… mais également la possibilité d’éprouver, à beaucoup plus long terme, les solutions techniques mises en place.

J’ai beaucoup aimé les deux positions. Ceci dit, je me sens mieux dans ma position actuelle, également car le sentiment d’appartenance est plus important. Par exemple, quand je vais à un afterwork avec « ma » boite, j’y retrouve les gens que je croise dans la journée… et pas des personnes que je n’ai jamais vues car sur des missions différentes.

On peut lire sur ta biographie que tu es passionné notamment par l’agilité, peux-tu nous en dire plus ?

Pendant très longtemps j’ai travaillé en cycle en V. Je trouvais cette méthode très robuste et quand Scrum m’est tombé dessus, je n’étais pas convaincu du tout…

Mais en le pratiquant, j’ai trouvé ça en adéquation avec ma façon de penser, et surtout cela permet de multiplier un des aspects qui me plaît dans mon travail : échanger avec les utilisateurs, comprendre leurs problématiques, pour obtenir l’outil qui leur sera le plus utile. Car en agilité, on ne le fait plus seulement avant un projet mais pendant toute la durée de vie de l’application.

J’ai énormément lu sur le sujet : bouquins, articles, etc. Ça a été une prise de conscience que pour être un bon développeur, la méthode de travail et la connaissance du métier sont aussi importantes que les compétences techniques. Et j’ai particulièrement apprécié Scrum, pour le cadre, ainsi que les bonnes pratiques qu’il apporte quand il est bien appliqué.

Enfin, je me suis intéressé aux auteurs du manifeste Agile… Avec leurs articles, vidéos, livres et blogs, j’ai découvert énormément de concepts de développement : SOLID, Clean code, refactoring, TDD… et l’architecture hexagonale 😉

Bref, l’agilité a changé ma manière de travailler mais m’a aussi permis de faire un grand bon en avant d’un point de vue technique.

On peut voir également sur ta bio que tu as découvert PHP pour le développement d’un jeu en ligne. Était-ce de manière totalement autodidacte sur un projet personnel, ou dans un cadre professionnel ?

Totalement autodidacte ! J’ai créé le jeu pour quelques collègues et amis. En découvrant tout un écosystème de jeux du même genre (les PBEM pour celles et ceux qui connaissent), j’ai voulu donner plus d’ampleur au projet en le mettant en ligne. J’ai commencé par créer un site web pour avoir des outils autour du jeu (forum, chat, règles, messagerie…) puis j’ai totalement réécrit le jeu en PHP pour qu’il puisse tourner directement sur le serveur.

Une des grandes problématiques était que je n’avais pas énormément de moyens : il a fallu optimiser au maximum pour pouvoir rester sur un mutualisé le moins cher possible :p

Et c’est grâce à l’expérience apportée par ce jeu que j’ai ensuite complètement plongé dans le développement web d’un point de vue professionnel.