Je ne comprend pas l'architecture de ZdS

a marqué ce sujet comme résolu.

Bonsoir les agrumes !

En ce moment, je suis sur Ruby et Python. Ca dépend des jours. :p Je suis au début de mon apprentissage de Python, mais j’ai décidé de regarder le code source de Zeste de Savoir par curiosité (et aussi pour pouvoir aider)

Et cela ne ressemble pas du tout à ce que j’ai l’habitude de faire.

Par exemple, voici une architecture d’un projet très simple :

Capture d’écran de 2020-01-06 20-55-36.png
Capture d’écran de 2020-01-06 20-55-36.png

J’ai donc l’application principale, créé au moment du django-admin startproject ocsite_site.

Puis, une application blog généré via python manage.py startapp blog.

Mais sur ZdS, il y à le dossier racine "zds-site" avec les dossiers "assets", "templates, etc… Donc il correspond à mon dossier racine "ocsite_site".

Mais ensuite, il y à qu’un seul dossier "zds"… il correspond à quoi dans mon exemple ? blog ? Ou ocsite_site (pas le root) ?

Et, peut importe auquel il correspond, ils contient d’autres dossiers (forums, etc…) qui j’imagine correspondent aux application d’un python.manage.py startapp xxxxxx ?

Je comprend pas tout… :p

Quelqu’un peut m’aider ?

+0 -0

Salut,

Si je comprends toi tu ceci :

  • ocsite_site (dossier du projet)

    • blog (application unique)

      • migrations
      • static (fichiers statiques de l’application)
      • templates (gabarits de l’application)
      • models
      • views
    • ocsite_site (configuration du projet)
    • static (fichiers statique du projet)
    • templates (gabarits du projet)

Tandis que nous on a cela :

  • zds-site (dossier du projet)

    • assets (sources des fichiers statiques)
    • templates (gabarits du projet)

      • members (gabarits pour l’app membres)
      • tutorialv2 (gabarits pour l’app tutorialv2)
    • zds (dossier contenant les applications)

      • members (application members)

        • models
        • views
      • tutorialv2 (application tutorialv2)

        • models
        • views
      • fichiers de configuration du projet

N’hésites pas à lire la documentation du projet, notamment l’arborescence du backend et celle du frontend.

+2 -0

Pour compléter, il faut savoir que Django n’impose aucune architecture pour les dossiers d’un projet. Il ne veut qu’avoir :

  • un dossier contenant la base du site (le wsgi.py, les paramètres, les URLs de base, tout ça — chez toi c’est ocsite_site, chez nous c’est dans zds/) ; et
  • des dossiers contenant les applications, crées avec startapp (chez toi elles sont toutes à la racine, chez nous ce sont des sous-dossiers de zds/, donc).

Tant que tout est dans le PATH de Python, et que les paramètres sont correctement référencés et pointent vers les bons modules, Django s’y retrouve et tout va bien pour lui.

La doc actuelle de Django présente plutôt quelque chose comme toi, avec les fichiers de configuration du projet à part, à côté des applications ; mais rien n’empêche d’avoir les applications en sous-dossier de ce dossier de configuration (ce qu’on a nous).

Quant aux gabaris, là aussi Django n’impose rien : on peut ou avoir un dossier de gabaris par app (ce que tu as toi, même s’il n’y a qu’une seule app), ou un dossier global (ce qu’on a nous), ou même un mélange des deux. Django actuel recommande plutôt d’avoir les gabaris dans l’app (c’est plus simple pour réutiliser) mais ce n’est absolument pas obligatoire.

Bref, ta version est plus dans les standards actuels de Django (ou du moins dans ce que recommande la documentation des dernières versions), donc je resterais dessus si j’étais toi. Mais comme le soulignais bien Situphen, au fond, les mêmes choses sont là, juste pas au même endroit :) .

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte