Initialiser votre instance
Une fois le premier démarrage terminé, votre instance fonctionne, mais il reste quelques éléments à ajuster.
Configuration du site
Si lors de la première connexion à l'interface via votre navigateur, le site retourne une Erreur 500, pas de panique ! C'est le comportement normal de Django tant que le framework Sites n'est pas initialisé avec votre nom de domaine ou votre adresse IP.
Comment vérifier s'il s'agit bien de cette erreur ?
Consultez les 50 dernières lignes de vos logs d'application :
tail -n 50 logs/backend.log
django.contrib.sites.models.Site.DoesNotExist: Site matching query does not exist.
Vous pouvez corriger cette erreur instantanément grâce au script de maintenance automatisé.
Assurez-vous d'abord que les variables SITE_DOMAIN et SITE_NAME sont correctement renseignées dans votre fichier .env. Ensuite, exécutez simplement :
make setup-site
Si vous souhaitez écraser temporairement les valeurs de votre .env directement depuis le terminal, vous pouvez passer les variables à la volée :
make setup-site SITE_DOMAIN="agenda.mon-domaine.fr" SITE_NAME="Mon Agenda Personnel"
Le script se chargera de nettoyer l'URL (en retirant les éventuels http:// ou ports) et mettra à jour la base de données. Il vous suffit ensuite de rafraîchir votre navigateur !
Créer un·e super-utilisateurice
L'étape d'après consiste à créer un·e utilisateurice qui aura tous les droits pour en créer d'autres, et administrer le coeur du système. Pour cela, on utilise la commande :
make super-user
On conseille de ne pas utiliser ce compte au quotidien pour faire les tâches de modération, afin de distinguer les deux rôles. On peut donc laisser le nom par défaut (root) en ne tapant rien d'autre qu'entrée à la première question, puis en répondant aux autres questions (donner une adresse électronique et un mot de passe).
Une fois fait ça, on peut déjà se connecter à l'interface de Trognoncal sur le site internet, en suivant le lien en bas de page intitulé administrer.
En cas d'erreur 403 dû à une vérification CSRF échoué
Si lors de la première connexion vous observez une erreur 403 indiquant que la vérification CSRF a échoué, c'est que votre site n'est pas correctement configuré pour répondre à l'adresse avec laquelle vous y accédez dans le navigateur. Éditez de nouveau le fichier .env en modifiant la ligne CSRF_TRUSTED_ORIGINS= de sorte à ce qu'elle corresponde à l'adresse que vous utilisez dans votre navigateur pour accéder à votre instance Trognoncal.
Initialiser les catégories, étiquettes et règles
Il existe plusieurs méthodes pour initialiser ces informations.
Initialisation automatique
Un système d'import/export des catégories, étiquettes et règles associées est disponible. On peut ainsi facilement importer une pré-configuration telle qu'elle est pratiquée sur l'instance pommesdelune.fr, avec la commande:
make load-metadata
Remarque : si des étiquettes, catégories ou règles ont été créées sur votre instance auparavant, ce processus d'import sera abandonné dès son lancement.
Initialisation minimale
On peut aussi peupler uniquement les catégories avec un choix de catégories élémentaires, telles que nous les utilisons sur pommesdelune.fr, et qui expriment des intentions, avec l'idée que les étiquettes soient dédiées aux types d'événements :
make create-categories
Remarque : si des catégories ont été créées sur votre instance auparavant, ce processus d'import sera abandonné dès son lancement.
Initialisation manuelle
Les catégories peuvent être créées dans la partie administration de django, et ajustées à la main. On les change peu au fil du temps, donc pas d'édition plus facile. Les catégories, étiquettes et règles associées à ces deux éléments sont directement modifiables dans l'interface d'administration de Trognoncal. Voir notamment l'utilisation des règles.
Initialiser les lieux de référence
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 src/scripts/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
Installer jq sur une debian
On peut utiliser la commande suivante pour installer jq:
sudo apt install jq
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, par exemple:
{
"com_name": "Clermont-Ferrand",
"main": 10,
"suggested": 10,
"geo_point_2d": {
"lon": 3.1153994509459313,
"lat": 45.78590931605406
}
},
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 communes.json n'est plus utile au fonctionnement du site.
Ces informations sont ensuite ajustables directement dans l'administration du site django.
Configuration du site
On peut enfin configurer le site en allant modifier l'objet "Configuration du site" (siteconfiguration) dans l'administration de django. On y trouve notamment les champs de configuration pour :
- Nom du site
- URL du site
- Description du site
- Mots-clés dans l'entête html
- Description dans l'entête html
- Titre de la page de la semaine en cours
- Valeur de vérification de site Google, clé fournie par google si on souhaite avoir accès à la console présentant les statistiques du site sur le moteur de recherche Google
- Valeur de vérification de site Microsoft (bing), clé fournie par microsoft si on souhaite avoir accès à la console présentant les statistiques du site sur le moteur de recherche Bing
- Illustration : logo du site
- La possibilité de régler si le formulaire public affiche le champ 'Import via URL'.
- URL du lien d'accueil
- Label du lien d'accueil
- Le texte affiché pour le lien d'accueil.
- URL du profil Mastodon
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).
C'est prêt
Et voilà, le site est maintenant prêt à accueillir les premiers événements, et vous pourrez y configurer vos premiers imports automatiques. Plus d'information sur l'utilisation du site dans la partie dédiée.