Le développement d’API est devenu essentiel dans tout SI qui tend à s’élargir. De bonnes API exposées aux bons consommateurs permettent de centraliser des traitements qu’ils seraient coûteux, voire dangereux, de répéter dans chacun des éléments composants votre SI.
Néanmoins, le développement d’API vient avec son lot de challenges, organisationnels et techniques, qu’il faut prendre en compte au plus tôt afin de pouvoir fournir une solution fiable, résiliente et ouverte à l’évolution. De nombreuses dérives sont fréquentes et apprendre à les éviter permet de sécuriser la solution et d’en réduire le coût.
FORMATION DEVELOPPER UNE API AVEC API PLATFORM
- Développeurs, Lead développeurs
- Compréhension basique de Symfony et du langage PHP
FORMATION DEVELOPPER UNE API AVEC API PLATFORM : LES OBJECTIFS
- Donner tous les outils et pistes de réflexion nécessaire aux participants pour qu’ils puissent rapidement mettre en place des API performantes et robustes.
FORMATION DEVELOPPER UNE API AVEC API PLATFORM : LE PROGRAMME
JOUR 1
Rappels généraux sur les API
Objectif : Partir d’une compréhension commune des API
- Qu’est ce qu’une API Web ?
- Les normes HTTP
- La norme REST
- Swagger et OpenAPI
- Les bases du versioning d’API
- Comprendre vos consommateurs
- Utilisation de Postman (ou outil similaire)
Mise en place d’une API Rest avec API Platform
Objectif : Voir les fondamentaux d’API Platform et construire une application en partant de zéro autour de cet outil.
Installation
- Créer un projet Symfony avec API Platform
- Mettre en place une base de données Microsoft Sql
Créer ma première API
- Mettre en place une liste de livre avec laquelle on peut interagir
- Définir les données affichables
- Valider les données
- Ajouter la notion de catégorie à nos livres
- Trier, filtrer et paginer nos résultats
Pour aller plus loin
- Ajouter des opérations personnalisées
- Manipuler la documentation Open API générée
JOUR 2
Sécurisation de notre API
Objectif : Apprendre à mettre en place différents systèmes pour protéger notre nouvelle API, que l’origine du danger soit un membre de l’équipe un peu fatigué ou des utilisateurs extérieurs.
Tester notre API
- Créer des jeux de données de test
- Mettre en place des Tests Fonctionnels avec Php Unit
- Mettre en place des Tests Unitaires avec Php Unit
Mettre en place l’authentification
- Découvrir le composant Security de Symfony
- Forcer l’authentification du client via JWT
Pour aller plus loin avec l’utilisateur authentifié
- Injecter l’utilisateur lors de l’ajout ou la modification d’un « livre »
- Récupérer les livres créés par l’utilisateur
- Limiter les champs exposés en fonction de l’utilisateur
Sécurisation au delà d’API Platform
- Injections SQL
- Restriction des accès réseau
JOUR 3
Pour aller plus loin
Objectif: Mesurer et améliorer les performances de son API et en assurer la robustesse sur la durée. Dépasser le cadre d’API Platform et l’utiliser comme un outil plutôt que le coeur même de notre API.
Optimiser les performances
- Les métriques importantes et comment les lire
- Mettre en place du cache et éviter le eager loading
- Utiliser des outils de monitoring et de test des performances (Blackfire, K6 ou Gatling)
- Autres points d’attention
Décentraliser l’utilisation d’API Platform
- Récupérer les livres via un DataProvider
- Ajouter des livres via un DataPersister
- Utiliser API Plaftorm dans un contexte clean archi
Assurer la maintenance de votre API
- Les outils et réflexes à avoir pour debug les problèmes en production
- Monitorer le fonctionnement de votre API : uptime et logs fonctionnels
FORMATION DEVELOPPER UNE API AVEC API PLATFORM : LA DURÉE
Formation de 3 jours
Infos pratiques : Nos formations en informatiques sont maintenues à compter d’un participant et elles peuvent être réalisées chez nous ou chez vous.
Pour découvrir nos autres formations, cliquez ici