Structure Flask

Dans cette page tu trouveras :

Structure des dossiers dans Flask

Lorsque tu crƩes ton application avec Flask, tu utilises au minimum 3 langages de programmation :

  • HTML : pour programmer la structure de tes pages et leur affichage
  • CSS : pour donner du design Ć  tes pages
  • Flask : pour programmer tes fonctionnalitĆ©s
Tu vas également rajouter des images que tu vas héberger sur ton projet, tu peux avoir des vidéos, des musique mp3 etc.. 
Ā 

Flask va te demander d’organiserĀ tout ƧaĀ dans des dossiers trĆØs prĆ©cisĀ en syntaxe, sinon cela ne marchera pas!

Le fichier python main.py

Lorsque tu regardes l’EXPLORATEUR Ć  gauche dans ton projet VSCode, tu peux voir l’arborescence de tes fichiers.

Lorsque le fichier est directement visible, c’est qu’il n’est pas dans un dossier. On dit qu’il est Ć  la racine de ton projet.

Ton fichier python (gƩnƩralement app.py) doit se trouver Ơ la racine de ton projet.

Les fichiers HTML

Tu vas créer chaque page de ton site, via un fichier html, qui sera son « template ». La page de ton accueil par exemple, sera programmée dans un fichier index.html

Si tu le laisses à la racine, Flask ne le trouvera pas. Il doit absolument être placé dans un dossier templates. 

Tu ne peux pas changer le nom de ce dossier. Il faut mĆŖme faire attention Ć  son orthographe, tout en minuscule, et ne pas oublier qu’il est au pluriel.

Cliquer sur l’icone « nouveau dossierĀ Ā». Ca ouvre un dossier que tu peux remplir avec le mot « templatesĀ Ā».

Puis clique sur add file pour ajouter un fichier index.html par exemple.

Regarde ton arborescence, tu vois bien Ć  la racine l’icone d’un dossier, puis Ć  l’intĆ©rieur l’icone HTML. Ton index est bien dans le dossier templates.

Les images, vidƩos, audios & les fichiers CSS / Javascript

Tout comme les fichier HTML vu au dessus, il y a une rĆØgle pour les fichiers images, videos, audios…. ainsi que les fichiers CSS ou encore Javascript.

Tous ces fichiers sont trouvables par Flask, uniquement si ils sont placés dans un dossier « static ».

Tu dois lĆ  encore faire tĆØs attention Ć  l’orthographe, les minuscules etc.. Sinon flask ne trouvera pas tes fichiers.

Crée un nouveau dossier « static » qui doit être à la racine. Et place dedans tous tes fichiers css, js, tes images, vidéos et audios

Regarde ton arborescence et tu dois bien voir le dossier static avec une indentation montrant les fichiers style.css et image.jpg Ć  l’intĆ©rieur.

NOTE : Si tu crĆ©es un fichier et qu’il n’est pas bien placĆ© dans un dossier lors de sa crĆ©ations, tu peux cliquer sur un fichier en maintenant le clic gauche, et le glisser dans le dossier de ton choix.

S’organiser en sous-dossiers

Nous avons pu voir le dossier « staticĀ Ā» dans lequel il est obligatoire de ranger tous nos fichiers css, images, vidĆ©os, audios etc…

Ca peut ĆŖtre vite le bazar d’aller dans notre fichier style.css par exemple, si on a avec lui 20 images et 13 vidĆ©os. Il existe une solution ! Le dossier static accepte aussi les sous-dossiers.

En effet, on peut imaginer une arborescence comme ceci : 

  • Le dossier staticĀ 
    • Sous-dossier images
    • Sous-dossier videos
    • Fichier style.css

Il n’y a plus qu’a ranger les images dans son sous-dossier, les videos dans le sien, et laisser style.css uniquement dans le dossier static.

Note : Si tu cliques sur l’icone d’un dossier, ca le ferme et amĆ©liore ta visibilitĆ© sur le reste de tes fichiers.

Appeler le bon chemin de notre fichier

Lorsque l’on programme un lien vers une autre page de notre projet, il faut faire attention Ć  l’arborescence de nos fichiers pour rĆ©ussir a appeler le bon chemin.

On va se concentrer sur 4 ƩlƩments :

  • La position du fichier qui contient le lien, par rapport Ć  la position du fichier sur lequel envoie le lien
  • Bien Ć©crire le nom du fichier ou du dossier : la moindre erreur empĆŖchera votre programme de le trouver
  • La syntaxe point . : va permettre d’aller un pas en arriĆØre sur l’arborescence
  • La syntaxe slash / : va permettre d’ajouter un pas en avant dans notre arborescence
Quelques exemples en prenant en compte les 4 ƩlƩments citƩs ci-dessus. En partant de la page2.html
Retour en haut