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

Articles

Développeuses et développeurs PHP : rassemblement !

AFUP 20/05/2022



Le Forum PHP 2022 s'installe dans son nouveau quartier général !


L’AFUP vise toujours plus haut pour réunir sa communauté : après plusieurs années consécutives où le cycle de conférences a annoncé sold-out des semaines avant le jour J, il était temps de prendre nos quartiers dans un lieu plus grand pour accueillir un public toujours plus nombreux. Pour la 21ème édition du Forum PHP, en route vers notre nouveau QG, l’Hôtel New York - The Art of Marvel à Disneyland Paris, qui devrait ravir les fans de comics, du MCU, de Mickey… et tous les autres !


L'appel à conférences est ouvert, les votes du public aussi


Avis aux débutant-e-s comme aux pionnier-e-s de PHP 3, l’appel à conférences est lancé : venez nous parler de serverless, de qualité et de travail en équipe. Racontez-nous comment vous avez relevé ce challenge technique, ce que l’open source a apporté à votre dernier projet, ou comment cet outil a révolutionné votre façon d’appréhender votre développement. PHP natif, framework, retours d’expérience, sujets liés au management, à l’éco-conception ou à l’impact social de nos métiers : partagez avec notre public ce qui vous fait vibrer, pour les faire vibrer avec vous. Soumettez vos sujets avant le 20 juin, 23h59 : il n’y aura pas de prolongations !

Si l’envie de réveiller le/la suPHPer-héros qui sommeille en vous vous tente, mais que le challenge vous intimide, profitez du programme d’accompagnement des speakers qui met en relation les nouveaux profils avec des intervenant-e-s expérimenté-e-s.
Pas l’âme d’un·e conférencier-e ? Votez pour vos talks préférés : vos notes guident notre équipe sur les thématiques les plus attendues.


Enfin des progrès pour l'accès des personnes sourdes et malentendantes


Autre nouveauté de cette édition, le Forum PHP 2022 progresse sur le terrain de l’accueil des personnes sourdes et malentendantes grâce à notre prestataire, Le Messageur. Ainsi, toutes les conférences sont sous-titrées en temps réel, à la vitesse de la parole, dans un langage de qualité, avec une ponctuation adaptée. Les sous-titres sont diffusés sur l’écran géant de chaque amphithéâtre pour être lisibles de toutes et tous et depuis n’importe quel siège de la salle. De quoi accueillir dans de meilleures conditions notre public connaissant des problèmes de surdité.


Prenez votre place maintenant !


Toutes ces annonces vous ont donné envie de nous rejoindre ? La billetterie est ouverte au tarif Early Bird : prenez votre place dès maintenant, avant la publication du programme prévue début juillet.

Voir la suite

Nouveautés dans Symfony 6.1 : Notre coopérateur Mathias vous en dit plus !

Les-Tilleuls.coop 17/05/2022

Comme plusieurs de nos collaborateurs, Mathias Arlaud attribue du temps à l’open source. Récemment, il a apporté quelques contributions à Symfony. Vous pouvez les découvrir juste ici !





Nouveau dans Symfony 6.1 : Constructeurs de contexte de sérialiseur





Découvrez ici l’article original





Chaque fois que vous sérialisez et désérialisez des données, le sérialiseur de Symfony vous permet de lui fournir un certain contexte pour configurer le processus de sérialisation/désérialisation.





Ce contexte peut par exemple être utilisé pour sérialiser des dates dans un format spécial, pour ignorer certaines propriétés, pour utiliser un délimiteur CSV spécifique, […].





Le contexte est un simple tableau associatif qui associe une chaîne de caractères quelconque à une valeur :





Pour éviter les erreurs de frappe, vous pouvez utiliser les constantes exposées par chaque normalisateur/encodeur :





À partir de Symfony 6.1, vous serez en mesure de créer ce contexte de sérialisation en utilisant des constructeurs de contexte.





Ces constructeurs de contexte sont des objets qui abstraient le tableau associatif du contexte et fournissent à la place une interface fluide pour le construire.





Ainsi, en utilisant les context builders, il sera possible de créer un contexte de sérialisation tout en bénéficiant de l’autocomplétion, de la validation et de la documentation :





html>

Voir la suite

Comment avoir un manuel à jour ?

JB Nahan 16/05/2022

La documentation pour les autres c'est bien mais comment la maintenir à jour ? Comment la vérifier ? Comment être efficace ?


The post Comment avoir un manuel à jour ? first appeared on Jean-Baptiste Nahan.

Nouveauté de Caddy 2.5 : Expurger les données sensibles de vos logs

Les-Tilleuls.coop 04/05/2022

