Générateur du texte d'annonce des cours du RP Black Mist
- Python 3.12.3+
- Les modules présents dans
requirements.txt
Pour les installer, exécutez la commande suivante. Veillez à vous trouver dans le bon chemin d'accès.
pip install -r requirements.txt
Comme tout bon script Python, il faut ouvrir un terminal, évidemment dans le bon dossier, puis exécuter la commande suivante.
fastapi dev api/main.py
En revanche, si vous voulez exécuter le script dans un environnement de production, optez plutôt pour celle-ci.
fastapi run api/main.py
Par souci de finances, le script ne se base pas sur l'API Google mais une fonctionnalité de Google Sheet qui permet de partager le classeur sous divers formats, dont le CSV. Chaque feuille du classeur peut être convertie en un fichier CSV accessible via une URL et dont le contenu se met automatiquement à jour en fonction des modifications apportées au classeur. Bien pratique !
Le script commence par lister toutes les feuilles sur lesquelles travailler, chacune correspondant à une année de l'université. Un travail d'analyse des CSV m'a permit de déterminer quelles sont les colonnes qui étaient les plus intéressantes. Ensuite, pour chaque feuille, le programme va regarder s'il y a un cours de renseigné. Il se base uniquement sur le fait qu'une matière soit renseignée. Puis, s'il trouve un cours, il se contente simplement d'extraire les données puis de les mettre en forme dans une variable textuelle, pour finalement renvoyer une réponse API sous la forme d'un objet JSON.
Important
Le script n'est pas parfait. Un survol du texte généré est primordial pour vérifier que tout soit en ordre avant de balancer l'annonce sur le serveur Discord Black Mist.
Ajoutez les années au script en faisant Fichier > Partager > Publier sur le web.
Ensuite, sélectionnez la feuille de l'année souhaitée puis demandez le lien de partage en tant que fichier CSV séparé par des virgules.
Enfin, dans le fichier main.py
, modifiez la variable planning_urls
en conséquence, soit en ajoutant une ligne, soit en modifiant la valeur d'une clé.
Il faut évidemment ajouter une feuille lorsqu'une nouvelle année se crée. Aux dernières nouvelles, les joueurs élèves ne sont réparties que sur deux années.