Projet

Général

Profil

Actions

Www » Historique » Révision 37

« Précédent | Révision 37/51 (diff) | Suivant »
stephane.ligozat, 08/09/2018 14:02


Documentation site aquilenet

Le site est propulsé par django mezzanine (python)

Site hébergé sur la vm dédiée hestia.aquilenet.fr

Aller sur http://aquilenet.fr et https://aquilenet.fr/jechange pour l'admin

Installation en local pour développement

Détail de l'installation : http://mezzanine.jupo.org/docs/overview.html#installation

Requis : python >= 2.7 pip et virtualenv

Si libjpeg8 et libjpeg8-dev ne sont pas installés sur votre système :

$ apt-get install libjpeg8 libjpeg8-dev
$ apt-get build-dep python-imaging

Créer un environnement virtuel

Installer PIP l'apt-get des programmes python

$ sudo apt-get pip

Un environnement virtuel isole les librairies qui y sont installées du système ainsi les projets partageant les mêmes librairies tournent dans le même environnement.

Installer virtualenv et virtualenvwrapper (détails : http://apprendre-python.com/page-virtualenv-python-environnement-virtuel).

$ pip install virtualenv virualenvwrapper

Copier ces lignes à la fin de votre .bashrc :

export WORKON_HOME=~/.virenv
mkdir -p $WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh

###Installation de mezzanine et de ses dépendances

$ virtualenv webaki # créé l'environnement virtuel webaki
$ cd mezz_aquilenet
$ workon  webaki # démarrer l'environnement avec la commande workon installée par virtualenvwrapper.
(webaki)$ #  vous êtes bien dans l'environnement !
(webaki)$ pip install mezzanine  # installe mezzanine et ses dépendances dans l'environnement webaki

Installation des modules complémentaires qui sont listés dans requirements.txt à la racine du projet

(webaki)$ pip install django-reversion django-piwik django-simple-captcha git+https://github.com/mjtorn/mezzanine-captcha.git

Installer la version de développement du site

Dans le dossier de l'environnement webaki ou ailleurs, l'important est d'être connecté à l'environnement.

ajouter votre clé ssh publique sur gaia.aquilenet.fr:/home/www-git/.ssh/autorized.keys

ajouter ceci dans votre ~/.ssh/config :

Host gitwww
HostName git.aquilenet.fr
User www-git
Port 55555

vous pouvez maintenant cloner le projet :

(webaki)$ git clone ssh://gitwww:/srv/git/www-git/www_aquilenet.git
(webaki)$ cd www_aquilenet
(webaki)$ python manage.py runserver

Vous pouvez ajouter cette ligne dansvotre .bashrc pour que le nom de la branche courante apparaisse dans votre prompt :

export PS1='\[\033[0;37m\]\u@\h:\[\033[0;33m\]\W\[\033[0m\]\[\033[1;32m\]$(__git_ps1)\[\033[0m\] \$ '

Le site de développement est disponible à http://127.0.0.1:8000/

Importez des données dans dev.db depuis le fichier aquilenet_data_dev.json avec cette commande :

(webaki)$ python manage.py loaddata aquilenet_data_dev.json

Déploiement vers le serveur

Le projet de production est www_aquilenet, le projet de développement est test_aquilenet. Il est conseillé de déployer sur le test (dev.aquilenet.fr) avant de déployer en production.

Se connecter sur le hestia.aquilenet.fr

ajouter ceci dans votre ~/.ssh/config :

Host hestia_web
Hostname hestia.aquilenet.fr
User webmaistre
Port 55555

se connecter :

$ ssh hestia_web

Activer l'environnement virtuel du projet de test

$ cd /srv/www/webmaistre/.virtualenvs/test_aquilenet
$ . bin/activate

Dès lors (test_aquilenet) doit commencer votre ligne de commande.

Aller dans le répertoire du projet :

(test_aquilenet) $ cd /srv/www/test_aquilenet

Récupérer la dernière version du dépôt

NOTE : le développeur a créé une nouvelle branche pour développer une évolution, il la "pousse" sur le dépôt, il prévient ses copains qui testent la branche, si tout est OK, il fusionne sa branche dans la branche master et pousse cette dernière vers le dépôt.

(test_aquilenet) $ git pull

Mise à jour de la base

Si des 'models.py' de la nouvelle version ont été changés, ajoutés ou supprimés, il faut migrer ces modifications en faisant :

(test_aquilenet) $  python manage.py migrate

Les staticfiles

Si des css, js ou des images d'interface (logo d'accueil) ont été changés, ajoutés ou supprimés, il faut lancer la commande :

(test_aquilenet) $  python manage.py collectstatic

Redémarrer le processus

(test_aquilenet) $ sudo supervisorctl update gunicorn_test_aquilenet

Le PID est dans gunicorn.pid, en faisant :

$ ps -aux | grep test_aquilenet

on doit voir que le processus master a ce PID. Il ne peut y avoir qu'un seul master pour test_aquilenet. Si l'application n'a pas redémarrée (pas de changements visibles), tuer ce processus ($ kill -HUP ) et redémarrer.

Passage en production

Si tout ce passe bien, alors on peut faire la même chose en passant à l'environnement de production :

$ cd /srv/www/webmaistre/.virtualenvs/www_aquilenet
$ . bin/activate

Dès lors (www_aquilenet) doit commencer votre ligne de commande.

Aller dans le répertoire du projet :

(www_aquilenet) $ cd /srv/www/www_aquilenet

Puis procéder comme pour le projet de test.

IDE

1. vim : https://github.com/bling/dotvim

2. eclipse-pydev (dépôt ubuntu)

3. pycharm : https://www.jetbrains.com/pycharm/

Présentation

Pré-requis :

1. connaissance de django : https://docs.djangoproject.com/fr/1.10/

2. connaissance de mezzanine http://mezzanine.jupo.org/

Des tutoriels vidéos sur http://aquilenet.fr/comment-je-change/ (il faut être connecté)

Edition du menu situé en haut à droite

Les liens de ce menu sont éditables dans l'admin sous la page "menu annexe en haut à droite"

Tricks

Reformater l'image aux préférances de sacha.
Il faut ajourer ceci a la fin de la vue code source :

<p>
<script>// <![CDATA[
document.getElementsByClassName('img-responsive')[0].style['width'] = '200px';
document.getElementsByClassName('img-responsive')[0].style['float'] = 'left';
document.getElementsByClassName('img-responsive')[0].style['margin-right'] = '5%';
// ]]></script>
</p>

Mis à jour par stephane.ligozat il y a plus de 6 ans · 37 révisions