Projet

Général

Profil

Www » Historique » Révision 30

Révision 29 (stephane.ligozat, 22/05/2018 22:12) → Révision 30/51 (stephane.ligozat, 19/07/2018 19:22)

# h1. Documentation site aquilenet 

  


 Le site est propulsé par django mezzanine (python) 

 ## 


 h2. Site en préprod 

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


 
                                                                                                                                                                                                                                        
 echo "141.255.128.8 aquilenet.fr" >> /etc/hosts 
 puis aller sur http://aquilenet.fr et https://aquilenet.fr/jechange pour l'admin 

 ## h2. 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 

 virtualenv créé un environnement python dédié avec virtualenv : https://virtualenv.pypa.io/en/stable/ 

 pip est l'apt-get de python 

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

      

 <pre> 
 $ apt-get install libjpeg8 libjpeg8-dev 
     
 $ apt-get build-dep python-imaging 

 </pre> 

 Installation de mezzanine et de ses dépendances 

     

 <pre> 
 $ apt-get install virtualenv python-pip 
     
 $ virtualenv mezz_aquilenet # créé l'environnement virtuel mezz_aquilenet 
     
 $ cd mezz_aquilenet 
     
 $ . bin/activate # démarrer l'environnement 
     
 $(mezz_aquilenet) #    vous êtes bien dans l'environnement ! 
     
 $(mezz_aquilenet) pip install mezzanine    # et de ses dépendances 

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

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

 ## h2. Installer la version de développement du site 

  

 Dans le dossier de l'environnement mezz\_aquilenet mezz_aquilenet ou ailleurs, l'important est d'être connecté à l'environnement. 

     

 <pre> 
 $(mezz_aquilenet) git init 

  
 
 </pre> 
 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 : 

     
 <pre> 
 $(mezz_aquilenet) git clone ssh://gitwww:/srv/git/www-git/www_aquilenet.git 
     ssh://www-git@git.aquilenet.fr:/srv/git/www-git//www_aquilenet.git    (port 55555) 
 $(mezz_aquilenet) cd www_aquilenet 
     
 $(mezz_aquilenet) python manage.py runserver 

 </pre> 

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

 Vous aurez cette erreur : 

 Invalid HTTP_HOST header: '127.0.0.1:8000'. You may need to add u'127.0.0.1' to ALLOWED_HOSTS. 

 Ouvrez www_aquilenet/local_settings.py et décommentez la ligne 47 : 

 ALLOWED_HOSTS = ["127.0.0.1"]      

 En effet ALLOWED_HOSTS est défini dans www_aquilenet.settings.py (version) production et pointe sur les noms de domaines aquilenet. 

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

      

 <pre> 
 python manage.py loaddata aquilenet_data_dev.json 
 </pre> 

 ## h2. 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. Installer fabric,une application d'administration 

 ### Se connecter sur le hestia.aquilenet.fr $(mezz_aquilenet) pip fabric 

 ajouter ceci Les commandes sont 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 fabric.py,les variables d'environnement dans le répertoire dictionnaire FABRIC du projet : 

     (test_aquilenet) $ cd /srv/www/test_aquilenet fichier www_aquilenet/local_settings.py 

 ### 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 La doc de fabric 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 http://mezzanine.jupo.org/docs/deployment.html 

 ### Redémarrer *ATTENTION* pour le processus 

     (test_aquilenet) $ supervisorctl update gunicorn_www_aquilenet 

 Le PID est dans gunicorn.pid, en faisant : 

     $ ps -aux | grep test_aquilenet 

 on moment (1er octobre 2017) le fichier fabric.py doit voir être modifié pour que le processus master a ce PID. Il ne peut y avoir qu'un seul master pour test_aquilenet. 


 ### Passage en production 

 Si tout ce déploiement depuis le répertoire git se passe bien, alors on peut faire la même chose donc actuellement le déploiement est 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. 'rsync'. 


 ## h2. IDE 

 1\. 1. vim : https://github.com/bling/dotvim   
 2\. 
 2. eclipse-pydev (dépôt ubuntu)   
 3\. 
 3. pycharm : https://www.jetbrains.com/pycharm/ 

 ## h2. Présentation 

 Pré-requis : 

 1\.  

 1. connaissance de django : https://docs.djangoproject.com/fr/1.10/   
 2\. 
 2. connaissance de mezzanine http://mezzanine.jupo.org/ 

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

 ## h2. 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"