Skip to content
Extraits de code Groupes Projets
Avatar de nono
nono rédigé
Nouvelle version du Carré

See merge request !33
2f158689
Historique
Nom Dernière validation Dernière mise à jour
data
src
static
.gitignore
LICENSE
README.md
config.ini
install.sh
requirements.txt

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.