PureBasic

Forums PureBasic
Nous sommes le Sam 21/Juil/2018 18:10

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 24 messages ]  Aller à la page 1, 2  Suivante
Auteur Message
 Sujet du message: SQLite dans le local-storage du navigateur.
MessagePosté: Jeu 12/Oct/2017 13:11 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6617
Localisation: IDF (Yvelines)
Avec la version 2.20 de SpiderBasic il est possible de créer une base de données dans le local storage de votre navigateur.

C'est ce que je vous propose de faire avec ce code concocter par Peter (Alias Kiffi)
Code:
If OpenDatabase(0)
  Debug "OpenDatabase(): OK"
 
  ;Création d'une table
  DatabaseUpdate(0, "Create Table SuperHeroes (Prename TEXT, Surname TEXT)")
 
  ;Insertion de quelques enregistrements
  DatabaseUpdate(0, "Insert Into SuperHeroes (Prename, Surname) Values ('Peter', 'Parker')")
  DatabaseUpdate(0, "Insert Into SuperHeroes (Prename, Surname) Values ('Bruce', 'Wayne')")
  DatabaseUpdate(0, "Insert Into SuperHeroes (Prename, Surname) Values ('Clark', 'Kent')")
 
  ;Selection d'un enregistrement
  If DatabaseQuery(0, "Select * From SuperHeroes Where Prename = 'Peter'")
   
    ;Affichage du résultat
    While NextDatabaseRow(0)
      Debug GetDatabaseString(0, 1) + "," + GetDatabaseString(0, 0)
    Wend
    FinishDatabaseQuery(0)
   
  Else
   
    ;Ooops une erreur
    Debug "DatabaseQuery() failed"
    Debug DatabaseError()
  EndIf
  CloseDatabase(0)
Else
  Debug "OpenDatabase() failed"
EndIf
Attention j'ai pu constaté que cette base de données n'est pas persistante.

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.45 LTS & PB 5.62
➽ Je papote aussi sur http://purebasic.chat & http://purebasic.chat/forum

➽ Restez informé Image Pure Basic Francophone Community

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Jeu 12/Oct/2017 18:15 
Hors ligne

Inscription: Mer 04/Nov/2015 17:39
Messages: 925
Je trouve ce moyen de sauvegarde pas efficace.
Pour les jeu par exemple.

_________________
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Jeu 12/Oct/2017 18:37 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6617
Localisation: IDF (Yvelines)
Shadow a écrit:
Je trouve ce moyen de sauvegarde pas efficace.
Pour les jeu par exemple.
je t'en prie j'ai hâte de voir ta proposition de code. Pas de parlotte juste un code.

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.45 LTS & PB 5.62
➽ Je papote aussi sur http://purebasic.chat & http://purebasic.chat/forum

➽ Restez informé Image Pure Basic Francophone Community

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Ven 13/Oct/2017 6:14 
Hors ligne

Inscription: Sam 08/Fév/2014 15:19
Messages: 1305
Citation:
Attention j'ai pu constaté que cette base de données n'est pas persistante.

Ce qui est normal: tout code qui s'exécute dans un navigateur (SB ou autre) ne peut avoir accès qu'aux ressources dans le navigateur lui-même (ram, cookie ou cache du navigateur (de sa propre session))
parfois aux ressources serveur (si paramétré pour)
mais en aucun cas aux ressources locales client sans interaction volontaire de l'utilisateur (filerequester) (heureusement).

La base de données est créée en ram.
Par contre il est possible de charger/décharger manuellement pour la session en cours.

Dixit Fred: "To understand how the database works: it's always created in memory and stay in memory. You have to use the regular file functions to persist it. You can persist any files now, not just database."

:wink:

_________________
Windows 10 x64 - CPU intel i3 - RAM 16Go - Video NVidia GT 620 - 1920x1080
Linux Slackware et Debian 64bits / xfce - (VirtualBox 5)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 17:48 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 27/Jan/2004 10:07
Messages: 877
Salut,

A ce sujet il n'y a pas moyen de demander à SPB de créer un fichier sqlite mais sur le serveur de manière transparente (pour la persistance) ?
Sinon après il faut utiliser des bdd comme mySQL ou SQL mais je sais pas si cela se fait avec SB.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 18:25 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 31/Juil/2004 22:32
Messages: 1093
*click* *click*


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 18:44 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 27/Jan/2004 10:07
Messages: 877
Merci de l'exemple, le local storage est situé où par contre ? (question à la con lol)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 18:52 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 31/Juil/2004 22:32
Messages: 1093
Ben... Ca dépend. En gros, c'est soit dans le cache de ton navigateur dans le cas d'une web app, soit dans la sandbox dans laquelle ton app est exécutée dans le cas d'une app Android/iOS. Dans tous les cas, c'est pas un espace avec une adresse fixe (à la /home/poshu/monfichier quoi), puisque une application spiderbasic est forcément sandboxée.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 19:16 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 27/Jan/2004 10:07
Messages: 877
On aurait pu imaginer dans le cas d'une webapp, la possibilité d'écrire un fichier sqlite sur le serveur directement par transparence vu que par définition, la webapp se situe sur le serveur, le soucis c'est que le js est exécuté côté client :D


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 19:19 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 31/Juil/2004 22:32
Messages: 1093
Et on appellerait ça une faille de sécurité.

