Dawan Formation

Dawan Formation Centre de formation

Formations publiées

Formation Zend Framework 2 : Approfondissement
Dawan Formation

Programme de Formation Zend Framework 2 : Approfondissement

Introduction

Rappels de notions de la formation Zend Framework 2 Initiation

Architecture MVC

L'accès aux données

Les formulaires

Authentification

Identification depuis une base de données

Crypter les données

Gestion des erreurs

Stocker les données

Déconnexion et destruction des données (Zend\Session)

Atelier: Réaliser un formulaire d'identification Droits et sécurité avec le Zend Framework 2 Définir les rôles

Définir les ressources

Définir les droits

Atelier: Associer des droits à un utilisateur Web Services

Déclaration et utilisation de services web : REST et JSON

Services Web WS-* : DOM, SOAP

Atelier: Utiliser Zend\SOAP ou Zend\REST

Non finançable CPF
1196.00 €
À distance
Tout public
Formation Laravel : Initiation + Approfondissement
Dawan Formation

Programme de Formation Laravel : Initiation + Approfondissement

Présentation

Rappels : bibliothèques et frameworks

Architecture HTTP centrée et patron MVC

Composition du framework

Méthodes d’installation et composer

Installer Laravel via laravel/installerFondamentaux

Outils en ligne de commande Artisan

Serveur PHP embarqué d’Artisan

Serveur virtuel Laravel Homestead

Gestion des variables d’environnement via DotEnv

Arborescence de répertoire

Contrôleur

Contrôleur et principe de routage

Paramètres de routes, obligatoires, optionnels et sous contraintes

Groupe de routes

Middleware

Définition de contrôleurs

Contrôleur de ressource : mise en place d’un CRUD

Les objets Request et Response

Vues

Le moteur de gabarit Blade

Section de contenu et héritage

Échappement et XSS

Structure de contrôle (conditionnelle et itérative)

Inclusion de gabarit

Gestion des assets, Bootstrap et Vue.js

Compilation des assets via Laravel Mix

Modèle

Paramétrage de la connexion à la base

Présentation de Fluent Query Builder

Select, jointures, unions, clause where

Insert et updates

Déclarer et versionner son schéma via les Migrations

Peupler sa base avec les Seeders

Mettre en place et exploiter son schéma par rapport au métierEloquent ORM

Principe d’un ORM, le patron DAO

Définir ses entités

Chargement des instances

Insertion, mise-à-jour et suppression

Outils pratiques : exception NotFound, Soft Delete

Mise en place de Scopes : globaux, locaux et anonyme

Événement de cycle de vie

Formulaires

Gestion native des formulaires avec Laravel

Attacher ses formulaire au modèle

Mise en place de formulaire d’édition du modèle

Sécurité

Principe d’authentification

Gérer ses utilisateurs via Eloquent

Contrôleurs de connexion et de création de compte

Principe de contrôle d’accès

Mise en place de politique de contrôle d’accès

Internationalisation

Principe de fonctionnement

Mise en place de catalogue de traductions

Utilisation des catalogues

Gestion de la locale

Paramètres de substitution

Pluralisation

Tester son application

Principe de tests, tests unitaires et fonctionnels

Tests HTTP

Laravel Dusk, principe et installation

Définir un scénario de navigation

Interagir avec les différents éléments tels que liens, formulaire, clavier, souris

Mise en place d’un catalogue de testsPerformance

Différents types de cache à disposition : base de données et MemCache

Définir des instances de cache

Récupérer et enregistrer des éléments en cache

Envoyer des mails

Pilotes à disposition

Configurer le pilote

Utiliser un templatePassage de la certification (si prévue dans le financement)

Non finançable CPF
2380.00 €
À distance
Tout public
Formation Laravel : Initiation
Dawan Formation

Programme de Formation Laravel : Initiation

Présentation

Rappels : bibliothèques et frameworks

Architecture HTTP centrée et patron MVC

Composition du framework

Méthodes d’installation et composer

Installer Laravel via laravel/installerFondamentaux

Outils en ligne de commande Artisan

Serveur PHP embarqué d’Artisan

Serveur virtuel Laravel Homestead

Gestion des variables d’environnement via DotEnv

Arborescence de répertoire

Contrôleur

Contrôleur et principe de routage

Paramètres de routes, obligatoires, optionnels et sous contraintes

Groupe de routes

Middleware

Définition de contrôleurs

Contrôleur de ressource : mise en place d’un CRUD

Les objets Request et Response

Vues

Le moteur de gabarit Blade

Section de contenu et héritage

Échappement et XSS

Structure de contrôle (conditionnelle et itérative)

Inclusion de gabarit

Gestion des assets, Bootstrap et Vue.js

Compilation des assets via Laravel Mix

Modèle

Paramétrage de la connexion à la base

Présentation de Fluent Query Builder

Select, jointures, unions, clause where

Insert et updates

Déclarer et versionner son schéma via les Migrations

Peupler sa base avec les Seeders

Mettre en place et exploiter son schéma par rapport au métierEloquent ORM

Principe d’un ORM, le patron DAO

Définir ses entités

Chargement des instances

Insertion, mise-à-jour et suppression

Outils pratiques : exception NotFound, Soft Delete

Mise en place de Scopes : globaux, locaux et anonyme

Événement de cycle de vie

Formulaires

Gestion native des formulaires avec Laravel

Industrialiser avec laravelcollective/html

Attacher ses formulaire au modèle

Mise en place de formulaire d’édition du modèlePassage de la certification (si prévue dans le financement)

Non finançable CPF
1436.00 €
À distance
Tout public
Formation Symfony Avancé
Dawan Formation

Programme de Formation Symfony Avancé

Introduction

Revue de l’architecture du framework

Évolution suivant les versions

Les événements et écouteurs

Découpler d’avantage de code métier via le gestionnaire d’événement

Créer un écouteur d’événement : EventListener

Créer un souscripteur d’événement : EventSubscriber

Événement natifs symfony et événements personnalisés

Altérer un comportement sans héritage via souscripteur d’événementLe composant Cache

Présentation du composant Cache

Cache contract vs PSR-6

Accéder et sauvegarder des données en cache

Supprimer, invalider ou programmer l’expiration des données

Liste des Adapters disponibles

Atelier : Mise en cache sous DoctrineLe composant Messenger

Comprendre les principes de communications inter-application

Créer le message et le handler

Diffuser le message

Les transports disponibles : AMQP, Redis, Doctrine, In Memory, …

Configurer les transports et le superviseur

Gérer des traitements en parallèle via MessengerLe composant Mail

Les composant Mail et Swift_mailer

Installation et configuration du transport

Créer un mail, gérer les adresses

Gérer le format de contenu : text/html, utiliser twig

Attacher un fichier, embarquer un image

Mettre en place les services d’envoi de mailLe composant Console Commands

Définir une commande

Gestion des entrées / sorties

Accès aux services

Tester les commandes

Sortie avancée : style et couleur

Sortie avancée : barre de progression, section, tableau

Entrées : distinguer arguments et options

Créer des questions : confirmation, information, choix

Définir des actions automatisables via des commandesFormulaire avancé

Créer un type de champs personnalisé avec son thème

Gérer les données associées modèle-normalisée-vue

Définir les DataTransformer associés et y injecter des services

Définir un DataMapper pour les données composé

Associer son type de champs personnalisé via un FormGuesser

Modifier dynamiquement le formulaire via les événements de formulaire

Mise en place de champs de formulaires avancésIntégration de WebPack Encore

Installation et configuration Yarn / Webpack

Définir les entrées webpack et leur ressources associées

Inclure les entrées dans Twig

Gérer les dépendances dynamiquement avec les modules ES6

Utiliser Sass, Less ou Stylus

Utiliser Typescript

Passer des données de Twig au javascript

Gestion du cache et versionning

Mettre en place une interface richeLes tests unitaires et fonctionnels

Utilisation de PHPUnit Bridge

Tests unitaires des services métier

Tests fonctionnels et gestion des formulaires

Gestion des dates : ClockMock

Mise en place de procédures de testsMise en Application : Mettre en place une API REST avec authentificationPassage de la certification (si prévue dans le financement)

Non finançable CPF
2380.00 €
À distance
Tout public
Formation API Platfom : Fondamentaux
Dawan Formation

Programme de Formation API Platfom : Fondamentaux

Introduction

Rappel sur Symfony et les API

Découvrir API Platform

Connaitre les avantages et inconvénients

Atelier : Installer API PlatformLes bases d'API Platform

Créer une entité

Exposer une entité

Lier API Platform à une base de données

Découvrir la norme de description OpenAPI

Documenter notre API à travers Hydra, SwaggerUI ou ReDoc

Choisir le format d'affichage des données (html, json, json+ld)

Atelier : Manipuler des jeux de données à l'aide de SwaggerUI et PostmanLes opérations

Personnaliser le CRUD à l'aide des opérations

Renommer une entité

Comprendre le fonctionnement des urls et des formats

Debugger les routes de l'api : la commande debug:router

Redéfinir les urls d'une entité

Atelier : Personnaliser le crud d'une entitéLimiter l'exposition des données

Utiliser le composant de sérialisation de Symfony

Créer des groupes de sérialisation

Limiter l'exposition des propriétés en lecture : normalizationContext

Personnaliser l'affichage d'une propriété depuis les accesseurs

Contrôler les groupes d'écriture : denormalizationContext

Atelier : Définir les propriétés à afficher et à insérerUtiliser les règles de validation

Utiliser le composant de validation de Symfony

Attribuer des contraintes sur les propriétés

Créer des groupes de validation

Associer un groupe de validation à une opération : validationContext

Atelier : Valider les données lors d'une insertion ou une modificationPagination et Filtres

Afficher et modifier la configuration d'api platform

Obtenir les informations de pagination

Activer et exposer la pagination dans l'url

Créer des filtres de données avec l'attribut ApiFilter

