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

Articles

Supprimer Webpack, … de vos projets Symfony ?

Code Design 01/02/2023

J’ai personnellement beaucoup de mal avec les outils Node.JS comme Webpack, Grunt, Gulp, Yarn, NPM, etc. Ils peuvent être nécessaire pour une application front (Angular, React, VueJS, etc) mais sont parfois inutiles pour des applications web PHP classique (Ex : Symfony + Twig).





Au-delà de leur utilité discutable, l’écosystème Node.js évolue rapidement. A chaque fois que vous revenez sur un projet, après quelques mois, vous devez consacrer du temps à mettre à jour les outils devenus obsolètes.





De plus, les configurations de ces outils sont rarement maîtrisées (?Webpack) et une fois qu’une configuration est en place, rares sont les développeurs et développeuses qui s’aventurent à essayer de comprendre et d’adapter ce qui est déjà en place.
Qui n’a jamais perdu des heures ? à installer un projet à cause de ce genre d’outils ? Ou tout simplement parce que vous n’avez pas la bonne version de NodeJS ?





Enfin, ce sont des outils qui tournent en local sur l’ordinateur (ou WSL ou docker). Dans certains cas, vous pouvez avoir des temps de build assez pénible, des tâches de surveillance (watch) qui plantent sournoisement et même des consommations excessives de ressources.





Avez-vous vraiment besoin de Webpack & Co ? ?





Tout dépend du projet mais si vous travaillez sur un projet PHP (Laravel / Symfony / Laminas) avec assez peu de dépendance JavaScript, vous n’avez probablement pas besoin de Webpack (ou gulp, ou autre). Si vous ne savez même pas ce que fait Webpack, c’est probablement qu’il est là par défaut et que vous pourriez sûrement vous en passer.





Soyons clair, Si vous avez besoin de Webpack & Co utilisez-les ! Mais sinon, simplifiez vous la vie (et celle de vos collègues) en supprimant Node.js de vos projets





Pourquoi chercher en Node.js ce qui se trouve en ? PHP ?





Oublions les outils et revenons sur les problématiques que nous cherchons à résoudre.
Voyons de quoi nous avons besoin :





  • Transpiler des fichiers SASS ou LESS en CSS ?




  • Concaténer des fichiers CSS ?




  • Minifier des fichiers CSS ?




  • Concaténer des fichiers JavaScript ?




  • Minifier des fichiers JavaScript ?




  • Mettre en cache navigateur les fichiers de production ?




  • Généré à la volé les fichiers en environnement de développement ?

D’après vous, est-ce possible de faire cela avec le meilleur langage au monde : PHP ? ?





Utilisez des routes pour générer votre CSS et JS





Pour versionner les fichiers CSS et JS, nous allons utiliser le versionning de l’application.

Voir la suite

CH Studio, sponsor de l’AFUP Day Lyon 2023

Stéphane Hulard (CH Studio) 31/01/2023

Nous sommes très heureux d’annoncer que nous sponsorisons l’AFUP Day Lyon 2023 qui aura lieu le 12 mai. Toute l’équipe sera présente, nous profitons de ces évènements pour organiser nos séminaires internes et nous voir dans la vraie vie. N’hésitez pas à venir nous rencontrer !


L’article CH Studio, sponsor de l’AFUP Day Lyon 2023 est apparu en premier sur CH Studio - Incubateur d'innovation, conseil et accompagnement.


Dédoublonnez vos photos

Eleven labs 25/01/2023

Cover



Introduction



Le dédoublonnage de photos est un processus qui vise à détecter et supprimer les images en double d’une collection.
Il est utilisé pour nettoyer des albums photos ou des bases de données d’images et pour améliorer la qualité des résultats de recherche d’images.
Il existe différentes méthodes pour le dédoublonnage, comme la comparaison de pixels, des caractéristiques d’image, des métadonnées et des signatures d’image, chacune ayant des avantages et inconvénients.



