
Pourquoi et comment paginer ses listes et tableaux ? Ne pas récupérer des données qui n’ont pas d’utilité immédiate. On vous explique tout !
On le constate souvent dans les applications, les pages qui affichent des listes sont les plus lentes à s'afficher et à charger.
Les soucis proviennent généralement du fait que les développeurs ne paginent pas leurs données et envoient tous les résultats en une seule fois.
Mettre en place une pagination est une bonne pratique pour ne pas surcharger les requêtes HTTP et les réponses. Cela permet aussi de ne pas surcharger le front avec des données inutiles.
Si vous avez un tableau qui peut contenir des centaines de lignes, il est inutile de les charger toutes en même temps.
De plus, vos données peuvent être filtrées. Il est donc inutile d'afficher 50 résultats en sachant que les 5 ou 10 premiers sont souvent les plus pertinents.
C'est donc pour ça que vous avez l'obligation de paginer vos données.
Vous allez y gagner en performance et en temps de chargement.
// exemple de pagination avec linq
// exemple de bonne conception
this._dbContext.Utilisateurs
.Include(u => u.Adresse)
.Include(u => u.Documents)
.Include(u => u.Service)
.Skip(0)
.Take(10)
.ToList();
ou
// exemple de pagination avec spring data
// exemple de bonne conception
this._userRepository.findAll(PageRequest.of(0, 10));
ou
SELECT * FROM utilisateur
INNER JOIN adresse ON adresse.id = utilisateur.adresse_id
INNER JOIN document ON document.id = utilisateur.document_id
INNER JOIN service ON service.id = utilisateur.service_id
LIMIT 0, 10;
L'impact sur vos requêtes et vos retours de l'API peuvent être très importants en termes de temps et d'énergie consommé !
Si vous mettez ça en application et que vous utilisez aussi les DTO, vous aurez des requêtes et des réponses très légères !
Retrouvez notre article sur les DTO !
Maintenant que vous avez mis en place la pagination, vous pouvez aussi mettre en place le tri et les filtres pour vos données.
Attention si vous voulez faire des filtres, ne tombez pas dans la création de filtres avec des tas de données inutiles.
Nous connaissons tous les filtres "Dropdown" qui contiennent des centaines de données et qui sont très lents à charger.
Je vous propose de faire des filtres avec des champs de recherche qui eux peuvent vous afficher et préfiltrer afin d'optimiser encore une fois le chargement des données.
En plus de mettre en place des filtres optimisés et non pas des filtres qui contiennent des centaines de données inutiles, la pagination est une bonne pratique à mettre en place pour optimiser vos requêtes et vos réponses. Pensez-y !
On vous explique la création de A à Z d’une application ReactJS avec API SpringBoot, avec création et déploiement sur AWS (S3, CloudFront, EC2, ECS, RDS, ELB) et CI/CD GitLab - 3/4
Il se peut que vous ayez déjà cherché une solution de captchas pour protéger votre site contre les botters. Il est facile de se perdre dans les différentes solutions existantes, nous proposons aujourd'hui un comparatif des différentes options possibles avant de s'intéresser à l'application des Proof of Work dans ce problème.
Le code informatique tend à se complexifier, ce qui rend essentiel la création d’un code propre, ou "Clean Code", pour assurer la pérennité des systèmes et faciliter le travail en équipe sur un code source. Mais qu’est-ce qu’on entend vraiment par clean code ? C’est ce que nous allons voir dans cet article !