46 liens privés
L'article explique le principe de l'exponential backoff, une technique utilisée pour améliorer la résilience des applications modernes en gérant les tentatives de reconnexion ou de réexécution d'opérations après un échec. Cet algorithme augmente progressivement le délai d'attente entre chaque tentative, réduisant ainsi la pression sur les systèmes en défaillance et augmentant les chances de succès lors de pannes temporaires. L'article décrit comment implémenter cette technique en PHP, en incluant des paramètres comme le jitter pour éviter les tentatives simultanées. Il souligne également l'importance de rendre les opérations idempotentes et de bien configurer les paramètres de délai. L'exponential backoff est largement utilisé dans divers frameworks et bibliothèques pour améliorer la fiabilité des applications.
L'auteur explique qu'il a récemment dû mettre à jour son API vers une nouvelle version tout en maintenant l'ancienne pour les clients existants. Il a d'abord pensé à utiliser /v1/products pour la version actuelle et /v2/products pour la nouvelle, mais cette approche viole les principes REST et complique la maintenance. Les URL versionnées créent un couplage serré avec les clients, rendant difficile la gestion des versions obsolètes et entraînant une duplication de code. Une alternative RESTful consiste à utiliser les en-têtes HTTP pour négocier les versions, ce qui permet de maintenir des URI stables et de faciliter la compatibilité ascendante. Cependant, cette méthode nécessite que les clients configurent les en-têtes, ce qui peut être non trivial avec certains outils ou bibliothèques.
L'article présente une liste d'outils open source pour le test d'API, essentiels dans les architectures modernes basées sur les microservices. Il explique les différents protocoles comme SOAP, REST et GraphQL, et les critères techniques pour choisir un outil de test d'API. Parmi les outils mentionnés, on trouve Airborne, APIAuto, Apickli, ArexTest, Bruno, Dredd, Firecamp, Frisby, Insomnia, mountebank, RestAssured, Schemathesis, SoapUI, SuperTest et Tavern. Chaque outil a ses propres caractéristiques et avantages, comme la facilité d'utilisation, la compatibilité avec divers langages de programmation, et l'intégration avec les processus de développement et de livraison de logiciels.
L'article traite des meilleures pratiques en matière d'authentification et d'autorisation, en particulier dans le contexte des API. Voici un résumé des points clés :
-
Authentification :
- HTTP Basic Authentication : Méthode simple mais peu sécurisée, utilisable uniquement dans des environnements très contrôlés ou pour des tests locaux.
- Clés API : Doivent être traitées comme des mots de passe, transmises via HTTPS et régulièrement renouvelées.
- JSON Web Token (JWT) : Plus sécurisé que les méthodes précédentes, mais nécessite une étape de connexion initiale. Idéal pour les applications web nécessitant une authentification utilisateur.
- OpenID Connect (OIDC) : Ajoute une couche d'authentification à OAuth 2.0, permettant une intégration sécurisée des identités sur Internet.
- Authentification Multi-Facteurs (MFA) : Renforce la sécurité en exigeant plusieurs facteurs d'authentification.
-
Autorisation :
- OAuth 2.0 : Mécanisme d'autorisation basé sur des jetons, permettant aux utilisateurs de donner accès à leurs données à des applications tierces sans partager leurs identifiants.
- Contrôle d'Accès Basé sur les Rôles (RBAC) : Assigne des permissions basées sur les rôles des utilisateurs.
- Contrôle d'Accès Basé sur les Attributs (ABAC) : Permet un contrôle plus fin en se basant sur les attributs des utilisateurs, des ressources et de l'environnement.
- Contrôle d'Accès Basé sur les Politiques (PBAC) : Combine les rôles et les politiques pour déterminer les privilèges d'accès.
-
Meilleures Pratiques :
- Utiliser HTTPS pour chiffrer les communications.
- Stocker les identifiants sensibles de manière sécurisée.
- Appliquer le principe du moindre privilège.
- Valider toutes les entrées utilisateur pour prévenir les attaques par injection.
- Limiter le nombre de requêtes pour éviter les abus.
- Surveiller et journaliser les activités pour détecter les comportements suspects.
-
Erreurs Courantes à Éviter :
- Utiliser HTTP au lieu de HTTPS.
- Stocker les clés API dans le code.
- Ne pas valider les entrées utilisateur.
- Ignorer les bonnes pratiques de sécurité.
L'article souligne l'importance de rester à jour sur les menaces de sécurité et de suivre les meilleures pratiques pour garantir la sécurité des API.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Une présentation des schémas Json, avec ou sans utilisation de TypeScript
Une API pour envoyer / recevoir des messages vers toutes les fenêtres / onglets ouverts sur la même page web - pratique pour un système de notification / chat / etc. temps réel
Tout est dans le titre
Tout est dans le titre
Pratique !
Les 4 API :
- Screen Orientation API -> avec la possibilité, entre autres, de figer l'orientation
- Device Orientation API
- Vibration API
- Contact Picker API
Toutes ces API sont plutôt bien supportées, sauf Contact Picker qui n'est supportée que par Google Chrome
Tout est dans le titre
Tout est dans le titre
L'auteur montre l'utilisation des DTOs et des annotations pour la validation de données de requêtes d'API.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Il s'agit d'un tutoriel sur la construction d'un lecteur audio