Dans cet article, nous combinerons plusieurs de ces techniques afin d’identifier des doublons.



0. Avertissement



Il est important de noter que le dédoublonnage de photos peut entraîner la perte de données, il est donc important de sauvegarder les images avant de les supprimer.
Il est également recommandé de vérifier manuellement les images supprimées afin de s’assurer qu’elles sont en effet des doublons et non des images uniques.



I. Savoir à coup sûr si un fichier est déjà présent dans ma collection d’image



La première méthode que nous utiliserons est de générer une somme de contrôle SHA-1 à partir du contenu du fichier puis de vérifier dans un registre si celle-ci s’y trouve déjà.



La somme SHA-1 (Secure Hash Algorithm 1) est un algorithme de hachage cryptographique qui permet de créer une empreinte numérique (ou “somme de contrôle”) d’un fichier. Cette empreinte est générée en transformant les données du fichier en un code à 160 bits (40 caractères hexadecimal), qui est unique pour chaque fichier.
Si un fichier change, même de façon minime, sa somme SHA-1 sera complètement différente.



Les sommes SHA-1 sont souvent utilisées pour vérifier l’intégrité des fichiers téléchargés sur internet, pour s’assurer qu’ils n’ont pas été altérés pendant leur transfert. On peut comparer la somme SHA-1 d’un fichier téléchargé avec la somme SHA-1 d’un fichier original pour vérifier qu’ils sont identiques.
De cette manière, on peut être sûr que le fichier téléchargé est le même que celui qui a été diffusé par son auteur ou son éditeur.



Il est important de noter que même si la somme SHA-1 est encore utilisée, il y a des algorithmes de hachage plus récents qui sont considérés plus sécurisés (comme SHA-256, SHA-3, etc).



Calculons ainsi le hash SHA-1 de la photo suivante :
Pilou



Pour faire cela nous utiliserons le code suivant :


<?php

echo sha1_file('~/IMG_0546.jpg');


Ce qui nous donnera le résultat suivant :


8ffe297f8e88d5573d375cd12536e33db8d49c54


Si deux fichiers ont le même hash, alors on peut être sûr (ou presque…), que ces derniers sont identiques en tous points et que nous pouvons archiver n’importe lequel des deux.

Voir la suite

Symfony 6.2 : Simplifiez vos contrôleurs avec ArgumentResolver

Code Design 22/01/2023

Avez-vous déjà eu l’impression de devoir faire des traitements répétitifs au début de vos contrôleurs Symfony ? Vous avez parfois besoin de convertir un paramètre en objet ? De créer un objet PHP à partir des variables de votre route ? Ou même, de créer une entité (Doctrine ou non) à partir d’un UUID passé au contrôleur ? Ou encore, de construire un formulaire à partir des données de la requête ?





Sans le savoir, vous utilisez certains convertisseurs intégrés à Symfony. C’est ce qui se passe lorsque vous récupérez l’objet SessionInterface par exemple. Vous utilisez également des convertisseurs lorsque vous récupérez une entité Doctrine en paramètre de votre contrôleur, l’identifiant de la route est automatiquement converti en entité.





Imaginez maintenant que vous puissiez mettre en place ce type de mécanisme sur votre propre architecture (sans Doctrine ni FrameworkExtraBundle).





C’est ce que permet l’interface Symfony\Component\HttpKernel\Controller\ValueResolverInterface qui vient remplacer Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter (déprécié avec Symfony 6.2)





Exemple : Créer un objet à partir de plusieurs paramètres ?





Imaginons un objet Search qui serait créé à partir de 3 paramètres (Terms, Location et Date). Vous pourriez le manipuler de cette manière dans votre contrôleur :





<?php

namespace App\Controller;

use Symfony\Component\HttpFoundation\Request;

