Serveur web (basé sur Flask) pour gérer sa collection de partitions musicales
- 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
- 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)
# Clone this repo
git clone https://github.com/partitioncloud/partitioncloud-server.git
cd partitioncloud-server
# Create an image named "partitioncloud"
docker build -t partitioncloud .
# You can then run the container, replace $PORT with the port you want to be exposed
PORT=5000
docker run -d \
-p $PORT:5000 \
--restart=unless-stopped \
--name partitioncloud \
partitioncloud:latest
L'utilisateur par défaut est root
avec le mot de passe root
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
cp default_config.py instance/config.py
Modifier le fichier de configuration créé dans instance/
# 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/
# 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/
- 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'
- Ajouter un Dockerfile