Formations

Symfony: the fast track

Avatar of Nicolas Grekas Nicolas Grekas

Cette formation est issue du livre "Symfony: The Fast Track" de Fabien Potencier. Dispensée sur deux jours consécutifs, elle vous apprendra à construire une application Symfony de A à Z en utilisant les nouvelles pratiques et les nouveaux composants disponibles depuis peu. Pour celles et ceux débutant en Symfony, cette formation est l'occasion d'un panorama de capacités qu'il vous revient d'exploiter. Pour les plus confirmés, cette formation leurs sera utile pour rafraichir leurs connaissances et gagner en efficacité au jour le jour.

Nous construirons une application dotée de toute l'infrastructure des apps modernes : base de données, serveur de cache applicatif et HTTP, bus de messages pour traitements en tâche de fond, etc. Nous partirons des basiques avec l'installation d'une application squelette, la création d'un modèle de données et d'un "backoffice", puis nous ajouterons des écrans pour les utilisateurs, un système de sécurité pour cloisonner les droits. Nous enrichirons les données de règles métier pour envoyer des notifications, envoyer des emails, gérer l'internationalisation, redimensionner des images, gérer un workflow de publication, etc. Enfin, nous optimiserons l'application pour la production à travers les caches HTTP et applicatifs, à travers la gestion des assets (JS/CSS/images) et des secrets. Pour sécuriser chaque étape, nous écrirons des tests chargés de garantir les non-régressions.

Au menu : Autowiring, Flex, Mailer, Notifier, Workflow, Messenger, Cache, HttpClient, String, etc.

Formation de 2 jours (14 heures)
Délivrée en français
26 – 27 mars 2024
Starts at 08:00
Dates and times are shown in your local timezone ()

Maîtriser la POO et les patrons de conception

Avatar of Alexandre Salomé Alexandre Salomé

La programmation orientée objet (POO) va au-delà de la conception de classes et d'interfaces. Elle comprend une grande variété de concepts tels que les objets, les entités, les objets de valeur, les services, les modèles de conception, les principes SOLID, la calisthénie, le couplage, etc. La maîtrise de la POO nécessite souvent plusieurs années d'expérience. Cet atelier vous aidera à mieux comprendre tous ces concepts afin d'écrire un code orienté objet plus maintenable, robuste et testable. Vous découvrirez également des techniques pour réduire la complexité de votre code et rendre vos classes plus spécifiques et donc plus simples. Vous apprendrez également à reconnaître et à exploiter la puissance des modèles de conception (factory, adapter, composite, décorateur, médiateur, stratégie, etc.)

Pré-requis: pour pouvoir suivre cette formation, il est recommandé d'avoir des notions de base en POO en PHP : classes, interfaces, héritage, visibilité, instanciation d'objets, etc.

Formation de 2 jours (14 heures)
Délivrée en français
26 – 27 mars 2024
Starts at 08:00
Dates and times are shown in your local timezone ()

Sécurité améliorée et WebAuthn avec Symfony

Avatar of Florent Morselli Florent Morselli

Les mots de passe sont un réel problème pour toutes les applications Web. À mesure que l’écosystème PHP évolue pour prévenir les échecs d’authentification, les menaces évoluent également.

Grâce à WebAuthn, nous pouvons désormais nous débarrasser des mots de passe. Avec une simple interaction de l’utilisateur, comme toucher un lecteur d’empreintes digitales, nous pouvons vaincre la plupart de ces menaces.

Au cours de cet atelier, vous mettrez en œuvre une authentification sans mot de passe sur une application qui a déjà des utilisateurs et une simple connexion par nom d’utilisateur/mot de passe.

Aperçu de l’ordre du jour :
* Problèmes de mot de passe
* Introduction à WebAuthn et aux authentifications
* Installation et configuration
* Ajout d’authentifiants à un utilisateur
* Authentification d’utilisateur
* Enregistrement de l’utilisateur
* Ajustements de la politique de sécurité
* Utilisation des déclarations de métadonnées

