Les cookies (SharedObject) Imprimer

 

Lorsque vous aurez besoin de mémoriser une information sur la machine de l'utilisateur, vous ferez appel aux SharedObjects. Il s'agit d'une technique d'enregistrements de données dans un fichier texte qui se touve dans un dossier bien caché de l'ordintaeur de l'utilisateur. Même s'il efface toutes les traces de son navigateur, historique, cache, mots de passe, etc., un cookie créé par un .swf ne sera pas supprimé. C'est au développeur Flash de gérer la suppression, en la demandant (en exécutant une ligne d'instruction), sinon le fichier restera sur la machine jusqu'à ce que le disque dur soit formaté.


Pour créer un cookie, vous devez faire appel à la classe SharedObject() que vous n'avez pas besoin d'instancier.

   var coursier:SharedObject = SharedObject.getLocal("memoPositions");


Vous appelez la méthode getLocal() au moment où vous déclarez et initialisez une instance et vous spécifiez en même temps le nom du fichier qui va être stocké sur la machine de l'utilisateur.

La ligne d'instruction ci-dessus a la particularité de créer un fichier au nom spécifié entre les parenthèses de la méthode getLocal() s'il n'existe pas, dans le cas contraire, le fichier n'est pas crée, mais lu.

Pour l'instant, le fichier reste virtuel et ne possède aucune donnée. Pour écrire des "datas" dans le fichier (dans le cookie), vous devez exécuter la ligne d'instruction ci-dessous :

   nomClient.text = coursier.data.nom;


Afin qu'une information stockée dans un cookie puisse être récupérée au lancement de l'animation, utilisez le script ci-dessous :

   var coursier:SharedObject = SharedObject.getLocal("memoPositions");

   if (coursier.data.nom!= undefined) {

       nomClient.text = coursier.data.nom;

   }


Dans l'exemple ci-dessus, nous cherchons à savoir si le fichier memoPosition possède une variable intitulée nom. Si c'est le cas, nous plaçons sur la scène, dans un texte dynamique intitulé nomClient, le contenu de la variable nom stockée dans le fichier memoPosition.

Voici l'exemple complet d'une animation où l'utilisateur doit saisir un texte avant de cliquer sur un bouton qui mémorise la saisie.

 

Remarque : Rechargez la page pour découvrir que le texte que vous avez saisi va s'afficher automatiquement. 

 

   var coursier:SharedObject = SharedObject.getLocal("memoPositions");

   if (coursier.data.nom!= undefined) {

       nomClient.text = coursier.data.nom;

   }

   btMemoriser.addEventListener(MouseEvent.MOUSE_DOWN,enregistrerNom);

   function enregistrerNom(evt:MouseEvent) {

       coursier.data.nom = nomClient.text;

       coursier.flush();

   }

 

 

 

 

[Télécharger le .fla] 

Attention : L'écriture d'une valeur dans une variable se fait réellement dans le fichier .sol, sur la machine de l'utilisateur, qu'à partir du moment où vous exécutez la méthode flush() ou si vous fermer la fenêtre du player Flash (ou de votre navigateur).


Emplacement d'un cookie

Le fichier d'un cookie créé sur la machine de l'utilisateur est stocké à cette adresse :


CS3

Windows : C:\Documents and Settings\[ username ] \\Application Data\\Macromedia\\Flash Player\\#SharedObjects\\ [ random character
directory name ].

Macintosh : /Users/[ username ] /Library/Preferences/Macromedia/Flash Player/#SharedObject/ [ random character directory name
].

 

CS4

Windows Vista : c:/Users/username/user_domain/AppData/Roaming/Macromedia/Flash Player/#SharedObjects/web_domain/path_to_application/application_name/object_n ame.sol

Windows 2000/XP : c:/Documents and Settings/username/user_domain/Application Data/Macromedia/Flash Player/#SharedObjects/web_domain/path_to_application/application_name/object_n ame.sol

OS X : /Users/username/Library/Preferences/Macromedia/Flash Player/#SharedObjects/web_domain/path_to_application/application_name/object_n ame.sol

 

Deuxième exemple

Ce deuxième exemple va parler de lui même. Positionnez l'occurrence n'importe où sur la scène, fermez et relancez votre navigateur puis revenez sur cette page !!!

 

 

 

 

[Télécharger le .fla]