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 !
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.
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é.
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.
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 !
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 :
La documentation pour les autres c'est bien mais comment la maintenir à jour ? Comment la vérifier ? Comment être efficace ?
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.
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.
Mais cette modification ne suffit pas à couvrir tous les cas où des données sensibles doivent être supprimées des logs.
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.
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.
Après plus d’un an de travail acharné, API Platform 3 est enfin disponible en version alpha ! Venez discuter du projet avec des mainteneurs et des contributeurs : @s0yuka @_alanpoulain @matarld @dunglas et bien d’autres. #TwitterSpaces #PHP #JS https://t.co/mzpcJyhgt8
— Les-Tilleuls.coop (@coopTilleuls) April 20, 2022
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
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.
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é !
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.
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 !
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 !
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é.
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
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.
Retrouvez tous les meetups sur notre page dédiée à l'activité des antennes.
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.
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 !
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é.
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.
Envoyez un email avec l'URL du site et du flux à planetephpfr AT afup POINT org
Gestion