Logiciel basé sur django pour gérer un agenda culturel local participatif.
Go to file
2024-11-11 16:15:35 +01:00
deployment On migre à une base de données géographique 2024-10-10 23:23:25 +02:00
experimentations On intègre les nouvelles catégories aux outils d'import 2024-11-02 15:20:12 +01:00
scripts Ajout d'un script pour faciliter les expérimentations 2024-11-11 11:11:54 +01:00
src fix un cas rare de valeur non définie 2024-11-11 16:15:35 +01:00
.dockerignore update 2023-05-10 12:09:50 +02:00
.gitignore on ignore le fichier créé 2023-12-23 09:54:59 +01:00
docker-compose.prod.yml PostGIS pour la pro 2024-10-10 23:45:49 +02:00
docker-compose.yml On migre à une base de données géographique 2024-10-10 23:23:25 +02:00
env.example fix: settings && update readme 2023-05-15 15:00:20 +02:00
LICENSE On change la licence pour la AGPL (on a dérivé d'un code en licence MIT) 2023-11-16 17:41:14 +01:00
Makefile Ajout d'un filtre par proximité géographique 2024-10-16 23:55:03 +02:00
pyproject.toml Configuration du build dev pour le projet agenda_culturel 2023-09-16 15:15:05 +02:00
README.md Ajout d'un script pour faciliter les expérimentations 2024-11-11 11:11:54 +01:00

Agenda culturel

L'agenda culturel est un projet django créé à partir de Django Docker Quickstard pour faciliter son développemnt et déploiement. Il est distribué sous licence AGPL.

Une instance de démonstration est disponible à l'adresse https://pommesdelune.fr/.

Installation

Pour installer une version de développement, reportez-vous à la documentation de Django Docker Quickstard. En résumé:

  • git pull
  • make build-dev

On peut aussi peupler les catégories avec un choix de catégories élémentaires:

  • make create-categories

On peut aussi peupler les positions de référence qui serviront aux recherches géographiques avec la commande, après avoir éventuellement modifié le fichier communes.json qui contient pour l'exemple toutes les communes récupérées depuis public.opendatasoft.com:

  • make create-reference-locations

Notes aux développeurs

Ajout d'une nouvelle source custom

Pour ajouter une nouvelle source custom:

  • ajouter un fichier dans src/agenda_culturel/import_tasks/custom_extractors en s'inspirant des autres fichiers présents. Il existe de nombreuses facilités dans les classes mères correspondantes
  • s'inspirer des scripts présents dans experimentations/ pour créer son propre script de test
  • quand l'import fonctionne de manière indépendante dans ces expérimentations, il est tant de l'ajouter au site internet:
    • ajouter à la classe RecurrentImport.PROCESSOR présente dans le fichier src/agenda_culturel/models.py une entrée correspondant à cette source pour qu'elle soit proposée aux utilisateurs
    • ajouter à la fonction run_recurrent_import présente dans le fichier src/agenda_culturel/celery.py le test correspondant à cet ajout, pour lancer le bon extracteur
  • se rendre sur le site, page administration, et ajouter un import récurrent correspondant à cette nouvelle source

Récupérer un dump du prod sur un serveur dev

  • sur le serveur de dev:
    • docker exec -i agenda_culturel-backend python3 manage.py dumpdata --format=json --exclude=admin.logentry --exclude=auth.group --exclude=auth.permission --exclude=auth.user --exclude=contenttypes --indent=2 > fixtures/postgres-backup-20241101.json (à noter qu'ici on oublie les comptes, qu'il faudra recréer)
  • sur le serveur de prod:
    • On récupère le dump json scp $SERVEUR:$PATH/fixtures/postgres-backup-20241101.json src/fixtures/
    • scripts/reset-database.sh FIXTURE COMMITFIXTURE est le timestamp dans le nom de la fixture, et COMMIT est l'ID du commit git correspondant à celle en prod sur le serveur au moment de la création de la fixture

À noter que les images ne sont pas récupérées.