Des bases de données avec sqlite3

Comment stocker pour mieux régner

a marqué ce sujet comme résolu.

Tout le monde se secoue ! :D

J'ai commencé (mardi 03 mai 2016 à 13h24) la rédaction d'un tutoriel au doux nom de « Des bases de données avec sqlite3 » et j'ai dans l'objectif de proposer en validation un texte aux petits oignons. Je fais donc appel à votre bonté sans limite pour dénicher le moindre pépin, que ce soit à propos du fond ou de la forme. Vous pourrez consulter la bêta à votre guise à l'adresse suivante :

Merci !

+0 -0

Bonjour,

peut-être indiquer que le tuto parle de Python pour plus de clarté ? Dans le titre ? Par exemple, « Des bases de données avec sqlite3 et python3 » ?

+2 -0

Salut,

Je pense que tu as un problème de cible.

J'ai l'impression que tu vises ceux qui savent déjà un peu se servir des bases de données (base en langage SQL, typiquement). Sauf que pour cette cible, c'est juste bien trop détaillé. J'ai regardé la doc officielle, et en gros tu dois juste connaître connect, close, execute, commit et fetchXXXX pour t'en sortir. Pour cette cible, c'est ça que tu dois détailler, sans t'attarder sur le SQL. Et pour les fonctionnalités plus avancées, tu pourrais partir sur les adaptateurs, convertisseurs, etc. je cite ce que j'ai vu dans la doc).

Pour une cible plus débutante, il va falloir aider déjà le lecteur à reconnaître si son besoin colle avec sqlite, c'est-à-dire avoir besoin de manipuler des données structurées, en Python, sans serveur. Et là, tu dois leur apprendre le langage SQL et les concepts qui vont avec les bases de données en plus de la lib.

+2 -0

Merci pour ton commentaire, tu as tout à fait raison :)

Tu mets en exergue ce problème, que je ressens aussi, parce qu'au final je ne sais pas trop à qui m'adresser en fait, si j'explique trop ou pas assez.

En gros à l'heure actuelle, j'ai l'impression que la première partie est axée débutant Python/SQL ce qui permettrait de satisfaire tout le monde au final, tandis que la seconde est plus axé sur ceux qui sont assez avancés (d'ailleurs, je compte effectivement parler des adaptateurs et convertisseurs dans celle-ci).

Mais, ce n'est peut-être pas le mieux à faire que d'enseigner le langage SQL et les concepts liés aux BDD dans ce tutoriel, parce que ça répéterait des choses qui pourraient être mieux expliquées dans un tutoriel spécifique (et ça serait plus modulaire comme ça). En plus, ça pourrait rebuter les lecteurs plus avancés. Il serait donc préférable que le lecteur débutant vis à vis de ces concepts suive un tutoriel en parallèle si besoin.

+1 -0

En poursuivant la logique du raisonnement, c'est-à-dire puisque le tutoriel n'est pas destiné aux débutants purs (ni Python ni BDD ni SQL), j'en viens à me demander si les TP que je pensais inclure sont nécessaires. En effet, quelqu'un d'un minimum expérimenté lira et viendra piocher ici et là ce dont il a besoin pour son propre programme. Du coup, les TP seront sans doute moins lus/suivis et les exemples présents dans les autres sections pourraient suffire, non ?

Salut,

Pour une cible plus expérimentées, il n'y aura pas vraiment besoin de TP. Ce qui est fait dans la doc officielle, c'est des exemples « simples » (on créée une base, on fait un petit enregistrement etc.). On peut manipuler en parallèle et voir la manière canonique de faire les choses.

Sinon, je pense que tu devrais aussi insister sur les limitations de SQLite tout du long du tutoriel, de sorte que ton tutoriel soit bien un cours sur SQLite et sur sa manipulation en Python, qui vise les gens qui connaissent déjà un SGBD et Python. Ça commence à faire un public assez restreint, mais pourquoi pas après tout. :)

Salut,

Oui, du coup, je vais passer outre les TP.

Qu'entends-tu par "insister sur les limitations de SQLite tout du long du tutoriel" ? Tu veux dire sur le fait que ça se passe du côté du client et que c'est pas le plus adapté pour des grosses BDD par exemple ?

Oui, c'est sûr que ça fait un public assez restreint, mais je ne pense pas que les BDD et surtout sqlite3 soit ce qui motive le plus les débutants à apprendre le Python (là où turtle peut offrir un peu de fun). Par ailleurs, il ne faut pas d'énormes connaissances en Python pour commencer à se servir de sqlite3. Pour les BDD, je pars du principe que la majorité de ceux qui liront le tutoriel en auront déjà manipulés ou sauront à quoi ça ressemble (parce que sqlite3 n'est pas forcément un point d'entrée). Si ce n'est pas le cas, ils pourront piocher ce qu'ils ont besoin ailleurs (avec le lien dans l'introduction et ceux dans la conclusion) et les exemples les guideront. Question efficacité et modularité, je pense que c'est mieux ainsi.

Merci de ton retour. :)

Qu'entends-tu par "insister sur les limitations de SQLite tout du long du tutoriel" ? Tu veux dire sur le fait que ça se passe du côté du client et que c'est pas le plus adapté pour des grosses BDD par exemple ?

Qu'il soit relativement lent, pas du tout threadsafe, qu'il utilise un sous-ensemble de SQL notamment.

+1 -0
Ce sujet est verrouillé.