Carre
📄 Un système de classement de pad, basé sur une hiérarchie de fichiers, écrit en Javascript et Python
✍️ Usage
Carré s'utilise depuis un navigateur web, comme un gestionnaire de fichiers.
🔧 Installation
1 - Récupérer le code
$ git clone gitlab@git.laquadrature.net:Oncela5eva/carre.git
$ cd carre
💻 Développement
Pour faire votre développement, il vous suffit d'éxécuter le fichier install.sh
. Il installe les dépendances via pip
, et il va également lancer un serveur Flask.
⚠️ Par défaut, Carré utilise le serveur de pad de La Quadrature du Net. Merci de définir une autre URL quand vous faites vos tests et l'éventuelle mise en production. Des services de pad sont disponibles ici : entraide.chatons.org
⬛ Production
Pour la mise en production, vous aurez besoin de suivre les instructions relative à la mise en production d'un serveur Flask.
Vous aurez également besoin de modifier le fichier config.ini
.
⚠️ Par défaut, Carré utilise le serveur de pad de La Quadrature du Net. Merci de définir une autre URL quand vous faites vos tests et l'éventuelle mise en production. Des services de pad sont disponibles ici : entraide.chatons.org
⬇️ Mises à jour
Pour mettre à jour votre installation, vous devrez :
- Faire une sauvegarde des fichiers suivants :
config.ini
data/menuTreelib.json
src/users.db
- Éxecuter les commandes suivante :
-
git fetch origin
- Récupérer toutes les références des modifications
-
git checkout 0.0.2
- Appliquer les modifications pour la version 0.0.2
-
- La mise à jour est faite, vous pouvez relancer votre serveur
🧑💻 Développement
Toute aide est la bienvenue ! Pour le moment, le but est de garder le code et les fonctionnalités aussi simples que possible. Il serait donc bienvenue d'avoir des retours, afin de simplifier encore les usages que l'on peut avoir de ce service.
Si vous avez des propositions, n'hésitez pas à le faire savoir, par mail ou en ouvrant un ticket.
📦 Organisation du code source
Le carré est construit autour des fichiers suivants ;
- src/ - Dossier contenant le code source en Python
- data/ - Dossier avec les données du menu
- static/ - Dossier avec les fichiers pour l'interface web
- config.ini - Le fichier de configuration
- README.md - Ce fichier
- install.sh - Le script bash qui permet de lancer l'installation et le serveur de développement
⚗️ Tests
Après avoir fait des modifications, vous pouvez lancer les tests unitaires pour vérifier que toutes les fonctionnalités fonctionnent correctement et qu'il n'y a pas eu de régression. Pour cela, placez-vous dans le fichier "src/" et exécutez en ligne de commande :
-
pytest
pour lancer tous les tests. -
pytest -s
pour voir la trace des logs. -
pytest tests/"nom_du_fichier"
pour exécuter individuellement un fichier de test.
Vous pouvez également rajouter des tests pour une nouvelle fonctionnalité en créant un nouveau fichier dans "src/tests/" ! Pour le bon fonctionnement de pytest, le nom du fichier de test doit obligatoirement commencer par "test_".
Have fun ! :)
🎖️ Licence
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2022 Oncela <am@laquadrature.net>, Nono <np@laquadrature.net>, Erolf <erolf@laquadrature.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.