Bonne pratique
L'autocomplétion, ou complément automatique est une fonctionnalité très répandue consistant à suggérer à l'utilisateur des résultats correspondant à sa recherche pendant sa saisie. Par exemple, un site permettant de rechercher un itinéraire va proposer « Paris », « Lyon Part-Dieu » et « Paray le Monial » quand l'utilisateur tape « Par ».
L'implémentation de l'autocomplétion consiste à envoyer une requête au serveur à chaque caractère saisi pour récupérer les résultats correspondants. On peut donc avoir beaucoup de requêtes effectuées et beaucoup de ressources dépensées.
Dans la mesure du possible, cette fonctionnalité est à remplacer par la saisie assistée. Cela consiste à guider l’utilisateur par un ensemble d’informations et d’indices :
placeholder
)Les interactions liées à la saisie assistée sont gérées localement, ce qui réduit les échanges avec le serveur.
Pour l'exemple de la recherche d'itinéraire et de la complétion des villes, il est possible, en cas d'ambiguïté, de proposer les différents résultats après la soumission du formulaire. L'utilisateur entre une chaine de caractère, par exemple « Lens », soumet le formulaire, et se voit à ce moment proposées différentes options : « Lens (France) », « Lens (Belgique) », « Loison sous Lens ».
Si le recours à l'autocomplétion ne peut pas être évité il est possible de minimiser le nombre de requêtes avec des optimisations simples :
local storage
et effectuer l'autocomplétion côté client.Le "Référentiel d'écoconception web (REW)" est publié par GreenIT.fr dans le cadre des travaux du Collectif conception numérique responsable selon les termes de la licence Creative Commons Attribution.
Nous pouvons étudier et proposer des solutions techniques pour remplacer l'autocomplétion par des mécanismes de saisie assistée. React permet d'ajouter des éléments comme les placeholders dynamiques et des messages d'erreur en temps réel, améliorant l'expérience utilisateur tout en réduisant les requêtes serveur.
Si l'autocomplétion est indispensable, nous recommandons des optimisations comme des délais entre saisies et des requêtes différées pour limiter les interactions. Utiliser des librairies comme react-query pour gérer efficacement le cache côté client permet de minimiser la charge serveur tout en fournissant des suggestions pertinentes.
Règle de validation
Le nombre de champs en autocomplétion doit être inférieur ou égal à 20%
Ressources économisées