Tous les meetups proposeront un renouvellement des équipes locales. Le programme n'est pas encore connu pour toutes les villes, mais au minimum, vous pouvez déjà bloquez la date et vous abonner à leur page Meetup pour ne rien manquer de leurs annonces !
Les élections dans les antennes AFUP permettent à la communauté locale de désigner ses représentant.e.s en charge d'organiser des meetups et apéros PHP à l'année au nom de l'antenne AFUP locale. Les élections permettent ainsi le bon renouvellement des bénévoles, visant ainsi la pérennité de l'antenne, tout en offrant aux personnes intéressées un moment de prédilection pour rejoindre l'équipe. Retrouvez tous les détails sur notre page dédiée aux élections dans les antennes..
Nous comptons sur vous pour venir en nombre à ces soirées de juin : votre présence est aussi un soutien pour les équipes qui se démènent à l'année près de chez vous pour vous aider à progresser et à échanger !
Si vous nous lisez régulièrement ici, vous le savez, nous ne ratons quasiment jamais une conférence AFUP. Ce printemps ne déroge pas à la règle, nous étions à Lille pour l'AFUP Day 2023 dans un lieu aux allures de château anglais dans lequel on enseignerait la magie. Et c'était presque ça, puisque nous avons assisté, entre autres, à une démonstration de code PHP exécuté directement dans le navigateur ! ?♂️ Voici donc un résumé des conférences qui nous ont marquées.
La journée de conférences a démarré avec une présentation de Grégoire dans laquelle il explique comment stocker des données JSON dans une base de données SQL tout en conservant du typage côté PHP.
Son but était de stocker en base de données un système de bloc CMS, sans avoir recours à de l'héritage Doctrine et les nombreux problèmes qui vont avec (nombreux JOIN, nombreuses colonnes, etc). Le tout en gardant une DX optimale et en facilitant la création de nouveaux blocs.
Grégoire a évoqué plusieurs solutions potentielles pour répondre à la problématique en expliquant pourquoi chacune de ces solutions n’était pas optimale. Il a fini par détailler la solution qu'il a retenue et que nous utilisons sur plusieurs projets : créer directement un type custom Doctrine, étendant le type natif json. Plusieurs pièges sont à éviter, comme par exemple faire comprendre à l'Unit Of Work de Doctrine qu'un objet a bien été modifié.
Mais une fois tout en place, l'ajout d'un nouveau type bloc ne nécessite d'ajouter que la classe PHP correspondante, et aucune autre configuration ni migration. Cerise sur le gâteau, Grégoire nous a parlé d'autres contextes où cette solution peut s'avérer utile (préférences de notifications d'un utilisateur, configuration d'un produit, données de souscription Stripe, etc).
Il arrive parfois que dans nos métiers nous soyons amenés à intervenir sur des projets legacy non couverts par des tests, quels qu'ils soient. Lorsque se pose la question de la modernisation du code, ou de sa réécriture, nous devons nous assurer de ne pas casser les fonctionnalités existantes même en l'absence de tests.
C'est là qu'intervient l'Approval Testing. Charles nous a donc présenté cette technique de test qui consiste à comparer une sortie de référence (souvent un fichier texte pouvant contenir du texte brut, du JSON ou autre) avec ce que produit notre application legacy. La démonstration en live reposait sur une application permettant de participer au tirage au sort organisé par un hôtel afin de faire gagner des lots aux vacanciers selon plusieurs critères (jour, heure de la journée, âge du participant, etc). Dans les cas où certaines fonctionnalités ne produisent pas ou pas assez de contenu en sortie, Charles nous a montré comment tester astucieusement le contenu des logs de notre application.
Échanges, bienveillance, expérience, convivialité et bien sûr, PHP, sont les maîtres-mots du grand rassemblement de la communauté organisé par l'AFUP : ne manquez pas l'événement, prenez votre place pour le Forum PHP 2023 ! Le tarif Early Bird, proposé jusqu'à la publication du programme le 4 juillet (ou jusqu'à épuisement des stocks), est disponible. Et les places partent très vite !
Si vous avez déjà participé à l'événement, vous remarquerez peut-être une évolution de notre grille tarifaire : les raisons ayant motivé notre décision sont expliquées dans cet article. Merci de votre compréhension pour cette décision visant à palier à la situation économique que nous connaissons toutes et tous.
Tout le monde a quelque chose à partager ! Venez parler de votre métier, présentez vos outils, vos projets, vos réussites et vos échecs, faites découvrir à notre auditoire votre manière de travailler. Dites nous comment vous avez surmonté votre dernier défi technique, comment l’open source a contribué à votre dernier projet ou comment un outil a changé votre façon de développer.
Expliquez comment l’éco-conception, l’accessibilité ou la sécurité sont pris en charge dans votre équipe. Venez parler des dernières avancées de Symfony, ou nous parler des avantages que Lavarel présente à vos yeux. Qu'il s'agisse de présentations de 20 ou 40 minutes, en solo ou en duo, ou - nouveauté 2023 - sous la forme d'un atelier proposé en petit comité : répondez à notre appel à conférences avant le lundi 12 juin 2023, 23h59 !
Sponsoriser l’événement, c’est l'occasion de présenter vos outils, travailler votre marque employeur, permettre à vos équipes de s’améliorer, ou de rencontrer vos futur.e.s équipier.e.s. dans un cadre unique et des conditions optimales.
Sponsoriser, c’est aussi soutenir la communauté et permettre à l’AFUP de continuer à proposer un événement devenu incontournable chaque année à l’automne. C'est aussi vous assurer de pouvoir compter, au quotidien comme à l'avenir, sur l'association qui fédère la communauté. C’est montrer que PHP est un langage dynamique, en perpétuelle évolution, vivant et ce, pour longtemps. Demandez notre dossier de sponsoring !
Que vous soyez membre du public, speaker ou sponsor de l'événement, nous n'avons qu'une hâte : vous retrouvez pour deux jours d'échanges, d'apprentissages et de rencontres, dans une atmosphère propice à imaginer l'avenir de PHP.
L’inflation importante, que nous connaissons toutes et tous au quotidien sur un plan plus personnel, impacte fortement le budget de l’événement. Ainsi, tous les postes de dépenses ont rencontré des hausses de budgets allant de 5% (pour la location de salles) à près de 13% (pour la restauration, déjà premier poste de dépenses de l’événement). C’est ainsi une hausse moyenne de 10% du budget événementiel, qui se montait déjà à plus de 260 000€ en 2022.
Après le boom de la période post-COVID, où les entreprises en ont profité pour enfin retrouver le public en présentiel, 2023 s’annonce comme le contre-coup du sentiment d’euphorie connu en 2022. Notre campagne de sponsoring en est le reflet : après un très bon lancement fin 2022, nous avons actuellement signé à peine la moitié des sponsorings nécessaires pour couvrir nos dépenses. Quand on sait que les sociétés de notre milieu génèrent près de la moitié des recettes de l’événement, le manque de confiance en l’avenir impacte forcément notre trésorerie, mettant en danger le cycle de conférences.
La grille tarifaire en 3 temps que nous connaissons aujourd’hui (tarif early bird, tarif de croisière puis tarif late bird) a été introduite en 2017. De 2006 à 2017, la billetterie n’est pas organisée en fonction d’un calendrier et la fourchette de prix des billets ne bouge pas : le tarif membre AFUP est à 150€, le tarif non-membre est à 250€.
L’arrivée de la grille tarifaire en 3 temps au Forum PHP 2017 n’a que très peu modifié ces tarifs : ils évoluent de 150€ à 275€ en fonction de la période d’achat du billet et du statut d'adhésion de la personne. Le tarif Late Bird pour les personnes non-membres est le seul à sortir significativement de la fourchette de prix connue jusque-là, montant à 325€.
Les tarifs actés en 2017 n’évoluent pas lors des 2 éditions suivantes, les Forum PHP 2018 et 2019. Cependant, la stagnation de la fourchette des prix des billets fixée en 2006 finit par trouver ses limites près de 15 ans après son apparition. La recherche de lieux toujours plus confortables, la mise en place de services pour le bien-être de la communauté (captation, apéro communautaire, sous-titrage, animations…) et l’inflation annuelle imposent une revue des tarifs en 2019 en vue de l’édition 2020. La mise à jour de la grille tarifaire pour le Forum PHP 2020 respecte toujours la fourchette de tarifs allant de 150€ à 250€ maximum, mais à destination des membres AFUP uniquement.
La migration du code d’une application peut rapidement devenir une tâche complexe et stressante, mais avec une planification minutieuse et une bonne compréhension des étapes nécessaires, elle peut se dérouler en douceur.
Que vous soyez débutant·e ou plus expérimenté·e, nous vous proposons dans cet article quelques conseils pratiques pour réussir votre migration. Nous aborderons les problématiques les plus courantes à éviter, les meilleures pratiques à appliquer ainsi que les outils et techniques que vous pouvez utiliser pour faciliter ce processus.
La plupart des langages et frameworks sont découpés en versions avec des cycles de vie. Même si certaines versions peuvent être maintenues plus longtemps, on les appelle les LTS pour long-term support, elles finissent par être placées en fin de vie (on parle d’EOL pour end-of-life). Concrètement le code n’évoluera plus, il n’est pas maintenu, si une faille de sécurité est découverte, elle ne sera pas corrigée. On s’expose dès lors à des risques potentiels. Quelques exemple de cycle de vie :
Pour continuer sur les risques, il arrive que des failles de sécurité soient découvertes. Même si le danger peut être mitigé si la faille provient d’un composant inutilisé sur le projet, il est préférable de migrer vers la version corrigeant le problème de sécurité. S’agissant des outils populaires, les failles devraient être systématiquement déclarées en tant que CVE (Common Vulnerabilities and Exposures), afin d’être connues de tous. Des listes de vulnérabilités existent sur différents sites web mais regroupant l’ensemble des logiciels, langages ou paquets, il est souvent préférable de cibler les canaux des outils. Un exemple avec Symfony, une catégorie spécifique existe sur le blog pour communiquer sur les failles découvertes : https://symfony.com/blog/category/security-advisories.
Une dernière raison non négligeable est l’ajout d’évolutions. Aussi bien pour les solutions propriétaires que pour celles en open-source, il est commun d’améliorer le produit avec des fonctionnalités répondant à des besoins d’utilisateurs.
Quand il s’agit de faire des schémas d’architectures en projection ou en documentation, il y a pléthore d’outils disponibles, que ce soit en client lourd, web, SaaS… Et avec eux, une multitude de “templates”, presque propres à chaque outil, avec des problématiques de passage à l’échelle dès que l’on commence à avoir plusieurs contributeurs sur ces documents.
Aujourd’hui, je vais vous faire une présentation d’ARCHI, un outil de modélisation Open Source qui pour moi répond bien à ces problématiques.
Avant de parler de l’outil, parlons un peu d’urbanisation. En tant qu’architecte, notre préoccupation première est, à mon sens, faciliter la communication et le partage d’informations entre les différentes parties prenantes d’un projet, d’une équipe ou d’une entreprise, ce qui implique de trouver un langage commun. J’ai souvent cherché le bon compromis entre représentation technique et fonctionnelle sans trouver forcément chaussure à mon pied. Quand on ajoute la notion de pérennité à cette équation déjà complexe, cela devient impossible. Certain frameworks de modélisation sont trop orientés dev (à mon sens) comme C4 ou BPMN et ne sont pas facilement compréhensibles pour des personnes hors de la cible première.
Dans le cas de C4 que j’ai beaucoup utilisé, même s’il existe des éditeurs maintenant, le coté “implémentation” de la documentation limite très souvent l’utilisation par rapport à un draw.io ou solution équivalente.
À l’inverse, draw.io est un super outil mais n’offre pas beaucoup de cadre et, même avec des templates prédéfinis, vous aurez beaucoup de mal à avoir un rendu homogène entre les utilisateurs.
Voila déjà le premier point qui m’a séduit, ARCHI vient avec son framework, ArchiMate. C’est un standard technique de l’OpenGroup et aligné avec la norme TOGAF.
ArchiMate offre un langage commun pour décrire la construction et le fonctionnement des processus d'entreprise, des structures organisationnelles, des flux d'information, des systèmes informatiques et de l'infrastructure technique. On peut donc décrire une architecture sous plusieurs scopes, et faire des ponts entre les différentes vues d’architecture.
Les principaux concepts et éléments du langage ArchiMate sont présentés sous le nom d'ArchiMate Core Framework, qui se compose de trois “layers” et de trois “aspects”. Cela crée une matrice de combinaisons. Chaque couche à ses aspects “Passive Structure”, “Behavior” et “Active Structure”.
D'après Wikipedia :
L'agilité est devenue un choix populaire pour les entreprises qui cherchent à améliorer la flexibilité et l'efficacité de leur processus de développement de logiciels. Cependant, il existe une grande variété de méthodologies agiles différentes, et choisir la bonne pour votre projet et votre organisation peut être difficile. Dans cet article, nous allons examiner les différentes méthodologies agiles disponibles et comment choisir la bonne pour votre projet et votre entreprise.
L'approche SCRUM est une méthode agile de gestion de projet. Son objectif principal est d'améliorer la productivité de son équipe tout en permettant l'optimisation des produits grâce à des retours réguliers du marché. Cette méthodologie est l'une des plus populaires et des plus utilisées dans les projets de développement de logiciels. Scrum est basé sur des sprints, de courtes périodes de travail d'une durée de deux semaines à un mois, au cours desquelles une équipe de développement se concentre sur un objectif précis. Scrum utilise des réunions quotidiennes pour suivre l'avancement du projet et des réunions de sprint pour planifier et évaluer chaque sprint.
Suite à un questionnaire diffusé auprès des équipes d’Eleven Labs et des recherches, vous trouverez ci-dessous les avantages et inconvénients identifiés dans l’utilisation de la méthode SCRUM :
Un cadre simple et léger, le premier avantage relevé par Benjamin, coach et Scrum Master. Il nous indique que la méthode Scrum est facile à comprendre (16 pages de règles) et donne des responsabilités claires aux PO/SM/devs.
Une adaptabilité grâce au mode itératif qui permet de récolter des feedbacks en avance sur le projet et prendre en compte les retours. Ce qui permet un ajustement aux changements de besoins tout au long du projet. Rémi, Product Owner nous explique que ce cadre apporte “un environnement de travail propice à l'amélioration continue des membres de l'équipe et sa capacité à définir des objectifs alignés avec sa capacité”, mais aussi “l'adaptation au changement du fait de définir un objectif à chaque sprint”. De plus, une phase de recette est effectuée à chaque sprint, ce qui permet d’avoir une plateforme stable, potentiellement livrable et permet de pressentir de futures évolutions.
Une amélioration continue comme évoqué plus tôt, que se soit coté équipe qui augmente sa productivité et donc ajout de la valeur ajoutée à chaque sprint.
Une transparence, toutes les parties prenantes sont au courant de l’avancée du projet grâce à des instances définies (daily, démo) ainsi que les réalisations.
De la rapidité dans les livraisons, résultat tangible rapidement (MPV)
De la collaboration entre les membres de l'équipe en interne ainsi qu’avec les équipes externes, en mettant l'accent sur les interactions régulières entre les membres de l'équipe et la communication ouverte.
L'agilité est devenue un choix populaire pour les entreprises qui cherchent à améliorer la flexibilité et l'efficacité de leur processus de développement de logiciels. Cependant, il existe une grande variété de méthodologies agiles différentes, et choisir la bonne pour votre projet et votre organisation peut être difficile. Dans cet article, nous allons examiner les différentes méthodologies agiles disponibles et comment choisir la bonne pour votre projet et votre entreprise.
L'approche SCRUM est une méthode agile de gestion de projet. Son objectif principal est d'améliorer la productivité de son équipe tout en permettant l'optimisation des produits grâce à des retours réguliers du marché. Cette méthodologie est l'une des plus populaires et des plus utilisées dans les projets de développement de logiciels. Scrum est basé sur des sprints, de courtes périodes de travail d'une durée de deux semaines à un mois, au cours desquelles une équipe de développement se concentre sur un objectif précis. Scrum utilise des réunions quotidiennes pour suivre l'avancement du projet et des réunions de sprint pour planifier et évaluer chaque sprint.
Suite à un questionnaire diffusé auprès des équipes d’Eleven Labs et des recherches, vous trouverez ci-dessous les avantages et inconvénients identifiés dans l’utilisation de la méthode SCRUM :
Un cadre simple et léger, le premier avantage relevé par Benjamin, coach et Scrum Master. Il nous indique que la méthode Scrum est facile à comprendre (16 pages de règles) et donne des responsabilités claires aux PO/SM/devs.
Une adaptabilité grâce au mode itératif qui permet de récolter des feedbacks en avance sur le projet et prendre en compte les retours. Ce qui permet un ajustement aux changements de besoins tout au long du projet. Rémi, Product Owner nous explique que ce cadre apporte “un environnement de travail propice à l'amélioration continue des membres de l'équipe et sa capacité à définir des objectifs alignés avec sa capacité”, mais aussi “l'adaptation au changement du fait de définir un objectif à chaque sprint”. De plus, une phase de recette est effectuée à chaque sprint, ce qui permet d’avoir une plateforme stable, potentiellement livrable et permet de pressentir de futures évolutions.
Une amélioration continue comme évoqué plus tôt, que se soit coté équipe qui augmente sa productivité et donc ajout de la valeur ajoutée à chaque sprint.
Une transparence, toutes les parties prenantes sont au courant de l’avancée du projet grâce à des instances définies (daily, démo) ainsi que les réalisations.
De la rapidité dans les livraisons, résultat tangible rapidement (MPV)
De la collaboration entre les membres de l'équipe en interne ainsi qu’avec les équipes externes, en mettant l'accent sur les interactions régulières entre les membres de l'équipe et la communication ouverte.
Envoyez un email avec l'URL du site et du flux à planetephpfr AT afup POINT org
Gestion