mobile-best-practice/chapters/MBP_022_fr.md

44 lines
2.3 KiB
Markdown

## Economiser la bande passante en sauvegardant en base de données locale les données fournies par le serveur
### Identifiants
| V1 |
|:--:|
| 22 |
### 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% |