BTS SIO2D
  • Accueil
  • Connexion
10 janvier 2025 par Hugo Bourgeois

IX) Les Intercepteurs HTTP dans AngularJS

IX) Les Intercepteurs HTTP dans AngularJS
10 janvier 2025 par Hugo Bourgeois

Table des matières

Toggle
  • 🔎 Introduction
  • 🛠️ Pourquoi utiliser les Intercepteurs HTTP ?
  • ⚙️ Fonctionnement des Intercepteurs HTTP
    • 📌 Exemple d’implĂ©mentation d’un intercepteur
    • 🔍 Explication du code :
  • 🎯 Avantages des Intercepteurs HTTP
  • âś… Conclusion

🔎 Introduction

Les intercepteurs HTTP dans AngularJS permettent d’intercepter, modifier ou annuler les requêtes et réponses HTTP de l’application. Ils sont particulièrement utiles pour :

✅ Ajouter des en-têtes d’authentification
✅ Gérer les erreurs globales
âś… Afficher des indicateurs de chargement

Plutôt que de répéter ces opérations dans chaque requête, les intercepteurs centralisent ces traitements, garantissant ainsi un code plus propre et maintenable.


🛠️ Pourquoi utiliser les Intercepteurs HTTP ?

Dans une application qui communique avec une API, certaines tâches reviennent fréquemment :

🔹 Ajouter un token d’authentification aux requêtes
🔹 GĂ©rer les erreurs globales (ex : expiration de session, accès interdit…)
🔹 Afficher et cacher un loader durant les requêtes

Sans intercepteurs, ces actions doivent être répétées dans chaque appel HTTP, ce qui alourdit le code et complique sa maintenance.

Avec les intercepteurs HTTP, ces tâches sont gérées de manière centralisée, améliorant ainsi l’organisation et la lisibilité du projet.


⚙️ Fonctionnement des Intercepteurs HTTP

Un intercepteur HTTP est un service AngularJS qui intercepte les requêtes et les réponses HTTP. Il est enregistré via $httpProvider.interceptors.

📌 Exemple d’implémentation d’un intercepteur

angular.module(‘app’).factory(‘AuthInterceptor’, function($q, $injector) {
return {
// 🔄 Intercepter les requêtes sortantes
request: function(config) {
const AuthService = $injector.get(‘AuthService’);
const token = AuthService.getToken();
if (token) {
config.headers.Authorization = ‘Bearer ‘ + token;
}
return config;
},

// ❌ Intercepter les rĂ©ponses en cas d’erreur
responseError: function(rejection) {
if (rejection.status === 401) { // Non autorisé
const $state = $injector.get(‘$state’);
$state.go(‘login’); // Redirection vers la page de connexion
}
return $q.reject(rejection);
}
};
});

// 📌 Ajout de l’intercepteur dans AngularJS
angular.module(‘app’).config(function($httpProvider) {
$httpProvider.interceptors.push(‘AuthInterceptor’);
});

🔍 Explication du code :

âś… Interception des requĂŞtes
👉 Avant l’envoi d’une requête, l’intercepteur ajoute un token d’authentification dans les en-têtes si l’utilisateur est connecté.

âś… Gestion des erreurs
👉 Si une réponse HTTP retourne une erreur 401 (non autorisé), l’utilisateur est automatiquement redirigé vers la page de connexion.

✅ Ajout de l’intercepteur
👉 L’intercepteur est enregistré dans $httpProvider.interceptors.push(), pour être appliqué à toutes les requêtes de l’application.


🎯 Avantages des Intercepteurs HTTP

🔹 Centralisation des traitements → Plus besoin de répéter les mêmes actions dans chaque requête.
🔹 Réduction du code redondant → Meilleure lisibilité et maintenance du projet.
🔹 Gestion unifiée des erreurs et de l’authentification → Une structure plus propre et robuste.


âś… Conclusion

Les intercepteurs HTTP sont un outil essentiel pour gérer efficacement les requêtes et réponses dans AngularJS.

🔸 En centralisant la logique d’authentification et de gestion des erreurs, ils simplifient le développement et améliorent la maintenabilité.
🔸 Ils permettent d’optimiser le code en évitant les répétitions inutiles.

💡 En bref : si ton application AngularJS communique avec une API, l’utilisation des intercepteurs est une excellente pratique pour structurer ton code de manière claire et efficace ! 🚀

10ème articles
Article précédentLes Services dans AngularJSArticle suivant L'IA ne remplacera jamais la "touche humaine" dans le développement de jeux vidéo, selon le patron de PlayStation, Hermen Hulst

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

About The Blog

Nulla laoreet vestibulum turpis non finibus. Proin interdum a tortor sit amet mollis. Maecenas sollicitudin accumsan enim, ut aliquet risus.

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met Ă  Unreal Engine ?17 mars 2025

Catégories

  • Article Angular Killian
  • Article ClĂ©ment
  • Article Unreal Engine Hugo
  • CybersĂ©curitĂ©
  • IA
  • Non classĂ©
  • Projet Flutter KHM
  • Projet Hugo
  • Stage ClĂ©ment
  • Stage Hugo
  • Stage Killian P
  • TP ClĂ©ment

Méta

  • Inscription
  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Étiquettes

Article Développer son projet professionnel Flutter Gérer son identité professionnelle Java Stage Symfony TP

Why Lander

Lander is a design prepared
especially for the free version
of Rife WordPress Theme.

You can use this for free.
Make your website today.
Get Started Now!

Contact

734 Blackwell Street
Anchorage, Alaska
info@domain.com
+33 (0) 101 0000
+33 (0) 102 0000
Mon. - Fri. 8AM - 6PM

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met Ă  Unreal Engine ?17 mars 2025
Rife Wordpress Theme. Proudly Built By Apollo13