mirror of
https://github.com/AdrienHallet/HaitiWater.git
synced 2026-10-26 17:35:18 +00:00
94 lines
3.3 KiB
ReStructuredText
94 lines
3.3 KiB
ReStructuredText
===================
|
|
Structure du projet
|
|
===================
|
|
|
|
HaïtiWater est un projet Django et utilise l'architecture MVC.
|
|
|
|
Arborescence Générale
|
|
---------------------
|
|
::
|
|
|
|
HaitiWater/code/haitiwater
|
|
├── apps
|
|
├── haitiwater
|
|
├── static-common
|
|
├── templates
|
|
├── initial_data.json
|
|
├── manage.py
|
|
└── requirements.txt
|
|
|
|
|
|
haitiwater - Fichiers Django
|
|
----------------------------
|
|
``manage.py`` est le fichier à partir duquel vous interagissez avec Django.
|
|
::
|
|
|
|
HaitiWater/code/haitiwater/haitiwater
|
|
├── settings.py
|
|
├── urls.py
|
|
└── wsgi.py
|
|
|
|
Le dossier ``haitiwater`` contient les fichiers de base de Django, tout particulièrement:
|
|
- ``settings.py`` : contient les informations de connexion aux services (base de données, serveur mail, serveur hôte, etc)
|
|
- ``urls.py`` : contient les règles de résolution URL de base. Les pages menant à des modules de l'application sont redirigées vers des fichiers ``urls.py`` propres à chaque module.
|
|
|
|
|
|
apps - Modules
|
|
--------------
|
|
Les applications continennet les différents modules d'HaïtiWater.
|
|
::
|
|
Haitiwater/code/haitiwater/apps
|
|
├── administration
|
|
├── api (communications AJAX serveur/client)
|
|
├── authentication (utilisateurs)
|
|
├── consumers (consommateurs)
|
|
├── dashboard (page d'accueil)
|
|
├── financial (finances des consommateurs)
|
|
├── log (logging des actions)
|
|
├── offline (quand l'application est hors-ligne)
|
|
├── report (rapports mensuel et technique
|
|
├── utils (utilitaires du serveur)
|
|
├── water_network (réseau de distribution d'eau potable)
|
|
└── zone_management (gestion de zone)
|
|
|
|
Chaque module a une structure de type
|
|
::
|
|
module
|
|
├── classes
|
|
├── migrations
|
|
├── static
|
|
├── templates
|
|
├── test
|
|
├── __init__.py
|
|
├── admin.py
|
|
├── apps.py
|
|
├── models.py
|
|
├── tests.py
|
|
├── urls.py
|
|
└── views.py
|
|
|
|
Veuillez vous référer à la documentation Django pour comprendre la structure générale des applications [1]_
|
|
|
|
static-common - Fichiers statiques généraux
|
|
-------------------------------------------
|
|
::
|
|
|
|
Haitiwater/code/haitiwater/apps
|
|
├── images
|
|
├── javascripts
|
|
├── stylesheets
|
|
└── vendor
|
|
|
|
- ``images`` contient les ressources graphiques du serveur (favicon, logo)
|
|
- ``javascripts`` contient les javascripts réutilisés à travers l'application. Les scripts utilisés par une application sont dans le dossier ´´śtatic´´ de l'application (module) correspondante.
|
|
- ``stylesheets`` contient les fichiers CSS
|
|
- ``vendor`` contient les librairies utilisées par l'application en front-end.
|
|
|
|
*La totalité des librairies utilisées par l'application devrait être servie par le serveur et non pas par des CDN externes afin d'optimiser les téléchargements.*
|
|
|
|
templates - Gabarits généraux
|
|
------------------------------
|
|
Le fichier ``templates`` contient les gabarits Django réutilisés à travers l'application. On y trouve les menus, graphes et le fichier ``base.html`` étendu par tous les modules de l'application.
|
|
|
|
.. [1] https://docs.djangoproject.com/fr/2.1/intro/overview/
|