Ecriture sur un disque

Adobe AIR 1.0 et les versions ultérieures

Les applications qui s’exécutent dans un navigateur Web n’ont qu’une interaction limitée avec le système de fichiers local de l’utilisateur. Les navigateurs Web implémentent des stratégies de sécurité qui garantissent que l’ordinateur de l’utilisateur ne peut pas être mis en danger à la suite du chargement d’un contenu du Web. Par exemple, les fichiers SWF qui passent par Flash Player dans un navigateur ne peuvent pas interagir directement avec des fichiers qui se trouvent déjà sur l’ordinateur d’un utilisateur. Les objets partagés et les cookies peuvent être écrits dans l’ordinateur d’un utilisateur dans le but de maintenir les préférences et les données de l’utilisateur, mais il s’agit là de la limite de l’interaction avec le système de fichiers. Comme les applications AIR sont installées en mode natif, ils possèdent un contrat de sécurité différent, celui qui inclut la possibilité de lire et d’écrire dans tout le système de fichiers local.

Cette liberté s’accompagne d’une grande responsabilité de la part des développeurs. Les insécurités accidentelles de l’application compromettent non seulement la fonctionnalité de l’application, mais aussi l’intégrité de l’ordinateur de l’utilisateur. C’est pourquoi les développeurs devraient lire la section Recommandations destinées aux développeurs en matière de sécurité .

Les développeurs AIR peuvent accéder à des fichiers du système de fichiers local et en placer dans ce système à l’aide de plusieurs conventions de modèles d’URL :

Modèle d’URL

Description

app:/

Un alias du répertoire de l’application. Les fichiers auxquels on accède à partir de ce chemin sont affectés au sandbox de l’application et sont dotés du maximum de privilèges par le moteur d’exécution.

app-storage:/

Un alias du répertoire de stockage local de l’application, standardisé par le moteur d’exécution. Les fichiers auxquels on accède à partir de ce chemin sont affectés au sandbox hors application.

file:///

Un alias qui représente la racine du disque dur de l’utilisateur. Un fichier auquel on accède à partir de ce chemin est affecté à un sandbox de l’application si le fichier existe dans le répertoire de l’application et à un sandbox hors application dans les autres cas.

Remarque : les applications AIR ne peuvent pas modifier le contenu à l’aide du modèle d’URL app:. De plus, le répertoire de l’application peut être lu uniquement en raison des paramètres de l’administrateur.

A moins qu’il n’existe des restrictions de l’administrateur à propos de l’ordinateur de l’utilisateur, les applications AIR détiennent le privilège d’écrire sur tout emplacement du disque dur de l’utilisateur. Les développeurs sont informés d’utiliser le chemin app-storage:/ pour le stockage local lié à leur application. Les fichiers écrits sur app-storage:/ à partir d’une application sont placés dans un emplacement standard :

  • Sous Mac OS : le répertoire de stockage d’une application se nomme <appData>/<appId>/Local Store/ , où <appData> représente le dossier des préférences de l’utilisateur. Il s’agit le plus souvent de /Utilisateurs/<utilisateur>/Bibliothèque/Preferences

  • Sous Windows : le répertoire de stockage d’une application se nomme <appData>/<appId>/Local Store/ , où <appData> représente le dossier spécial CSIDL_APPDATA de l’utilisateur. Il s’agit le plus souvent de C:\Documents and Settings\<nom d'utilisateur>\Application Data

  • Sous Linux : <appData>/<appID>/Local Store/ , où <appData> correspond à /home/<utilisateur>/.appdata

Si une application est conçue pour interagir avec des fichiers existants dans le système de fichiers de l’utilisateur, prenez soin de lire les Recommandations destinées aux développeurs en matière de sécurité .