AFUP Forum PHP 2023 Baromètre Planète PHP PUFA
planete-php.fr Articles Blogs Infos RSS Feed Atom Feed Twitter

Articles

En juin, élections au sein de nos antennes AFUP

AFUP 01/06/2023

Les dates des meetups à venir en juin


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 !


  • AFUP Bordeaux : meetup le jeudi 29 juin, plus d'infos à venir !

  • AFUP Hauts-de-France : meetup le mardi 13 juin chez Les-Tilleuls.coop.

  • AFUP Lorraine : meetup le jeudi 29 juin.

  • AFUP Lyon : meetup le jeudi 22 juin, plus d'infos à venir sous peu.

  • AFUP Nantes : meetup le mardi 27 juin, plus d'infos à venir.

  • AFUP Paris : meetup le mardi 20 juin chez Les Echos Le Parisien. Un talk, networking et élections des représentant.e.s de l'antenne sont au programme.

  • AFUP Poitiers : meetup le jeudi 22 juin chez Cobalt. L'équipe en place renouvelle en partie ses membres lors des élections, et vous propose ensuite un apéro jeu.

  • AFUP Toulouse : meetup le mardi 20 juin à la Cantine. 2 talks au programme : "Gros projet, petit équipe" par Kévin GONELLA & Stéphanie TRUMTEL et "Vos applications deviennent medium grâce à Laravel" de Romain GONÇALVES, et bien sûr organisation des élections.

  • AFUP Tours : meetup le jeudi 15 juin, plus d'infos à venir.


    Au sujet des élections dans les antennes


    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 !


Un ch'ti récap de l'AFUP Day 2023 à Lille

Jolicode 26/05/2023

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.


Doctrine, objet typé, et colonne JSON - Grégoire PINEAU


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).


Tester du legacy grâce à l'Approval testing - Charles DESNEUF


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.

Voir la suite

Utilisation des formulaires Symfony avec les propriétés typées PHP

Strangebuzz 20/05/2023
Dans cet article, nous voyons comment utiliser les formulaires Symfony avec des propriétés typées non-nullable PHP. Nous passons en revue les problèmes possibles et comment les prendre en charge.

Deuxième épisode de la saga du Forum PHP à Disneyland Paris

AFUP 15/05/2023



La billetterie est ouverte


É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.


Répondez à l'appel à conférences


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 !


Soutenez l'événement


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.

Voir la suite

Nouvelle grille de tarifs pour le Forum PHP 2023

AFUP 12/05/2023

Un contexte économique difficile


Une inflation qui impacte tous les budgets


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.


Le ralentissement en 2023 de l’économie au sein de notre milieu


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.


Des tarifs qui n’avaient pas suffisamment évolué depuis 2017… voire 2006 !


Des tarifs sans évolution notable pendant plus de 15 ans


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€.


Une augmentation actée en 2019 mise en place en 2022


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.

Voir la suite

Ce qu’il faut retenir pour réussir sa migration de code

Les-Tilleuls.coop 09/05/2023

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. 





Pourquoi faire une migration ?





Versions en fin de vie





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 : 





Problème de sécurité





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





Évolutions





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.

Voir la suite

Archi - L’outil de modélisation qui vous veut du bien

Eleven labs 03/05/2023

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.


Norme et Urbanisation


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.


ArchiMate Framework


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 :


Layer


  • La couche Business concerne les processus, services, fonctions et événements des unités commerciales. Cette couche "offre des produits et des services à des clients externes, qui sont réalisés dans l'organisation par des processus commerciaux exécutés par des acteurs et des rôles commerciaux".

Voir la suite

Optimiser la réussite de votre projet grâce au choix judicieux de votre framework agile : Comment choisir parmi Scrum, Kanban et Safe ?

Eleven labs 20/04/2023

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.


Scrum


Description


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 :


Avantages


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.

Voir la suite

Optimiser la réussite de votre projet grâce au choix judicieux de votre framework agile : Comment choisir parmi Scrum, Kanban et Safe ?

Eleven labs 20/04/2023

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.


Scrum


Description


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 :


Avantages


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.

Voir la suite

Protéger son application avec le composant Rate Limiter de Symfony

Mon-code.net 18/04/2023
Les attaques sur le web sont légions, mais certaines comme les brutes force ou les énumérations peuvent être facilement bloquées. Il y a plusieurs solutions pour ça, dans cet article je vais vous montrer comment le faire avec l'utilisation du composant Rate Limiter du framework Symfony.

Blogs

Infos

Ajouter une source ?

Envoyez un email avec l'URL du site et du flux à planetephpfr AT afup POINT org

Gestion

AFUP