Projet

Général

Profil

Www » Historique » Version 31

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

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 28
puis aller sur http://aquilenet.fr et https://aquilenet.fr/jechange pour l'admin
9
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
42
    $(mezz_aquilenet) git init
43
44
  
45 28
ajouter votre clé ssh publique sur gaia.aquilenet.fr:/home/www-git/.ssh/autorized.keys
46
47 30 stephane.ligozat
ajouter ceci dans votre ~/.ssh/config :
48 28
49 30 stephane.ligozat
    Host gitwww
50
    HostName git.aquilenet.fr
51
    User www-git
52
    Port 55555
53 28
54 30 stephane.ligozat
vous pouvez maintenant cloner le projet :
55 28
56 30 stephane.ligozat
    $(mezz_aquilenet) git clone ssh://gitwww:/srv/git/www-git/www_aquilenet.git
57
    $(mezz_aquilenet) cd www_aquilenet
58
    $(mezz_aquilenet) python manage.py runserver
59 28
60 30 stephane.ligozat
Le site de développement est disponible à http://127.0.0.1:8000/
61 28
62 30 stephane.ligozat
Importez des données dans dev.db depuis le fichier aquilenet\_data\_dev.json avec cette commande :
63 28
64 30 stephane.ligozat
    python manage.py loaddata aquilenet_data_dev.json
65 28
66 30 stephane.ligozat
## Déploiement vers le serveur
67 28
68 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.
69 28
70 30 stephane.ligozat
### Se connecter sur le hestia.aquilenet.fr
71 28
72 30 stephane.ligozat
ajouter ceci dans votre ~/.ssh/config :
73 28
74 30 stephane.ligozat
    Host hestia_web
75
    Hostname hestia.aquilenet.fr
76
    User webmaistre
77
    Port 55555
78 28
79 30 stephane.ligozat
se connecter : 
80
    
81
    $ ssh hestia_web
82 28
83 30 stephane.ligozat
### Activer l'environnement virtuel du projet de test
84 28
85 30 stephane.ligozat
    $ cd /srv/www/webmaistre/.virtualenvs/test_aquilenet
86
    $ . bin/activate
87 28
88 30 stephane.ligozat
Dès lors (test_aquilenet) doit commencer votre ligne de commande.
89 28
90 30 stephane.ligozat
Aller dans le répertoire du projet :
91 28
92 30 stephane.ligozat
    (test_aquilenet) $ cd /srv/www/test_aquilenet
93 28
94 30 stephane.ligozat
### Récupérer la dernière version du dépôt
95 28
96 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.
97 28
98 30 stephane.ligozat
    (test_aquilenet) $ git pull
99 28
100 30 stephane.ligozat
### Mise à jour de la base
101 28
102 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 :
103
104
    (test_aquilenet) $  python manage.py migrate
105
106
### Les staticfiles
107
108
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 :
109
110
    (test_aquilenet) $  python manage.py collectstatic
111
112
### Redémarrer le processus
113
114
    (test_aquilenet) $ supervisorctl update gunicorn_www_aquilenet
115
116
Le PID est dans gunicorn.pid, en faisant :
117
118
    $ ps -aux | grep test_aquilenet
119
120
on doit voir que le processus master a ce PID. Il ne peut y avoir qu'un seul master pour test_aquilenet.
121
122
123
### Passage en production
124
125
Si tout ce passe bien, alors on peut faire la même chose en passant à l'environnement de production :
126
127
    $ cd /srv/www/webmaistre/.virtualenvs/www_aquilenet
128
    $ . bin/activate
129
130
Dès lors (www_aquilenet) doit commencer votre ligne de commande.
131
132
Aller dans le répertoire du projet :
133
134
    (www_aquilenet) $ cd /srv/www/www_aquilenet
135
136
Puis procéder comme pour le projet de test.
137
138
139
## IDE
140
141
1\. vim : https://github.com/bling/dotvim  
142
2\. eclipse-pydev (dépôt ubuntu)  
143
3\. pycharm : https://www.jetbrains.com/pycharm/
144
145
## Présentation
146
147
Pré-requis :
148
149
1\. connaissance de django : https://docs.djangoproject.com/fr/1.10/  
150
2\. connaissance de mezzanine http://mezzanine.jupo.org/
151
152
**Des tutoriels vidéos sur http://aquilenet.fr/comment-je-change/ (il faut être connecté)**
153
154
## Edition du menu situé en haut à droite
155 28
156
Les liens de ce menu sont éditables dans l'admin sous la page "menu annexe en haut à droite"