Caddy est l’étoile montante des serveurs web : rapide, facile à configurer, complet (génération et renouvellement automatique des certificats TLS, HTTP/3, cloud-native, rechargement à chaud de la configuration…) et sécurisé (écrit en Go et pas en C).





Grâce à son extensibilité inégalée, Caddy est une plateforme applicative de premier ordre, disposant d’un écosystème florissant !





Pour mieux saisir sa puissance, jetez un coup d’œil aux modules Mercure (capacités push) et Vulcain (API hypermédia pilotées par le client) auxquels j’ai contribué ! Caddy est également le serveur web utilisé dans la distribution API Platform et dans Symfony Docker.





Il y a quelques jours, après un an de travail, Matt Holt a publié Caddy 2.5 ! Cette nouvelle version contient quelques nouvelles fonctionnalités que j’ai contribué ou aidé à concevoir, améliorant la sécurité du système de logs.









Caviarder des en-têtes HTTP sensibles





Contrairement à la plupart des autres serveurs web, Caddy émet des logs structurés verbeux. Bien qu’il soit pratique de pouvoir inspecter et analyser chaque détail des messages HTTP, cela peut également être dangereux. Jusqu’à la version 2.5, tous les en-têtes HTTP étaient enregistrés lorsque la journalisation est activée, y compris les en-têtes sensibles.





Cela peut entraîner de graves problèmes de sécurité si le système qui traite et stocke les logs (ELK, Datadog…) n’est pas configuré correctement. Et ils ne le sont pas par défaut ! Même des entreprises telles que Facebook, Twitter et GitHub ont stocké des millions de mots de passe d’utilisateurs en clair en raison de mauvaises configurations similaires.





Dans la version 2.5, les en-têtes HTTP standard susceptibles de contenir des informations d’identification, tels que définis dans la spécification de fetch(), sont automatiquement expurgés. Ces en-têtes sont Cookie, Set-Cookie, Authorization et Proxy-Authorization.
Si vous avez malgré tout besoin d’enregistrer ces en-têtes, par exemple pendant une session de débogage, Francis Lavoie a ajouté une nouvelle option permettant de réactiver l’ancien comportement : log_credentials.





Des filtres supplémentaires !





Mais cette modification ne suffit pas à couvrir tous les cas où des données sensibles doivent être supprimées des logs.

Voir la suite

Nous sponsorisons l’AFUP Day 2022 à Lille !

Stéphane Hulard (CH Studio) 28/04/2022

Nous sommes très heureux d’annoncer que nous sponsorisons l’AFUP Day. Nous connaissons bien l’AFUP et nous sommes des habitués des derniers évènements que ce soit en tant que speaker ou participant. Cette année nous passons le cap, nous soutenons l’évènement en tant que sponsor. Patrick et moi serons présent à Lille le 20 mai, n’hésitez pas à venir nous rencontrer. N’oubliez pas que nous cherchons toujours à recruter ! Si vous êtes fan comme nous de la communauté PHP française…


L’article Nous sponsorisons l’AFUP Day 2022 à Lille ! est apparu en premier sur CH Studio - Incubateur d'innovation, conseil et accompagnement.


Nos podcasts sont en ligne !

Les-Tilleuls.coop 28/04/2022

Comme vous le savez peut-être, chaque vendredi (ou presque) depuis le début de cette année 2022, nous organisons des Twitter Space afin d’évoquer ensemble et de vive voix, différents sujets techniques d’actualité.





Cela se passe sur notre compte Twitter le vendredi à partir de 12h00, et ces moments sont souvent co-animés par Kévin Dunglas ainsi que d’autres coopérateur·rice·s. La semaine dernière par exemple, nous avons discuté d’Api Platform 3 avec Antoine Bluchet , Alan Poulain et Mathias Arlaud afin qu’ils présentent leurs dernières contributions et les nouveautés apportées par cette version. Mais les sujets abordés ne sont pas tous techniques, vous pouvez aussi retrouver des thèmes comme : la place des femmes dans l’IT, le modèle coopératif (en direct du congrès des Scop) ou encore le financement des logiciels libres.









Durant ces échanges, vous pouvez interagir et poser vos questions aux différent·e·s coopérateur.ice.s qui animent ce podcast en direct. 





Nous avons décidé d’enregistrer ces émissions afin de les regrouper sur une page dédiée de notre site internet. Nous sommes également présents sur toutes les plateformes d’écoute ! Vous pouvez dès aujourd’hui retrouver tous nos podcasts sur

Voir la suite

iLogic : associer une règle à un événement avec du code

Maxence Delannoy (Wiip) 13/04/2022

Pour associer une règle à un événement, il suffit donc de créer une iPropriété dans ce jeu avec le nom de la règle comme valeur. Par exemple pour déclencher la règle Ma règle lorsqu'un paramètre change, il faut utiliser le code iLogic suivant :



