.. _ref-sql-use-moodle-db: Utiliser la DB disponible sur moodle! ======================= .. container:: section :name: sql-use-moodle-db Jusqu'ici, vous avez vu comment vous pouvez interagir avec une base de données SQLite initialement (presque) vide. Nous avons vu comment créer des tables, faire des requêtes et comment faire interagir le Python, le SQL et l'HTML. Nous allons maintenant voir comment nous pouvons réutiliser la base de données disponible sur Moodle. Une fois que vous avez téléchargé le fichier de la base de données, vous devez le placer dans le dossier ``instance`` qui se trouve au même niveau que le dossier ``mobility`` et qui a déjà été créé par Flask si vous avez correctement suivi ce TP. .. code-block:: txt |-- instance | `-- db.sqlite |-- mobility S'il n'est pas encore créé, vous pouvez le faire à l'aide de la commande ``mkdir`` depuis le dossier dans lequel vous avez mis le code relatif au TP. .. code-block:: bash mkdir instance Ensuite, copiez la DB à l'aide de la commande ``cp``. .. code-block:: bash cp /db.sqlite instance/db.sqlite Il vous suffit ensuite de modifier le fichier ``db.py`` pour que la fonction ``init_db`` n'exécute pas le script ``schema.sql`` .. container:: code-block-caption ``mobility/db.py`` .. code-block:: python def init_db(): db = get_db() # with current_app.open_resource('schema.sql') as f: # db.executescript(f.read().decode('utf8')) Si vous relancez votre application, vous devrez voir une longue liste d'aéroports s'afficher .. image:: ../_images/final.png :class: screenshot align-center Lorsque vous allez ajouter la base de données dans votre projet sur la forge, vous allez voir que git ne verra pas ce fichier. Cela est dû au fait que dans le fichier ``.gitignore`` qui vous a été fourni, le dossier ``instance`` est ignoré. Commentez la ligne correspondante dans le fichier. .. container:: code-block-caption ``.gitignore`` .. code-block:: txt # instance/ Continuez en lisant :ref:`ref-sql-keep-developing`.