Ceci dit, c'est pas compliqué à faire hein.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 19:23 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 27/Jan/2004 10:07
Messages: 877
Oui c'est pour cela qu'avec le js côté serveur on est limité, sauf si on couple node et cie mais là ca devient l'usine à gaz. J'ai cru comprendre que spiderbasic allait proposer une partie côté serveur à un moment donné.

La lib database permet le sqlite. je vais regarder sur le forum off et dans la doc si il y a la possibilité d'appeler une base mySQL par ex ^^


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 19:26 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 31/Juil/2004 22:32
Messages: 1093
C'est comme une application PB : c'est exécuté chez le client.

Pas possible d'utiliser mySQL, ça n'apporterait de toutes façons rien par rapport à SQLite.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 19:41 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 27/Jan/2004 10:07
Messages: 877
Bah si justement, pour une webapp : pour la persistance des données sur un serveur. On peut imaginer une appli web avec login et cie ou même une bdd persistante tout cours. Le Sqlite tu vides le cache et t'as plus rien donc c'est persistant sans l'être quelque part ^^

Quand on faisait de la webapp lors de ma formation master, en java, tout était pour la persistance des données sur un modèle MVC et DAO mais bon là on était sur une composante client/serveur avec java donc c'est différent.

Sur SB c'est que l'appli n'est lancé que chez le client avec le js finalement et il n'y a pas vraiment de côté serveur pour le moment. Ou alors faut s'amuser avec un composant server (php ou autre) et de l'http request. En fait SB est plus fait pour de l'appli mobile (ou le local storage prend tout son sens) pour le coup car en webapp (sur un pc) je vois pas l'intérêt, autant le faire en purebasic avec un exécutable.

Je sais pas où j'ai lu cela mais j'ai lu quelque part cet après midi qu'il y aurait peut être bien un jour un côté "serveur" pour SB, je ne sais plus où je l'ai vu. En tout cas je suis ses évolutions (patch note) depuis quelques temps. On va voir où il va nous amener :mrgreen:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 20:12 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 31/Juil/2004 22:32
Messages: 1093
Non. Non, se connecter à une db type mysql à distance, c'est jamais une solution. Pire : si ta database permet une connexion a distance, c'est que tu ne sais pas la configurer : c'est un peu le B-A BA de l'administration serveur...

Tu ne demande pas à une app PB de se connecter directement et comme par magie à un autre ordinateur? Bah SB, c'est pareil : tu peux dev un serveur adapté à ton programme, d'ailleurs PB le fera très bien, jette un coup d’œil sur la lib CGI... Et si un jour SB produit du code coté serveur, il faudra l’exécuter via node et ça ne dispensera pas d'écrire le serveur en lui même...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: SQLite dans le local-storage du navigateur.
MessagePosté: Mer 04/Juil/2018 20:25 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 27/Jan/2004 10:07
Messages: 877
Non j'ai du mal m'exprimer, la connexion dans mon cas n'est pas lancé côté client ! Ce que vois l'utilisateur ce n'est que la partie View. Tout le reste il n'y a pas accès, c'est la partie modèle (classe) et DAO. Comme je t'ai dit dans cette idée on est dans un cas client/serveur avec une partie lancé sur serveur et uniquement sur le serveur lui même et pas côté client. La partie cliente ce n'est que la partie view de l'appli. Donc dans ce cas, c'est l'appli côté serveur qui lance la connexion pas le client.

En gros dans une même appli qui est hébergée, l'utilisateur ne voit que les views (l'interface) tout ce qu'il y a derrière est traité côté serveur et l'utilisateur n'y a pas du tout accès c'est le principe du MVC avec un pattern DAO. L'utilisateur fait une demande, le contrôleur la traite côté serveur, et renvoie le résultat dans une "view" en l'occurence la gui ou la page web.

C'est ce qui serait intéressant de pouvoir faire en sb sans avoir à utiliser 25 outils 52 pirouettes ^^


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 24 messages ]  Aller à la page 1, 2  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye