Skip to content
Dezède, a musicology project focused on performances.
Python HTML CSS JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.tx
accounts
afo
cache_tools
common
dezede
docs
dossiers
examens
exporter
libretto
prod
range_slider
requirements
scripts
static_grouper
typography
.gitignore
.gitmodules
.travis.yml
Dockerfile
LICENSE
README.rst
dependances.sh
fabfile.py
manage.py
requirements.txt
setup.py

README.rst

Projet Dezède

Auteur:Bertrand Bordage
Copyright: Bertrand Bordage © 2011-2014

travis coveralls

Procédure d'installation

Note

Toutes les commandes sont à exécuter dans le répertoire du projet.

  1. Vérifier la satisfaction des dépendances.

  2. Choisir un mode de lancement :

Dépendances

Système d'exploitation:Ubuntu 13.04 « Raring Ringtail »
Pour installer les dépendances qui suivent :
sudo ./dependances.sh

Paquets

Nécessaires au déploiement

Paquet Version
nginx 1.10.0
supervisor 3.2.0

Configuration de PostgreSQL

  1. Effectuer les actions suivantes :

    sudo -i -u postgres
    psql
    CREATE USER dezede LOGIN CREATEDB;
    CREATE DATABASE dezede OWNER dezede;
    \q
    exit
  2. Autoriser l'utilisateur dezede à accéder à PostgreSQL par le socket unix :

    • Éditer le fichier de configuration :

      sudo nano /etc/postgresql/9.5/main/pg_hba.conf

    • Ajouter cette nouvelle ligne après # Database administrative login by Unix domain socket :

      local dezede,test_dezede dezede trust
      
  3. Création des tables de la base de données :

    ./manage.py syncdb puis ./manage.py migrate

  4. Redémarrer PostgreSQL :

    sudo service postgresql restart

Configuration de Redis

  1. Activer le socket Unix de Redis :

    • Éditer le fichier de configuration :

      sudo nano /etc/redis/redis.conf

    • Ajouter ces lignes :

      unixsocket /run/redis/redis.sock
      unixsocketperm 777
      
  2. Redémarrer Redis :

    sudo service redis-server restart

Lancement du serveur de développement

  1. Configuration de PostgreSQL

  2. Configuration de Redis

  3. Création des révisions initiales :

    ./manage.py createinitialrevisions

  4. Collecte des fichiers statiques :

    ./manage.py collectstatic -l

  5. Préparation du dossier d'upload :

    mkdir -p media/uploads/

  6. Indexation des données :

    ./manage.py rebuild_index

  7. Lancement du serveur de développement :

    DJANGO_DEBUG=True ./manage.py runserver

Déploiement

  1. Configuration de PostgreSQL

  2. Configuration de Redis

  3. Création des révisions initiales :

    ./manage.py createinitialrevisions

  4. Collecte des fichiers statiques :

    ./manage.py collectstatic

  5. Préparation du dossier d'upload :

    mkdir -p media/uploads/

  6. Compiler les fichiers de langues :

    ./manage.py compilemessages

  7. Indexation des données :

    ./manage.py rebuild_index

  8. Configuration de nginx

Configuration de nginx

  1. Création d'un site dans nginx :

    sudo nano /etc/nginx/sites-available/dezede

  2. Copier dedans le contenu de nginx/dezede.conf (en remplaçant ce qui est balisé [[quelque_chose]])

  3. Activer le site et désactiver le site par défaut :

    sudo ln -s /etc/nginx/sites-available/dezede /etc/nginx/sites-enabled/
    sudo unlink /etc/nginx/sites-enabled/default
  4. Configuration de supervisor pour lancer automatiquement le serveur django avec gunicorn :

    sudo nano /etc/supervisor/conf.d/dezede.conf

  5. Copier ceci dans ce dernier (en remplaçant ce qui est balisé [[quelque_chose]]) :

    [program:dezede_django]
    directory=[[/chemin/du/projet]]
    command=gunicorn dezede.wsgi:application -w3 -t300 -b 127.0.0.1:[[port]]
    user=[[utilisateur]]
    autostart=true
    autorestart=true
    redirect_stderror=true
    stdout_logfile=[[/chemin/du/projet]]/supervisor_django.log
    stdout_logfile_maxbytes=10MB
    
    [program:dezede_rq]
    directory=[[/chemin/du/projet]]
    command=python manage.py rqworker --settings=dezede.settings.prod
    user=[[utilisateur]]
    autostart=true
    autorestart=true
    redirect_stderror=true
    stdout_logfile=[[/chemin/du/projet]]/supervisor_rq.log
    stdout_logfile_maxbytes=10MB
    
    [group:dezede]
    programs=dezede_django,dezede_rq
    
  6. Relancer le serveur avec :

    sudo service supervisor restart
    sudo service nginx restart

Localisation

  1. Ajouter (éventuellement) la langue désirée à LANGUAGES du fichier settings.py

  2. Metre à jour à partir de Transifex :

    tx pull -a

  3. Compiler les fichiers de langues (en se mettant au préalable dans le dossier de l'application ou du projet) :

    ./manage.py compilemessages

  4. Relancer le serveur

Tests de régression

Une suite de tests encore incomplète est disponible. Pour la lancer, exécuter :

./manage.py test dezede libretto accounts dossiers typography cache_tools

Restauration de sauvegarde SQL

sudo -i -u postgres
psql -v ON_ERROR_STOP=1 dezede < dezede.sql
Something went wrong with that request. Please try again.