iOS 5 : un nouveau système de purge des données des apps

Florian Innocente |

Apple a revu dans iOS 5 la manière dont les applications stockent leurs données, avec des implications pouvant, dans certains cas, gêner l'utilisateur. Depuis quelques jours Apple envoie à des développeurs un mail en les invitant à effectuer quelques modifications dans leurs applications (lire aussi iCloud : Apple prévient les développeurs gourmands).

Marco Arment le développeur d'Instapaper (qui stocke des articles trouvés sur le web et que l'on veut lire plus tard sur son Mac ou iPhone/iPad) prend le cas de son utilitaire et cite d'autres exemples.

Il rappelle d'abord qu'une application iOS contient une arborescence de dossiers dans lesquels sont notamment enregistrés fichiers et réglages. Ces contenus sont synchronisés avec iTunes, sauf les éléments rangés dans les dossiers 'Cache' et 'tmp'.

photoarment

iOS jusque-là ne touchait pas à ces deux dossiers. Dès lors, le développeur les utilisait pour y placer en local ces articles à lire. Instapaper possède une copie en ligne de chacun sur ses propres serveurs. En cas de suppression de ces dossiers (lors d'une restauration de l'iPhone ou d'une perte de données), le contenu de ces deux répertoires peut être ainsi restauré. Et ces articles n'étant pas dans les dossiers synchronisables avec iTunes, cette opération est aussi plus courte.

Avec iOS 5, Apple a changé les règles. Dans le sous-dossier 'Documents' d'une app, le développeur place tout contenu créé par l'utilisateur ou qui ne peut être régénéré par l'application elle-même. Ces éléments sont sauvegardés vers iCloud.

À l'inverse, ce qui peut être récupéré avec un téléchargement doit être placé dans le répertoire 'Cache'. Typiquement, des articles ou une galerie d'images dans une app d'actualité. D'une part l'utilisateur n'en est pas l'auteur et d'autre part il peut les recharger depuis le site du média.

Tout irait bien, explique Arment, si iOS 5 ne s'était arrogé le droit de purger d'autorité ces dossiers ‘Cache' et 'tmp' lorsque la place libre vient à manquer sur l'iPad ou l'iPhone. Dans ce cas une application d'actualité verra son contenu supprimé, obligeant l'utilisateur à le recharger au prochain lancement.

Tant que l'on a du réseau la gêne est relative, mais il est des scénarios problématiques. Par exemple lorsque vous chargez une application de son contenu avant de vous retrouver sans réseau ou dans une situation où cela pèsera sur votre forfait data. Pour peu qu'iOS entre-temps ait eu besoin de plus de place, il supprimera ces fichiers, vous laissant une application vierge de ses données. Avec à la clef au mieux la surprise de l'utilisateur, au pire son mécontentement devant ce qui sera pris pour un bug de l'application.

Pour Arment, iOS 5 doit proposer une solution médiane. Un dossier de stockage qui ne se synchronise pas avec iCloud et auquel iOS ne touche pas. Et qui ne disparaîtra qu'une fois l'application supprimée. Il faut toutefois bien souligner que cette purge automatique ne se fait qu'en cas de manque d'espace de stockage. Les propriétaires de modèles 32 ou 64 Go seront dès lors avantagés.


Tags
avatar drkiriko | 
Très bonne synthèse.
avatar Kinky | 
D'ailleurs votre appli iPhone pèse lourd en données, 354 mo de données pour même pas 5 mo l'appli, c'est assez surprenant.
avatar voodoo10 | 
@innocente C'est chiant les liens ne sont pas actif dans l'application iOS... Et on ne peut pas non plus faire un copier/coller...
avatar SeanC | 
@redchou : il faut faire une copie d'écran de la page des réactions puis ouvrir cette capture dans une app pour recadrer uniquement l'URL puis enregistrer l'image puis chercher sur safari mobile un site d'OCR gratuit puis lui envoyer l'image (ça je ne sais pas si c possible. Dans le cas contraire, peut-être utiliser l'app de imageshack pour placer d'abord l'image en ligne et espérer que le site OCR accepte les fichiers en ligne) puis copier coller l'URL... Ou alors prendre une feuille de papier et un bic qui ne soit pas usé ou sec... :-D
avatar fks86 | 
Donc, si l'on garde de l'espace libre, iOS n'effectuera pas cette purge et tout ira bien.
avatar powerjaja | 
Bah en meme temps un fichier tmp ca veut bien dire ce que ca veut dire non? Comme si quelqu'un se plaignait que la femme de menage vide trop souvent sa poubelle de son bureau et d'avoir perdu des documents imprimés alors qu'il utilisait sa poubelle comme lieu de stockage plus que temporaire. Analogie un peu foireuse certes mais l'idee est là. Me choque pas que le systeme vide le tmp si besoin. Le cache c'est plus galere.
avatar powerjaja | 
Tiens pour macge : bug dans la saisie d'un commentaire trop long sur iPhone. Ca scrolle pas et le texte saisi apparait sous le clavier. On tape à l'aveuglette.
avatar powerjaja | 
Ca pointe quelque part du doigt les mauvais codeurs qui mettaient un peu tout et n'importe quoi dans tmp par simple facilité. Va falloir qu'ils reflechissent un peu et s'enlevent les "fingers from zi ass".
avatar romainmaclovin | 
En même temps je suis assez d accord avec Apple! J ai 3 apps qui me prennent 1Go en tout (macge est à plus de 300mo) et qu iOS se permettent de tout supprimer de temps en temps c est plutôt très bien! Après c est sur ça peut poser quelques problèmes dans de très rares situations... Mais bon les devs feront quelques efforts à ce niveau dans le futur pour éviter les 1* sur l AppStore de gens qui pensent à un bug! En attendant j ai suivi vos conseils et j ai réinitialiser l app!
avatar SeanC | 
Plus personne ne passera sans doute par ici, mais je voulais signaler que l'app WebUploader propose bel et bien l'upload d'images pour n'importe quel site web. Je n'ai pas testé.

CONNEXION UTILISATEUR