class SearchController
{

#[Route(path: '/search', name: 'search')]
public function search(Request $request): Response
{
// Converti la date en DateTimeImmutable
$date = DateTimeImmutable::createFromFormat('Y-m-d', $request->request->get('date'));

// Créé un objet Search en fonction des paramètres obligatoires
$search = new Search(
$request->request->get('terms'),
$request->request->get('location'),
$date
);

// ... Utilise $search pour traiter et retourner la réponse
}
}




Voici ce que cela donnerait après la mise en place d’un convertisseur automatique de paramètre (ArgumentResolver):





<?php

namespace App\Controller;

class SearchController
{

#[Route(path: '/search', name: 'search')]
public function search(Search $search): Response
{
// ... Utilise $search pour traiter et retourner la réponse
}
}




Comment créer un ArgumentResolver dans Symfony ? ?





Vous devez commencer par créer un nouveau service Symfony qui implémente l’interface Symfony\Component\HttpKernel\Controller\ValueResolverInterface.

Voir la suite

L'AFUP Day 2023 Lyon est sold-out

AFUP 18/01/2023

200 personnes attendues pour l'événement


Deux ans d’absence pour l’événement à Lyon, c’était manifestement trop long pour la communauté locale !
Après le sold-out des tarifs Early Bird, nous avons assisté à un véritable holdup sur les places en billetterie. Le tissu économique, le réseau d’entreprises de notre écosystème et la convivialité propre à la communauté lyonnaise font de cette destination une étape incontournable pour notre public, habitant la région ou venant d’ailleurs en France, et le succès de la billetterie vient souligner ce dynamisme incomparable.

Devant l'engouement pour l'événement, l'organisation avait poussé les murs pour ajouter quelques dizaines de places à la jauge... Mais ça n'aura pas suffi : quelques jours à peine après avoir augmenté la capacité de la salle, toutes les places sont d'ores et déjà vendues. Ce sont ainsi 200 personnes qui sont attendues pour l'étape lyonnaise de l'AFUP Day 2023 !


Inscrivez-vous sur liste d'attente


Vous n'avez pas eu le temps de prendre vos places ? Une liste d'attente vous permet de notifier votre envie de nous rejoindre. Si des places se libèrent, si des inscrits ont un imprévu et cherchent à revendre leur place, nous contacterons les personnes dans l'ordre chronologique d'inscription à la liste d'attente.


Rejoignez l'étape lilloise de l'événement !


Tout n'est pas perdu cependant si le besoin de retrouver la communauté le vendredi 12 mai est le plus fort : rejoignez l'édition lilloise de l'événement, tenue le même jour à l'Université Catholique de Lille. Son programme, très axé sur la technique, est tout aussi intéressant et il vous fera progresser à pas de géant. Quant à la convivialité légendaire des gens du Nord, elle n'est plus à faire : vous passerez une excellente journée en compagnie de l'AFUP Hauts-de-France ! Prenez vos places et prévoyez votre week-end dans la capitale des Flandres.


Merci à la communauté PHP lyonnaise pour son enthousiasme et sa confiance en nos équipes : rendez-vous le 12 mai à CPE pour une journée riche en émotion et en apprentissages !

Rejoins les centaines de devs abonnés à Quoi de neuf les devs?

Itanea 10/01/2023

« Quoi de neuf les devs ? », c’est quoi ?





« Quoi de neuf les devs ? », c’est quoi ?





C’est une newsletter que j’édite depuis un petit moment déjà, qui plus est, elle est hebdomadaire et elle est gratuite, mais tout sponsor est bienvenu aussi ????





Essentiellement, « Quoi de neuf les devs ? » compile des infos pour les devs chaque semaine.





À ce jour, elle en est à son 16ème numéro qui est sorti le 6 janvier dernier, de surcroît, elle a aussi son podcast pour celles et ceux qui n’ont pas le temps de la lire en détail.





Vous êtes déjà 350 à y être abonné.e.s !!