Vous aurez besoin d’avoir sur votre ordinateur :
* Docker >= 23.x+
* Symfony CLI 5.5.x+
* PHP 8.2+
* Votre IDE préféré (j'utiliserai PHPStorm)

Formation d'un jour (7 heures)
Délivrée en français
Edition #1: mardi 26 mars 2024
Starts at 08:00 Edition #2: mercredi 27 mars 2024
Starts at 08:00
Dates and times are shown in your local timezone ()

Les composants Messenger et Workflow par la pratique

Avatar of Benjamin Zaslavsky Benjamin Zaslavsky

La formation s'articule autour de l'étude de deux composants. La matinée est dédiée au Composant Messenger (niveau intermédiaire). Ce module vous permettra de découvrir de manière accéléré le composant Messenger, vous apprendrez l'architecture interne du composant ainsi que ses différents cas d'utilisation et possibilités, vous serez aussi amenés à configurer ce dernier pour des usages avancés (gestion des erreurs, retry, validation, etc) afin d'optimiser son usage au sein de vos applications. Pour finir, vous verrez aussi comment intégrer ce composant dans vos tests afin de valider vos attentes et intégrez au mieux ce composant devenu indispensable !

L'après-midi est dédiée au Composant Workflow. Durant cette formation spécialisée, l'objectif de ce module est de maîtriser l'évolution des états d'une ressource en lui appliquant des transitions maîtrisées dans une logique de flux. Vous mettrez en place une mécanique complète de flux grâce à Symfony et son composant Workflow, et vous générerez un diagramme pour alimenter votre documentation technique.

Formation d'un jour (7 heures)
Délivrée en français
mardi 26 mars 2024
Starts at 08:00
Dates and times are shown in your local timezone ()

Développement d'API avec API Platform

Avatar of Kévin Dunglas Kévin Dunglas

API Plaftorm est devenu un cadre très populaire pour construire des projets web avancés et modernes basés sur les API. Il comprend :
- un composant serveur surpuissant basé sur Symfony pour créer des API web hypermédia et GraphQL ;
- un générateur d'applications web progressives (ReactJS, Vue.js) et d'applications mobiles natives (React Native) ;
- une interface d'administration ReactJS (ReactJS + admin en attente).

Après un aperçu des modèles et formats d'API modernes (REST, Swagger, Hypermedia, HATEOAS, JSON-LD, Hydra, Schema.org, GraphQL...), nous apprendrons à utiliser et étendre les fonctionnalités les plus populaires du composant : Documentation Swagger, pagination, validation, tri, filtrage, authentification, autorisation, négociation de contenu, génération de modèles de données à l'aide du vocabulaire Schema.org. Enfin, nous découvrirons à quel point il est facile d'utiliser la boîte à outils côté client (JavaScript).

Formation d'un jour (7 heures)
Délivrée en français
mercredi 27 mars 2024
Starts at 08:00
Dates and times are shown in your local timezone ()

Se réconciliez- avec le front grâce Symfony UX

Avatar of Matheo Daninos Matheo Daninos

Il est difficile de créer des expériences utilisateur de qualité avec JavaScript. Il faut du temps pour choisir des packages fiables, les configurer, les intégrer dans vos pages et faire interagir votre code front-end avec le reste de votre infrastructure.

Cet atelier vous présentera Symfony UX et les outils sur lesquels il s'appuie. Nous découvrirons comment construire des interfaces modulaires et interactives en utilisant de petits composants JavaScript réutilisables qui peuvent être facilement testés automatiquement. Nous découvrirons également comment s'appuyer sur Symfony UX et Turbo pour construire des expériences utilisateur avancées en utilisant l'approche des micro-frontaux.

Nous découvrirons ensemble la "LAST stack", un acronyme qui signifie "Live Component, AssetMapper, Stimulus, et Turbo". C’est une stack front end qui nous permet de créer des interfaces riches, dynamiques, avec des allures de SPA. Tout ça dans un code accessible même pour les plus "backend" d’entre vous ! Nous verrons les concepts qui régissent cette nouvelle stack et comment tirer le meilleur de chacun de ses composants.

Formation d'un jour (7 heures)
Délivrée en français
Edition #1: mardi 26 mars 2024
Starts at 08:00 Edition #2: mercredi 27 mars 2024
Starts at 08:00
Dates and times are shown in your local timezone ()