Architecture générale

Module de base (/base/)

  • Modèles de base et schéma de base de données

  • Blocs et modèles personnalisés

  • Gestion et validation des formulaires

  • Afficher les contrôleurs

  • Fonctions utilitaires et mixins

  • Système de gestion de tâches utilisant Celery

Configuration (/config/) :

  • Paramètres spécifiques à l’environnement

  • Routage d’URL

  • Points de terminaison de l’API

  • Configuration du moteur de base de données

  • Gestion des fichiers statiques

  • Prise en charge de l’internationalisation

Structure du contenu

Le système est organisé en plusieurs sections de contenu clés, chacune implémentée comme une application Django/Wagtail :

  1. Accueil (/pages/accueil/)

    • Implémentation d’une page d’accueil personnalisée

    • Composant de carte interactive (intégration Vue.js)

    • Blocs et modèles personnalisés

    • Prise en charge de la localisation

  2. Services d’informations

  • Publications (/pages/publications/)

  • Produits (/pages/produits/)

  • Services (/pages/services/)

  • Actualités (/pages/actualités/)

  • Événements (/pages/events/)

  1. Données et recherche

  • Météo (/pages/météo/)

  • Imagerie satellite (/pages/satellite_imagery/)

  • Climat de la ville (/pages/cityclimate/)

  • Stations (/pages/stations/)

  • Demande de données (/pages/data_request/)

  1. Interaction utilisateur

  • Contact (/pages/contact/)

  • Commentaires (/pages/feedback/)

  • Abonnement par e-mail (/pages/email_subscription/)

  • Enquêtes (/pages/enquêtes/)

  1. Médias et ressources

  • Centre multimédia (/pages/mediacenter/)

  • Vidéos (/pages/vidéos/)

  • Histoires Web (/pages/webstories/)

  1. Fonctionnalités spécialisées

  • WDQMS (Système de gestion de la qualité des données WIGOS) (/pages/wdqms/)

  • Glossaire (/pages/glossaire/)

  • Recherche (/pages/recherche/)

Structure des pages

Chaque type de page, lorsqu’il est entièrement implémenté en tant qu’application Django/Wagtail, suit une structure cohérente :

  1. Modèles (models.py)

  • Schéma de base de données

  • Structure du contenu

  • Champs et relations personnalisés

  1. Vues (views.py)

  • Logique de rendu des pages

  • Informatique

  • Gestionnaires de vues personnalisés

  1. Modèles (/templates/)

  • Mises en page

  • Modèles de composants

  • Blocs personnalisés

  1. Actifs statiques (/static/)

  • Fichiers CSS/JS

  • Images et médias statiques

  • Composants frontaux

  1. Configuration

  • Routage d’URL (urls.py)

  • Crochets bergeronnette (wagtail_hooks.py)

  • Configuration de l’application (apps.py)