Tu es pressé, tu veux lire direct la newsletter et pas en lire toute la description que j’ai préparé pour toi ? OK, il te suffit de cliquer sur le bouton ci-dessous :









Que vais je trouver dans « Quoi de neuf les devs ? » ?





Dans chaque numéro le programme est le suivant :





  • Le coin des lecteurs




  • Le tour de Twitter




  • Tall Tips




  • T’as ton popcorn ?




  • Les sorties de la semaine




  • Le compte twitter de la semaine




  • La caisse à outils




  • Jobs




  • Dredi’s Troll




  • Le mot de la fin

Je te détaille chacune des rubriques ci-dessous????





Le coin des lecteurs





Dans cette rubrique, je te propose des articles que j’ai trouvé intéressants toujours bien sûr dans notre domaine… ou presque, par exemple, dans le numéro 16, on y a parlé des points suivants :





  • Les bonnes pratiques avec Laravel




  • Pourquoi votre app Laravel a besoin de tests




  • Containers Docker administrés via une page web




  • SEO




  • Les 10 meilleurs articles de nos amis de Laravel-France





Le tour de Twitter





Dans cette rubrique, je te présente les tweets que j’ai trouvé intéressant au cours de la semaine. C’est évidemment complètement subjectif et c’est assumé.





Voici un exemple de ce que cela peut donner :





html>

Voir la suite

Bonne année 2023

JB Nahan 10/01/2023

Comme chaque année, un petit exercice de rétrospection est utile pour faire le point et se projeter dans l'avenir souhaitée.


The post Bonne année 2023 first appeared on JB Dev Labs.

Bonne année 2023

JB Nahan 10/01/2023

Comme chaque année, un petit exercice de rétrospection est utile pour faire le point et se projeter dans l'avenir souhaitée.


The post Bonne année 2023 first appeared on JB Dev Labs.

Les programmes de l'AFUP Day 2023 sont publiés

AFUP 10/01/2023

Que vous choisissiez Lille ou Lyon, votre journée s'annonce riche en apprentissages, découvertes et progrès en tous genres, en compagnie de toute la communauté PHP !


Une journée très technique à Lille


À Lille, ce sont 8 conférences de 40 minutes qui vous attendent, et c'est du costaud au menu : on ne plaisantera pas avec les sujets techniques ! George BANYARD nous parlera de gestion d'erreur, Allison GUILHEM abordera le sujet du groupement des messages sur Symfony Messenger et Kévin DUNGLAS expliquera comment se protéger des attaques logistiques avec Composer.

Il sera aussi question d'API avec Olivier Mairet pour un talk sur ApiTester et l’automatisation des tests, et Antoine BLUCHET qui expliquera comment faire tourner PHP dans le navigateur pour documenter API Platform. Grégoire PINEAU proposera de s'intéresser au sujet de Doctrine, d'objet typé et de colonne JSON et Charles DESNEUF à celui du test de legacy avec l'approval testing.

Enfin, Laura DURIEUX nous posera une question fatidique mais tellement essentielle : OÙ SONT PASSÉES LES FEMMES DE L'HISTOIRE DE LA TECH ?

Le planning détaillé sera publié dans les prochaines semaines, mais retrouvez dès maintenant l'ensemble des conférences au programme lillois pour en connaître tous les détails.



Un programme rafraîchissant à Lyon


Les lyonnais ont opté pour un programme de 9 conférences, dont 2 de 20 minutes, pour aborder des thématiques autant techniques que managériales. En effet, l'auditoire sera invité à s'interroger sur la vie en équipe en compagnie de Camille CASTILLO et Pauline RAMBAUD, qui aborderont respectivement le sujet du "glue work" et celui des actions et comportements des mentors.

Côté technique, le programme abordera notamment le sujet des monades et de programmation (a)synchrone avec Baptiste LANGLADE, celui du composant ExpressionLanguage de Symfony avec Mathias ARLAUD et Florian MERLE, et de refonte de legacy promis sans douleur avec Kévin BALICOT. Thomas BOILEAU démystiferiera les pratiques de software craftmanship et Smaïne MILIANNI partagera son expérience autour du zero downtime deployment. Enfin, Gabriel PILLET fera part de ses meilleures trouvailles en terme d'instruments pour des devs augmenté.e.s, et Romain CANON expliquera comment transformer du JSON en structure PHP fortement typée.

Le programme est donc riche et varié à Lyon : découvrez le détail de chaque conférence et prenez vite votre place pour la journée du 12 mai.



Un événement de retour à son format originel et marqué par un renouveau


Après 2 années où il s'est tenu en ligne, et une édition en 2022 organisée uniquement à Lille, l'AFUP Day retrouve en 2023 son format tel qu'imaginé en 2019, en présentiel et à la dimension multi-destinations.

Voir la suite

La convocation pour l'assemblée générale 2023 est partie !

AFUP 04/01/2023

Indiquez votre présence ou donnez votre pouvoir


De l'importance de s'emparer de son rôle de membre


Votre mission en tant que membre AFUP est d'indiquer votre présence, ou de donner votre pouvoir à un autre membre, dès maintenant ! Lors de l'assemblée générale, nos membres sont amenés à approuver le bilan du bureau 2022-2023, à confirmer à leurs postes les nouveaux membres des différents comités et à orienter nos actions pour l'avenir tout comme les règles qui régissent l'association.

C'est pourquoi indiquer dès maintenant de quelle façon vous participerez est essentiel : veuillez indiquer votre présence lors de l'AG (quelle soit en ligne ou en présentiel) ou donner votre pouvoir à un·e autre membre.


Votre présence est essentielle !


Une assemblée générale au format hybride connaît les mêmes contraintes administratives qu'une assemblée générale organisée uniquement en présentiel. Le quorum reste donc nécessaire pour valider les décisions prises ce jour. Si vous indiquez votre présence, à la Maison des Associations comme sur LiveStorm, il est primordial que vous soyez effectivement présent·e lors de l'AG, et ce pour toute sa durée (environ 2h).


À qui donner son pouvoir


Si vous approuvez l'action du bureau 2022-2023 et de son conseil d'administration, nous vous suggérons de donner votre pouvoir à l'un·e de ses membres.



Programme de l'Assemblée Générale 2023


Programme de l'après-midi


  • Le bureau 2022-2023 mené par Alexandre BALMES présentera son bilan moral et financier.

  • La liste en lice pour le bureau 2023-2024, menée par Sébastien ROGIER, vous proposera ses projets et les améliorations qu'elle envisage pour l'association. L'équipe a notamment en tête d'améliorer l'organisation de notre trésorerie et de professionnaliser sa gestion, notamment en recourant aux services d'une assistance comptable à l'année.

  • Les compositions du bureau, du conseil d'administration et du conseil de surveillance pour l'année 2023-2024 seront renouvelées. La liste est d'ailleurs toujours en cours de constitution.

  • Un temps d'échange permettra aux membres de poser leurs questions au bureau de l'association.


    La liste en lice pour la relève du bureau vous enverra son programme dans les prochains jours. Ses projets seront présentés plus en détail lors de l'assemblée générale et discutés avec vous.

    Et si vous nous rejoigniez ?


    L'assemblée générale est aussi un moment idéal pour manifester votre envie de vous impliquer au quotidien dans la vie de l'association. Venez en parler avec nous ce jour-là, à la MAS ou via la fenêtre de chat sur Livestorm, ou contactez-nous par email si vous ne pouvez pas nous rejoindre.
    Une question en prévision de l'assemblée générale ? Contactez-nous !


    Nous rejoindre ou donner son pouvoir : infos pratiques


    Nous rejoindre sur place


    L'assemblée générale se tiendra en présentiel à la Maison des Associations (MAS) Paris XIIIème, située au

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