Projet

Général

Profil

Www » Historique » Version 30

stephane.ligozat, 19/07/2018 19:22

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