Projet

Général

Profil

Www » Historique » Version 34

stephane.ligozat, 26/08/2018 13:30

1 30 stephane.ligozat
# Documentation site aquilenet
2 28
3
Le site est propulsé par django mezzanine (python)
4
5
Site hébergé sur la vm dédiée hestia.aquilenet.fr
6 30 stephane.ligozat
7
8 32 stephane.ligozat
Aller sur http://aquilenet.fr et https://aquilenet.fr/jechange pour l'admin
9 28
10 30 stephane.ligozat
## Installation en local pour développement
11 28
12
Détail de l'installation : http://mezzanine.jupo.org/docs/overview.html#installation
13
14 30 stephane.ligozat
Requis : python \>= 2.7 pip et virtualenv
15 28
16
virtualenv créé un environnement python dédié avec virtualenv : https://virtualenv.pypa.io/en/stable/
17
18
pip est l'apt-get de python
19
20 30 stephane.ligozat
Si libjpeg8 et libjpeg8-dev ne sont pas installés sur votre système :
21 28
22 30 stephane.ligozat
    $ apt-get install libjpeg8 libjpeg8-dev
23
    $ apt-get build-dep python-imaging
24 28
25
Installation de mezzanine et de ses dépendances
26
27 30 stephane.ligozat
    $ apt-get install virtualenv python-pip
28
    $ virtualenv mezz_aquilenet # créé l'environnement virtuel mezz_aquilenet
29
    $ cd mezz_aquilenet
30
    $ . bin/activate # démarrer l'environnement
31
    $(mezz_aquilenet) #  vous êtes bien dans l'environnement !
32
    $(mezz_aquilenet) pip install mezzanine  # et de ses dépendances
33 28
34 30 stephane.ligozat
Installation des modules complémentaires qui sont listés dans requirements.txt à la racine du projet
35 28
36 30 stephane.ligozat
    $(mezz_aquilenet) pip install django-reversion django-piwik django-simple-captcha git+https://github.com/mjtorn/mezzanine-captcha.git
37 28
38 30 stephane.ligozat
## Installer la version de développement du site
39 28
40 30 stephane.ligozat
Dans le dossier de l'environnement mezz\_aquilenet ou ailleurs, l'important est d'être connecté à l'environnement.
41 34 stephane.ligozat
 
42 28
ajouter votre clé ssh publique sur gaia.aquilenet.fr:/home/www-git/.ssh/autorized.keys
43
44 30 stephane.ligozat
ajouter ceci dans votre ~/.ssh/config :
45 28
46 30 stephane.ligozat
    Host gitwww
47
    HostName git.aquilenet.fr
48
    User www-git
49
    Port 55555
50 28
51 30 stephane.ligozat
vous pouvez maintenant cloner le projet :
52 28
53 30 stephane.ligozat
    $(mezz_aquilenet) git clone ssh://gitwww:/srv/git/www-git/www_aquilenet.git
54
    $(mezz_aquilenet) cd www_aquilenet
55
    $(mezz_aquilenet) python manage.py runserver
56 28
57 30 stephane.ligozat
Le site de développement est disponible à http://127.0.0.1:8000/
58 28
59 30 stephane.ligozat
Importez des données dans dev.db depuis le fichier aquilenet\_data\_dev.json avec cette commande :
60 28
61 30 stephane.ligozat
    python manage.py loaddata aquilenet_data_dev.json
62 28
63 30 stephane.ligozat
## Déploiement vers le serveur
64 28
65 30 stephane.ligozat
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.
66 28
67 30 stephane.ligozat
### Se connecter sur le hestia.aquilenet.fr
68 28
69 30 stephane.ligozat
ajouter ceci dans votre ~/.ssh/config :
70 28
71 30 stephane.ligozat
    Host hestia_web
72
    Hostname hestia.aquilenet.fr
73
    User webmaistre
74
    Port 55555
75 28
76 30 stephane.ligozat
se connecter : 
77
    
78
    $ ssh hestia_web
79 28
80 30 stephane.ligozat
### Activer l'environnement virtuel du projet de test
81 28
82 30 stephane.ligozat
    $ cd /srv/www/webmaistre/.virtualenvs/test_aquilenet
83
    $ . bin/activate
84 28
85 30 stephane.ligozat
Dès lors (test_aquilenet) doit commencer votre ligne de commande.
86 28
87 30 stephane.ligozat
Aller dans le répertoire du projet :
88 28
89 30 stephane.ligozat
    (test_aquilenet) $ cd /srv/www/test_aquilenet
90 28
91 30 stephane.ligozat
### Récupérer la dernière version du dépôt
92 28
93 30 stephane.ligozat
**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.
94 28
95 30 stephane.ligozat
    (test_aquilenet) $ git pull
96 28
97 30 stephane.ligozat
### Mise à jour de la base
98 28
99 30 stephane.ligozat
Si des 'models.py' de la nouvelle version ont été changés, ajoutés ou supprimés, il faut migrer ces modifications en faisant :
100
101
    (test_aquilenet) $  python manage.py migrate
102
103
### Les staticfiles
104
105
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 :
106
107 28
    (test_aquilenet) $  python manage.py collectstatic
108 30 stephane.ligozat
109
### Redémarrer le processus
110
111 34 stephane.ligozat
    (test_aquilenet) $ supervisorctl update gunicorn_test_aquilenet
112 30 stephane.ligozat
113
Le PID est dans gunicorn.pid, en faisant :
114
115
    $ ps -aux | grep test_aquilenet
116
117
on doit voir que le processus master a ce PID. Il ne peut y avoir qu'un seul master pour test_aquilenet.
118
119
120
### Passage en production
121
122
Si tout ce passe bien, alors on peut faire la même chose en passant à l'environnement de production :
123
124
    $ cd /srv/www/webmaistre/.virtualenvs/www_aquilenet
125
    $ . bin/activate
126
127
Dès lors (www_aquilenet) doit commencer votre ligne de commande.
128
129
Aller dans le répertoire du projet :
130
131
    (www_aquilenet) $ cd /srv/www/www_aquilenet
132
133
Puis procéder comme pour le projet de test.
134
135
136
## IDE
137
138
1\. vim : https://github.com/bling/dotvim  
139
2\. eclipse-pydev (dépôt ubuntu)  
140
3\. pycharm : https://www.jetbrains.com/pycharm/
141
142
## Présentation
143
144
Pré-requis :
145
146
1\. connaissance de django : https://docs.djangoproject.com/fr/1.10/  
147
2\. connaissance de mezzanine http://mezzanine.jupo.org/
148
149
**Des tutoriels vidéos sur http://aquilenet.fr/comment-je-change/ (il faut être connecté)**
150
151
## Edition du menu situé en haut à droite
152 28
153
Les liens de ce menu sont éditables dans l'admin sous la page "menu annexe en haut à droite"
154 33 louis.leveque
155
## Tricks 
156
157
Reformater l'image aux préférances de sacha.
158
Il faut ajourer ceci a la fin de la vue code source : 
159
160
~~~
161
<p>
162
<script>// <![CDATA[
163
document.getElementsByClassName('img-responsive')[0].style['width'] = '200px';
164
document.getElementsByClassName('img-responsive')[0].style['float'] = 'left';
165
document.getElementsByClassName('img-responsive')[0].style['margin-right'] = '5%';
166
// ]]></script>
167
</p>
168
~~~