ThisDoc.Document.PropertySets("_iLogicEventsRules").Add("Ma règle", "AfterAnyParamChange0", 1000)


Il y a un nom d'iPropriété/un identifiant pour chaque événement.










































Evénement Nom iPropriété ID iPropriété
Nouveau document AfterDocNew 2600
Après l'ouverture du document AfterDocOpen 400
Avant l'enregistrement du document BeforeDocSave 700
Après l'enregistrement du document AfterDocSave 800
Fermer le document DocClose 500
Etat du modèle activé AfterModelStateActivated 2800
Modification paramètre modèle AfterAnyParamChange 1000
Modification paramètre utilisateur AfterAnyUserParamChange 3000
Modification iPropriété AfterAnyiPropertyChange 1600
Affichage/masquage fonction AfterFeatureSuppressionChange 2000
Modification géométrie pièce PartBodyChanged 1200
Modification matière AfterMaterialChange 1400

N'oubliez pas le suffixe numérique : 0 pour la première règle, 1 pour la deuxième... L'identifiant de l'iPropriété doit également être incrémenté : 1000 pour AfterAnyParamChange0, 1001 pour AfterAnyParamChange1



Pour les règles externes, il faut préfixer le nom de la règle avec file://. Si la règle n'est pas dans un des répertoires standard, il faut utiliser le chemin complet du fichier sans l'extension.



Si le document ne comporte encore aucun déclencheur ni aucune règle, il faut également signaler à iLogic qu'il doit surveiller le document. Pour cela il faut ajouter un document un objet de type DocumentInterest.



ThisDoc.Document.DocumentInterests.Add("{3BDD8D79-2179-4B11-8A5A-257B1C0263AC}", "iLogic", DocumentInterestTypeEnum.kInterested, 20090512, "")


{3BDD8D79-2179-4B11-8A5A-257B1C0263AC} c'est le GUID du complément iLogic, iLogic c'est le nom du DocumentInterest, 20090512 c'est un numéro de version.

Voir la suite

Derniers jours pour profiter du meilleur tarif à l'AFUP Day 2022 Lille

AFUP 11/04/2022

3 bonnes raisons liées à la programmation


N°1 : Le plaisir des conférences en live


Après 2 éditions de l'AFUP Day organisées en ligne, nous avons hâte d'écouter nos conférencier·e·s sur scène, de ressentir l'énergie de la salle, de rebondir en live aux questions posées par le public et d'entendre les applaudissements : en résumé, de vivre l'événement en compagnie de la communauté !


N°2 : À retrouver le 20 mai uniquement


PHP pur jus, management, retours d'expérience, e-commerce, notre sélection vise à répondre à toutes les attentes, tout en proposant des conférences pour la plupart inédites et que vous ne retrouverez pas sur notre chaîne YouTube. En effet, cette année pas de captation de conférences, contrairement à nos éditions organisées en ligne.


N°3 : Une journée pour booster sa motivation et sa créativité


Enfin, une journée de conférences en compagnie d'experts PHP, c'est l'assurance de retourner boosté·e sur ses projets, la tête remplie de nouvelles idées et de solutions à appliquer au quotidien. Progressez vitesse grand V grâce à notre sélection de conférences actuelles et pointues, proposées par des speakers au top de leur art, le tout pour 70€ la journée. Le tarif inclut l'accès à toutes les conférences, les collations lors des pauses et le déjeuner. Prenez votre place !


2 bonnes raisons liées à la communauté


N°1 : Retrouvez la communauté et les équipes AFUP


Après deux éditions tenues en ligne, l'équipe locale de l'AFUP Hauts-de-France comme l'équipe nationale de l'AFUP sont impatientes de retrouver la communauté lors de l'événement printanier de l'association : vous nous manquez !


N°2 : Allez à la rencontre des entreprises qui font vivre notre écosystème


Nous ne sommes pas les seuls à trépigner d'impatience : les entreprises de notre écosystème ont aussi hâte de vous retrouver. Allez à la rencontre de leurs équipes à l'heure des pauses, profitez des présentations de certaines d'entre elles lors de "coups de projecteurs" organisés à l'heure du midi et participez à leurs jeux-concours, avec de supers lots à la clé.


1 bonne raison liée à la destination


Hôtels, adresses touristiques ou gastronomiques, événements culturels, bons plans et suggestions de souvenirs à rapporter : les membres de l'équipe AFUP Hauts-de-France vous ont préparé un guide pratique pour partir à la découverte de leur ville.
Si vous ne reconnaissez pas les bâtiments qui illustrent notre communication, alors profitez de votre venue à l'AFUP Day 2022 Lille pour rester le temps du week-end !


