mirror of
https://github.com/partitioncloud/partitioncloud-server.git
synced 2025-01-23 09:16:25 +01:00
partitioncloud | ||
scripts | ||
.gitignore | ||
.pylintrc | ||
babel.cfg | ||
default_config.py | ||
LICENSE | ||
make.sh | ||
README.md | ||
requirements.txt | ||
wsgi.py |
partitioncloud-server
Serveur web (basé sur Flask) pour gérer sa collection de partitions musicales
Features
Liste non exhaustive
- recherche de partitions en ligne et ajout à la base de données (par recherche Google)
- partage d'un album par un lien direct sans nécessité de connexion (en lecture seule)
- Thème sombre
- dashboard administrateur: gestion de tous les albums, partitions et utilisateurs
- CLI uniquement à des fins de synchronisation. Il serait bon d'ajouter une BDD locale avec les UUIDs des partitions
Pas de JavascriptComplètement fonctionnel sans JavaScript, cela vient juste ajouter des toutes petites améliorations
Points à noter
- Les partitions ajoutées sont accessibles à tous les utilisateurs depuis la recherche même si ils ne sont pas dans un album leur y donnant accès, pour limiter la redondance
- Il est possible d'entrer des paroles en créant une partition, celles-ci sont utilisées uniquement pour la fonctionalité de recherche pour le moment
- Les résultats de la recherche web sont téléchargés automatiquement pour en générer un aperçu, donc
MAX_ONLINE_QUERIES
doit rester raisonnable - Le fichier de configuration est un script lu par python et bash, il ne faut donc pas écrire
CONFIG_PARAM = 2
maisCONFIG_PARAM=2
(pour bash)
Installation
Installer le serveur
# Clone this repo
git clone https://github.com/partitioncloud/partitioncloud-server.git
cd partitioncloud-server
# Install dependencies
pip install -r requirements.txt
pybabel compile -d partitioncloud/translations
# Create database and folders
./make.sh init
Démarrer le serveur
./make.sh start
Pour démarrer sur un environnement complet (plus que pour du dev/test),
Installer gunicorn
puis:
./make.sh prod
Configuration
cp default_config.py instance/config.py
Modifier le fichier de configuration créé dans instance/
Screenshots
Interface principale
Tableau administrateur
Recherche en ligne et locale
Translations
Créer une nouvelle traduction
# Extraire les données
pybabel extract -F babel.cfg -k _l -o partitioncloud/translations/messages.pot .
# Créer un nouveau fichier
pybabel init -i partitioncloud/translations/messages.pot -d partitioncloud/translations/ -l $COUNTRY_CODE
# Modifier translations/$COUNTRY_CODE/LC_MESSAGES/messages.po
# Ajouter $COUNTRY_CODE dans default_config.py: LANGUAGES
# Compiler les nouvelles translations avant de démarrer le serveur
pybabel compile -d partitioncloud/translations/
Mettre à jour une traduction
# Récupérer les données les plus récentes
pybabel extract -F babel.cfg -k _l -o partitioncloud/translations/messages.pot .
# Les ajouter aux traductions
pybabel update -i partitioncloud/translations/messages.pot -d partitioncloud/translations/
TODO
- Modifier son mot de passe
- Supprimer un utilisateur
- Ajouter config:DISABLE_DARK_MODE
- Ajouter config:DISABLE_REGISTER
- Ajouter config:ONLINE_SEARCH_BASE_QUERY pour la recherche google, actuellement 'filetype:pdf partition'