Aller au contenu
Marie DadomoStudio de développement
Angular

Application Angular lente : trouver la cause avant d’optimiser

Par
Marie Dadomo
Le
Lecture
5 minutes
En résumé
Mesurer le parcours qui fait attendre

Une application Angular peut être rapide à ouvrir et lente à utiliser, ou l’inverse. Avant de changer le code, il faut identifier le moment où l’utilisateur attend : téléchargement, réponse d’une API, affichage d’une grille ou traitement après une saisie. Chaque problème appelle une mesure et une correction différentes.

« L’application est lente » décrit une gêne, mais ne permet pas encore de décider quoi corriger. Une optimisation utile part d’un parcours précis et d’une mesure de référence. Par exemple : ouvrir la liste des dossiers avec un compte donné, appliquer un filtre et attendre que les lignes soient utilisables. La mesure doit porter sur ce que l’utilisateur essaie réellement de faire.

Distinguer chargement, réseau et interaction

  • L’ouverture initiale est lente : observez le temps avant le premier écran utilisable, les fichiers téléchargés et les appels indispensables au démarrage.
  • La recherche fait attendre : examinez le départ de la requête, la durée de la réponse et le temps d’affichage des résultats.
  • La saisie ou le défilement se fige : recherchez le travail exécuté dans le navigateur pendant l’interaction.
  • L’application ralentit après un usage prolongé : comparez une session fraîche et une session où plusieurs écrans ont été ouverts, avec les mêmes actions.

Ces situations peuvent se cumuler. Une API renvoie beaucoup de données, puis l’interface les trie et affiche un grand nombre de lignes : le temps total comprend plusieurs étapes. Réduire seulement l’une d’elles peut laisser la gêne principale intacte. Le diagnostic doit montrer où se situe l’attente, plutôt que supposer qu’Angular en est la cause.

Reproduire les conditions des utilisateurs

Une liste de vingt lignes sur le poste du développeur ne représente pas forcément la grille de plusieurs milliers d’éléments utilisée dans l’entreprise. Il faut relever le navigateur, l’appareil, le réseau, le volume de données et le profil d’accès. Les mesures de référence se font sur une version construite pour la production ou un environnement représentatif, car le mode de développement peut modifier les résultats.

Pour comparer un avant et un après, gardez les mêmes conditions et précisez l’état du cache. Plusieurs essais permettent de repérer les variations du réseau ou du serveur. On peut suivre le temps jusqu’à un écran utilisable, la durée d’une recherche et la réactivité d’une saisie ; un score global seul ne décrit pas toute l’expérience d’un outil métier.

Examiner la cause confirmée dans le navigateur

Les outils réseau du navigateur montrent les échanges et leur durée. Pour le travail de l’interface, le guide officiel de performance Angular présente les outils de profilage adaptés. Ils permettent de rechercher les composants qui mobilisent du temps pendant les interactions. La mesure oriente alors l’analyse vers une zone du code.

Angular documente notamment les calculs coûteux dans les écrans et les cycles de mise à jour. Un traitement répété peut dégrader la réactivité. Il faut vérifier sa fréquence, son coût et la nécessité de le répéter avant de choisir une adaptation. Changer la stratégie de mise à jour d’un composant sans comprendre ses données peut créer des défauts d’affichage.

Si le problème concerne le démarrage, le chargement différé des routes peut aider à répartir le code téléchargé selon les écrans visités. C’est une piste à vérifier dans le projet, pas une garantie de résultat. Si l’attente principale vient d’un service distant, il faut aussi travailler avec l’équipe qui fournit ce service.

Le cas des grilles, filtres et recherches métier

Exemple fictif : un filtre dans une grille de dossiers paraît instantané sur un petit jeu de test et bloque l’écran avec les données habituelles. Le diagnostic peut examiner le volume transféré, le lieu où sont effectués le filtrage et le tri, et le nombre de lignes affichées. Selon le composant et l’API, une pagination ou un affichage limité aux lignes visibles peut faire partie des options.

Ces changements doivent respecter le métier. Paginer les résultats ne doit pas rendre un export incomplet sans l’annoncer. Décaler une recherche après la saisie doit garder un comportement compréhensible. Accélérer une grille demande donc aussi de valider la sélection, les filtres, les compteurs et la navigation au clavier.

Ce que doit livrer une intervention de performance

  • Le parcours mesuré et ses conditions : version, appareil, données et cache.
  • La cause identifiée, avec les observations qui la soutiennent et les limites du diagnostic.
  • La modification proposée et les fonctions qu’elle peut affecter.
  • Une comparaison avant/après dans les mêmes conditions, accompagnée d’essais fonctionnels.
  • Les éléments à observer après livraison et les éventuelles étapes suivantes.

L’objectif se convient à partir de la situation initiale et des contraintes. Il serait trompeur de promettre un pourcentage de gain avant les mesures. De même, une migration Angular peut être utile pour la maintenance, mais elle ne constitue pas à elle seule une réponse à une lenteur dont la cause n’est pas identifiée.

Mon expérience comprend des interfaces Angular métier avec des grilles avancées, notamment pour l’encodage hospitalier chez C-Consult advice. Si votre application fait attendre ses utilisateurs, décrivez l’action lente, sa fréquence et les conditions dans lesquelles elle apparaît. Je vous réponds sous 48 heures pour cadrer l’analyse possible dans le cadre de mon accompagnement web métier.

Questions fréquentes

Une application Angular lente doit-elle être réécrite ?

La lenteur seule ne justifie pas une réécriture. Il faut d’abord identifier l’attente : chargement, API, traitement des données ou affichage. Une correction localisée peut suffire ; la décision dépend des mesures et de l’état du projet.

Pourquoi mon application est-elle rapide avec les données de test ?

Les données de test peuvent être moins nombreuses ou moins variées, et le poste de développement peut différer des appareils utilisés. Le diagnostic doit reproduire des conditions représentatives avant de comparer les résultats.

Faut-il intervenir sur l’API pour accélérer l’application ?

Cela dépend de la cause. Si les réponses sont lentes ou transmettent trop de données pour le parcours concerné, une intervention côté service peut être nécessaire. Si le temps est surtout passé dans l’affichage, le travail peut concerner l’interface Angular.

Marie Dadomo

Développeuse indépendante à Angers. Huit ans de projets pour l’hôpital, les services de secours, l’aéronautique et l’assurance (CNP, Sodifrance), et trois applications publiées sur l’App Store et Google Play : Equio, VetSafe et Ellyo.

À lire ensuite