WLangage.book Page 231 Mardi, 23. avril 2013 1:59 13 interrupteur et sélecteur peuvent être utilisés dans des pages en mode déconnecté. • Les boutons et liens ne doivent pas être de type "Submit". Il est cependant possible d'utiliser l'action "Afficher la page XXX". • Si l'enregistrement de données est nécessaire en mode déconnecté, il est nécessaire d'utiliser une base de données locale. La norme HTML 5 permet aux sites Internet d'utiliser une base de données locale gérée par le navigateur. Pour plus de détails, consultez SQL Base de données locale à un navigateur. • Si le site doit pouvoir fonctionner en mode connecté et déconnecté, il est possible d'utiliser la fonction NavigateurEstConnecté en code navigateur pour savoir si un code serveur peut être ou non effectué. En cas de déconnexion, une procédure ou un traitement spécifique peut être lancé pour ne pas effectuer le code serveur. • Utilisez les traitements optionnels de la page "Passage en mode déconnecté", "Passage en mode connecté" et "A chaque changement d'état du cache HTML" pour réaliser les traitements nécessaires au changement d'état (récupération des données de la base de données locale par exemple). 8.2.4 Test du site Pour tester un site en cache : 1. Configurez si nécessaire le serveur du poste de développement. 2. Lancez le test du site (Go du site). Toutes les pages nécessaires sont mises en cache. 3. Utilisez l'option "Travailler hors connexion" du navigateur. 4. Testez votre site. 8.3 Accès en mode local à une base de données (SQLite) WebDev permet à un site de créer et d'accéder à une base de données créée par le navigateur sur le poste de l'internaute en code navigateur. Cette fonctionnalité permet par exemple de saisir des données en mode déconnecté pour les transmettre au serveur dès que la connexion à Internet sera rétablie. Attention : Cette fonctionnalité est disponible uniquement sous certains navigateurs : • Chrome, • Safari, • Opéra 11, ... 8.3.1 Comment gérer une base de données locale ? 1. Utilisez la fonction SQLConnecte en code navigateur pour vous connecter à la base de données locale. Par exemple : // Connexion à une base navigateur // nommée "BaseLocale" // La base est créée si elle // n'existe pas SQLConnecte("BaseLocale",... "","","","Web SQL database")) 2. Utilisez la fonction SQLExec pour réaliser des requêtes sur la base de données locale Attention : Les requêtes SQL sont exécutées de manière asynchrone. La syntaxe de la fonction SQLExec utilise donc une procédure spécifique. Cette procédure est lancée à la fin de l'exécution réelle de la requête (quelque soit le résultat de la requête). Cette procédure navigateur permet de : • tester la bonne exécution de la requête. La fonction SQLInfoGene est automatiquement exécutée à l'appel de la procédure. Les variables SQL sont donc toutes positionnées. Si une erreur est survenue, SQL.erreur sera différente de "00000". Le message d'erreur pourra être connu grâce à la variable SQL.MesErreur. • parcourir le résultat de la requête. Si de nouvelles requêtes sont exécutées dans cette procédure (par exemple pour ajouter des enregistrements), il est possible : • soit d'utiliser la même procédure : le paramètre de cette procédure permet de connaître la requête en cours d'exécution. • soit d'utiliser une procédure navigateur différente pour tester le résultat de ces nouvelles requêtes. Remarques : • Lors de la sortie de la procédure navigateur, les valeurs renvoyées par la fonction SQLInfoGene sont rétablies. Si ces valeurs ont été modifiées dans la procédure navigateur, elles sont écrasées. • Pour connaître les ordres SQL utilisables, consultez la documentation des bases de données de type "Web SQL database". Partie 5 : Fonctionnalités spécifiques au Web 231