Plus d'hésitation, il est temps de nous retrouver pour une journée d'apprentissages, d'échanges et de convivialité : prenez

Voir la suite

L'activité dans les antennes AFUP reprend, impliquez-vous !

AFUP 05/04/2022

Un retour en force des meetups en avril


L'activité redémarre et plusieurs antennes AFUP ont d'ores et déjà annoncés leurs activités pour le mois d'avril. Rien de prévu dans votre ville ? Un peu de patience, d'autres meetups seront dévoilés dans les prochains jours.


  • AFUP Aix-Marseille : meetup le jeudi 28 avril, plus d'infos sur le thème de la soirée sont à venir, restez à l'écoute en suivant leur page Meetup.

  • AFUP Hauts-de-France : meetup le mardi 5 avril à l'école Centrale (au pied du métro 4 cantons), avec Emmanuel Demey pour "L'accessibilité web, ou comment faire des applications web inclusives" et Vincent Vandenryse pour un sujet Git et workflow. Une soirée en partenariat avec LinkValue !

  • AFUP Poitiers : apéro PHP le mercredi 6 avril à Cobalt et discussion prévue sur la revue de code, avant de parler du programme des mois de mai, juin et septembre.

  • AFUP Rennes : apéro PHP le mardi 19 avril, au bar "Avec & co" ! On en profite pour vous informer que le rythme des RDV rennais change un peu : on passe désormais du 3ème mercredi du mois au 3ème mardi de chaque mois.

  • AFUP Tours : déjà 2 meetups annoncés ! Jeudi 21 avril, meetup avec Tristan Manzano "Sécurité et vulnérabilités Web" et jeudi 19 mai avec Christopher Maneu pour "D'un PC neuf à un poste de développement en moins d'une minute: Le secret de VS Code le mieux gardé". Merci au CEFIM pour l'accueil.

Retrouvez tous les meetups sur notre page dédiée à l'activité des antennes.


Les besoins des antennes AFUP


Certaines antennes expriment certains besoins en vue de la reprise des activités, besoins que vous pourrez peut-être combler. Contactez-les sur Twitter ou écrivez-nous, nous ferons suivre.


  • AFUP Hauts-de-France : l'équipe recherche des speakers, de préférence locaux : lancez-vous lors d'un meetup auprès d'une équipe expérimentée et d'une audience bienveillante.

  • AFUP Lyon : l'équipe reprend ses activités, avec un AFUP Day 2023 dans le viseur ! En attendant, ils attendent vos propositions de talks pour relancer leurs meetups, pensez à leur appel à conférences toujours ouvert, idéal pour tester son sujet.

  • AFUP Nantes : après une période d'hibernation suite à l'AFUP Day 2020 Nantes, l'équipe revient à son tour et recherche des speakers pour ses meetups des prochains mois.

Voir la suite

NestJS : le cycle de vie d'une requête

Eleven labs 29/03/2022

Bienvenue dans cet article ayant pour but de faire un tour d’horizon du cycle de vie d’une requête puis d’une réponse dans un environnement NestJS !







NestJS logoNestJS Framework





Le but ici sera de donner une représentation précise de chaque étape que peut rencontrer une requête, dans l’ordre, et avec des exemples. Une fois lu une première fois, gardez cet article dans un coin, à la manière d’un pense-bête.
Ainsi, en cas de confusion ou d’esprit embrumé le lendemain d’un jeudi soir un peu arrosé, il sera votre meilleur allié pour que votre gueule de bois passe inaperçue.



Voilà d’ailleurs un sommaire pour retrouver rapidement la partie qui vous intéresse :




Note


Vous pouvez être totalement débutant en NestJS et quand même lire cet article. C’est peut-être même recommandé.




Cycle de vie : vue globale


Rien de tel qu’un schéma que je vous ai concocté pour entrer dans le vif du sujet. Je vous laisse vous en imprégner.






Note


Il s’agit d’un parcours plutôt exhaustif d’une requête, mais la seule étape réellement essentielle ici est le Controller. Il a pour rôle de recevoir votre requête, la traiter, et renvoyer une réponse. Tout le reste est facultatif.




Comme vous pouvez le constater, une requête, avant d’arriver au Controller, peut passer par 4 premières couches qui sont dans l’ordre : Middleware -> Guard -> Interceptor -> Pipe.
Puis, libre à votre Controller d’appeler tout Service (où par convention repose votre logique métier) ou Repository (pour les appels à la base de données) pour traiter la requête.
Enfin, le Controller renverra une réponse qui, comme vous le constatez, peut à nouveau passer par un Interceptor, puis par les Exception Filters.

Voir la suite

Blogs

Infos

Ajouter une source ?

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

Gestion

AFUP