Aller au contenu

Installation

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

  • git pull
  • cp env.example .env
  • make build-dev

Vous devriez ensuite pouvoir accéder au site local via http://localhost:8000.

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 créé le fichier src/scripts/communes.json en s'inspirant du fichier communes-example.json qui contient toutes les communes récupérées depuis public.opendatasoft.com.

Téléchargez le fichier .geojson qui vous convient puis utilisez jq pour le transformer au format attendu pour communes.json :

  • jq '[ .features[] | {com_name: .properties.com_name[0], geo_point_2d: .properties.geo_point_2d} ]' georef-france-commune.geojson > src/scripts/communes.json

Vous pouvez ajouter à chaque entrée un champ suggested qui pré-rempli un rayon autour de la ville pour les filtres, et un champ main qui permet de trier l’ordre d’affichage des suggestions.

Une fois cela fait, vous pouvez créer les positions en base de données :

  • make create-reference-locations

Une fois l'installation réussie, le fichier srcommunes.json n'est plus utile au fonctionnement du site.

On peut enfin configurer le site en allant modifier l'objet "Configuration du site" (siteconfiguration) dans l'administration de django. Il est également nécessaire (pas encore d'unification des deux facettes) de configurer un site (Site) en choisissant un nom et une url (nécessaire notamment pour le sitemap).

Création d'un site

Au cas où vous aviez besoin de créer un site correspondant à une url publique n'étant pas renseignée (ce qui provoque une erreur 500 visible dans src/backend.log), voici comment procéder.

Lancer un python interactif sur votre instance:

docker exec -it agenda_culturel-backend python3 manage.py shell

Vérifier les sites déjà disponibles:

from django.contrib.sites.models import Site
print(Site.objects.all())

Ajouter un nouveau site:

Site.objects.update_or_create(id=1, defaults={'domain': '<votre domaine>', 'name': '<nom du site>'})

En remplaçant bien sûr <votre domaine> et <nom du site> par les valeurs correspondantes.

Configuration du robots.txt

Dans la partie administration de django, connecté en administrateur, on retrouve une section robots, où l'on peut définir des urls (comme /), et des règles associées aux urls (allow ou disallow).

Installation des imports supplémentaires

Des imports spécifiques tels que ceux implémentés pour Pommes de lune peuvent être ajoutés au répertoire src/agenda_culturel/import_tasks/custom_extractors/.

Utilisation d'un proxy socket

On peut activer à la main (pour l'instant) un proxy type socket pour l'import d'événements.

  • se connecter au docker du celery worker : docker exec -it agenda_culturel-celery-worker bash
  • mettre à jour les dépôts apt update
  • installer le client ssh apt install ssh-client
  • créer un socket ssh ssh -D 12345 USER@HOST
  • modifier le drapeau proxy dans le constructeur de downloader.py.