mobile-best-practice/chapters/MBP_022_fr.md

2.3 KiB

Economiser la bande passante en sauvegardant en base de données locale les données fournies par le serveur

Identifiants

// TODO

Catégories

Cycle de vie Tiers Responsable
4. Production Utilisateur/Terminal Architecte Logiciel/Développeur

Indications

Degré de priorité Mise en oeuvre Impact écologique
3 2 4
Ressources Economisées
Réseau / Requêtes

Description

Les réponses d'un serveur qui restent inchangées dans un futur proche et qui sont utilisées à chaque fois que l'application est ouverte ne doivent pas être redemandées. Par conséquent, il faut les sauvegarder en base de données locale pour économiser de la bande passante.

Si besoin, lorsque des données sont fournie par un serveur distant, il peut être intéressant de définir une stratégie de mise en cache/base de données locale. Par exemple :

  1. La première fois que l'application récupére une donnée du serveur, elle est stockée en cache afin d'être utilisée immédiatement par l'application.
  2. En arrière-plan, la donnée est sauvegardée en base de données en incluant la date de récupération de celle-ci.
  3. Plus tard, si l'application nécessite l'accès à nouveau à cette donnée et qu'elle n'est plus en cache : si en base de donnée la date de récupération de cette donnée est inférieure à X jours/minutes, celle-ci est à nouveau mise en case et fournie à la vue, sinon, la donnée est à nouveau récupérée du serveur et l'étape 1) ci-dessus est rejouée.

Exemple

Si une requête retourne une liste de noms de villes ou de noms de contacts, il faut mettre ces réponses en base de données pour ne pas générer à nouveau une requête vers le serveur dès que cette liste doit être à nouveau affichée.

Principe de validation

Le pourcentage ... est inférieur ou égal à
de réponses du serveur non mises en base de données locale 20%