Utiliser les filtres par défaut (DateFilter, SearchFilter, RangeFilter, etc)

Paramétrer les filtres en fonction du type de donnée

Atelier : mettre en place des filtresRelation entre les entités

Créer des relations/associations entre les entités

Lier les données à l'aide des IRI (International Resource Identifier)

Afficher les informations d'une relation de façon détaillée

Insérer, modifier, supprimer les valeurs d'une relation et les valider

Créer des liens dédier pour accéder aux sous ressources

Atelier : créer une relation entre deux entités et afficher les donnéesSécurité

Identifier les différents type d'authentification

Créer une entité utilisateurs et un contrôleur pour l'authentification

Configurer l'authentification dans le fichier security.yaml

Gérer les différents type d'erreurs d'authentification

Restreindre l'accès à l'API depuis les routes, les contrôleurs, les classes

Atelier : créer une authentification pour les utilisateursAtelier : limiter l'accès en lecture et écriture aux utilisateurs non connectéTélécharger des fichiers

Installer le composant VichUploader

Manipuler les types fichier : POST et multipart/form-data

Créer un decoder et denormalizer personnalisé pour le multipart/form-data

Documenter l'entité avec openapi

Atelier : télécharger et récupérer des images

Non finançable CPF
1580.00 €
À distance
Tout public
Formation Framework PHP Symfony Initiation + Approfondissement
Dawan Formation

Programme de Formation Framework PHP Symfony Initiation + Approfondissement

Introduction

Framework PHP : définition et revue du marché

Principes d’architecture : centrage HTTP, orientation objet, orientation service

Anatomie du framework : le kernel, les composants et les bundles

Installer et configurer un projet

Configurer l’environnement, gérer les pré-requis, l’exécutable symfony

Démarrer le projet avec symfony ou composer, choisir son squelette de départ

Ajouter des paquets avec Symfony Flex pour composer

Les répertoires du projet

Configurer le projet via les fichiers de config

Paramétrer son environnement via DotEnv

Choisir et utiliser son serveur de développement

Atelier: Installer, configurer et lancer un projet SymfonyCréer des pages : les contrôleurs

Reconnaître les URLs demandées via les routes

Produire la réponse HTTP par les classes de contrôleur

Utiliser les annotations de routes

Affiner la gestion des routes : paramètres, valeurs par défaut, contraintes, methodes

Convertir automatiquement les paramètres

Maîtriser le dialogue HTTP via les objets du composant HttpFoundation

Débuguer les routes

Profiler les pages

Atelier: Créer ses premières pagesTemplating

Principe d’un moteur de template et présentation de Twig

Configurer Twig : chemin, échappement automatique, variables globales, …

Revue de la syntaxe : les tags et les interpolations

Référencer les pages, créer des liens hypertexte

Référencer des ressources JS, CSS et images

Factoriser les templates : l’héritage, l’inclusion et la sous-requête

Améliorer le rendu des pages, mettre en place un système de navigationBase de données (Doctrine)

Comprendre le rôle d’un ORM

Installation et configuration de Doctrine

Créer une classe d’entité

Utiliser les migrations: créer le schéma

Enregistrer un objet en base

Charger des objets depuis la base

Charger automatiquement depuis la route (ParamConverter)

Mis en place de relations/associations

Atelier: lier le contenu des pages à la base de donnéesLes formulaires

Construire le formulaire et l’association à une classe de données

Rendre le formulaire en HTML

Réceptionner et valider les données

Créer ses propres validateurs

Les classes de formulaire

Personnaliser le rendu (theming)

Créer les formulaires de saisieLa sécurité

Principe de fonctionnement: authentification et autorisation

Créer sa classe d’utilisateur, le fournisseur et gérer l’encodage des mot-de-passes

Authentifier l’utilisateur sur un contexte de pare-feu

Contrôler l’accès sur des rôles au niveau du pare-feu, des routes ou dans le code

Créer des règles personnalisées avec des voters

Authentifier les utilisateurs et restreindre l’accès aux pagesInternationalisation

Configurer la langue, utiliser des catalogues

Rédiger les catalogues de messages

Traduire les validations, les entités, les urls, …

Gérer la locale utilisateur

Mettre en place des traductionsLes services

Utilisation des services du ServiceContainer

Injection de services et de configuration

Les services publics et privés

Renommer les services à l’aide des alias

Paramétrer les services et gérer les arguments

Paramétrer le câblage auto et la configuration auto

Lier des arguments par leur nom ou leur type

Atelier: Déporter les traitements dans des servicesGestion de performances

Revoir les fondamentaux du cache HTTP

Comparer les deux modèle de gestion de cache Expiration et Validation

Mettre en place la stratégie de cache sur les routes et dans les contrôleurs

Exploiter des fragments de pages mis en cache via les Edge Side Includes

Atelier: Réduire les temps de rendus des pages en s’appuyant sur le cache HTTP et les ESIPassage de la certification (si prévue dans le financement)

Non finançable CPF
1996.00 €
À distance
Tout public