summaryrefslogtreecommitdiff
path: root/docs/fr/upgrade.rst
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-12-13 16:08:19 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-12-13 16:08:19 +0100
commit51f788fd4e81186be2f7b7b4459d3d90a7b47bf2 (patch)
tree232659156f76ff7664139d963dac8d8c68e1d43f /docs/fr/upgrade.rst
parent70811d699e68c075ed3cae543cbb8b695d386730 (diff)
parent3aaae876d73a9c16d2961bea9ae2012ae0bc5b0e (diff)
downloadChimère-51f788fd4e81186be2f7b7b4459d3d90a7b47bf2.tar.bz2
Chimère-51f788fd4e81186be2f7b7b4459d3d90a7b47bf2.zip
Merge branch 'master' into saclay
Conflicts: chimere/admin.py chimere/locale/fr/LC_MESSAGES/django.po chimere/tests.py chimere/utils.py
Diffstat (limited to 'docs/fr/upgrade.rst')
-rw-r--r--docs/fr/upgrade.rst334
1 files changed, 334 insertions, 0 deletions
diff --git a/docs/fr/upgrade.rst b/docs/fr/upgrade.rst
new file mode 100644
index 0000000..a092b4b
--- /dev/null
+++ b/docs/fr/upgrade.rst
@@ -0,0 +1,334 @@
+.. -*- coding: utf-8 -*-
+
+===========
+Mise à jour
+===========
+
+:Auteur: Étienne Loks
+:date: 2012-11-29
+:Copyright: CC-BY 3.0
+
+Ce document présente la mise à jour de Chimère.
+Il a été mis à jour pour la version 2.0.0 de Chimère.
+
+.. Warning::
+ Avant toute mise à jour faites une sauvegarde de la base de données et de
+ tous vos fichiers d'installation (en particulier si vous avez fait des
+ changements sur ceux-ci).
+
+La procédure de migration nécessite une connaissance de base de Git et de la
+ligne de commande Linux. Ce n'est *pas* une procédure facile. Un travail est en
+cours pour faciliter les mises à jour des futures versions de Chimère (>2.0).
+
+Si plusieurs versions de Chimère ont été publiées depuis votre installation,
+vous devez répéter toutes les étapes de mise à jour.
+Par exemple pour mettre à jour depuis la version 1.1 vers la version 2.0, vous
+devez d'abord mettre à jour vers la version 1.2 puis vers la version 2.0.
+La seule étape optionnelle est l'intégration de vos personnalisations.
+
+La version stable actuelle est la version 2.0.
+
+.. Note::
+ Si vous souhaitez améliorer Chimère prenez la branche *master* sur Git.
+
+Les instructions sont données pour Debian Squeeze et Debian Wheezy.
+
+
+Obtenir des nouvelles versions des dépendances
+----------------------------------------------
+
+Version 1.1 -> 1.2
+******************
+
+.. code-block:: bash
+
+ apt-get install python-lxml libjs-jquery gpsbabel python-gdal
+
+Version 1.2 -> 2.0
+******************
+
+Debian Squeeze
+++++++++++++++
+Activez les backports (http://backports-master.debian.org/Instructions/).
+Puis installez les nouvelles dépendances ::
+
+ apt-get install -t squeeze-backports python-django python-django-south \
+ python-simplejson libjs-jquery-ui python-pyexiv2 \
+ python-feedparser javascript-common libjs-jquery
+
+Debian Wheezy
++++++++++++++
+
+.. code-block:: bash
+
+ apt-get install python-django-south python-simplejson libjs-jquery-ui \
+ python-pyexiv2 python-feedparser javascript-common
+
+Si vous comptez réaliser des imports importants envisagez l'installation
+de `Celery <http://celeryproject.org/>`_.
+
+.. code-block:: bash
+
+ apt-get install python-django-celery python-kombu
+
+Obtenir les nouvelles sources
+-----------------------------
+
+Tout d'abord vous avez besoin de la nouvelle version du code source.
+Pour la procédure d'installation, le code source doit être celui du dépôt Git.
+
+Pour simplifier les instructions suivantes, quelques variables d'environnement
+sont initialisées.
+
+.. code-block:: bash
+
+ CHIMERE_PATH=/srv/chimere
+ CHIMERE_TAG=v1.2.0 # version 1.1 -> 1.2
+ CHIMERE_TAG=v2.0-RC3 # version 1.2 -> 2.0
+ CHIMERE_TAG=master # version 2.0 -> master
+ CHIMERE_LOCALNAME=mychimere
+
+Le nom de votre projet (*CHIMERE_LOCALNAME*) est utilisé pour le nom de la
+bibliothèque Python correspondant à votre projet ainsi que votre propre
+branche Git.
+En tant que bibliothèque Python, ce nom doit suivre les règles de nommage des
+noms de variable Python : il doit comporter au moins une lettre et peut
+comporter autant de nombres et de lettres que souhaité, le caractère tiret bas
+(« _ ») est accepté. N'utilisez pas de caractères accentués. Ne commencez pas
+par « _ » car cela a une signification particulière en Python.
+
+
+Pour une précédente installation Git
+************************************
+
+.. code-block:: bash
+
+ cd $CHIMERE_PATH
+ git checkout -b $CHIMERE_LOCALNAME # seulement si vous n'avez pas encore
+ # créé votre branche locale
+ git stash # si vous avez des changements pas encore « commités »
+ git checkout master
+ git pull
+ git checkout $CHIMERE_LOCALNAME
+ git rebase $CHIMERE_TAG
+
+Pour une précédente installation depuis une archive
+***************************************************
+
+Supprimez d'abord votre ancienne installation et obtenez la version Git :
+
+.. code-block:: bash
+
+ cd $CHIMERE_PATH
+ cd ..
+ rm -rf $CHIMERE_PATH
+ git clone git://www.peacefrogs.net/git/chimere
+ cd chimere
+ git checkout $CHIMERE_TAG
+ git checkout -b $CHIMERE_LOCALNAME
+
+
+Mettre à jour les paramètres de base
+************************************
+
+Version 1.1 -> 1.2
+++++++++++++++++++
+
+.. code-block:: bash
+
+ CHIMERE_APP_PATH=$CHIMERE_PATH/chimere
+ vim $CHIMERE_APP_PATH/settings.py
+
+Ajoutez les lignes suivantes (adaptez en fonction de vos installations
+jquery et gpsbabel) :
+
+.. code-block:: python
+
+ JQUERY_URL = SERVER_URL + 'jquery/jquery-1.4.4.min.js'
+ GPSBABEL = '/usr/bin/gpsbabel'
+ # simplification des trajets avec une tolérance de 5 mètres
+ GPSBABEL_OPTIONS = 'simplify,crosstrack,error=0.005k'
+
+Version 1.2 -> 2.0
+++++++++++++++++++
+
+Patron de projet
+................
+Créez un nouveau patron de projet :
+
+.. code-block:: bash
+
+ cd $CHIMERE_PATH
+ cp -ra $CHIMERE_PATH/example_project $CHIMERE_LOCALNAME
+ CHIMERE_APP_PATH=$CHIMERE_PATH/$CHIMERE_LOCALNAME
+
+local_settings
+..............
+Un fichier *local_settings* est maintenant utilisé.
+
+.. code-block:: bash
+
+ cd $CHIMERE_APP_PATH
+ cp local_settings.py.sample local_settings.py
+ vim local_settings.py
+
+Reportez vos anciens paramètres de *settings.py* vers *local_settings.py*
+(au minimum la configuration de votre base de données).
+Le paramètre *ROOT_URLCONF* doit être mis à la valeur
+« **nom_de_votre_projet.urls** ».
+
+logs
+....
+Par défaut, des fichiers de *log* sont maintenant écrit dans le fichier :
+« */var/log/django/chimere.log* ».
+
+.. code-block:: bash
+
+ mkdir /var/log/django
+ touch /var/log/django/chimere.log
+ chown www-data -R /var/log/django
+
+Fichiers statiques
+..................
+
+Les fichiers statiques sont maintenant gérés avec
+« **django.contrib.staticfiles** ».
+
+.. code-block:: bash
+
+ cd $CHIMERE_APP_PATH
+ ./manage.py collectstatic
+
+
+Déplacez vos anciens fichiers statiques vers le nouveau répertoire :
+
+.. code-block:: bash
+
+ cp -ra $CHIMERE_PATH/chimere/static/* $CHIMERE_APP_PATH/static/
+ cp -ra $CHIMERE_PATH/chimere/static/icons/* $CHIMERE_APP_PATH/media/icons/
+ cp -ra $CHIMERE_PATH/chimere/static/upload $CHIMERE_APP_PATH/media/
+
+Configuration du serveur Web
+............................
+
+Si vous utilisez Apache et WSGI pour mettre à disposition votre Chimère,
+changez la configuration pour pointer vers le chemin correct de
+configuration : « **nom_de_votre_projet.settings** ».
+
+Changez la directive de votre serveur web pour qu'elle pointe vers le bon
+répertoire statique de « **votre_chemin_vers_chimere/chimere/static** » en
+« **votre_chemin_vers_chimere/nom_de_votre_projet/static** ».
+
+Version 2.0 -> master
++++++++++++++++++++++
+
+Mettez à jour les paramètres et les fichiers statiques.
+
+.. code-block:: bash
+
+ cp $CHIMERE_PATH/example_project/settings.py $CHIMERE_LOCALNAME
+ ./manage.py collectstatic
+
+Migration de la base de données
+-------------------------------
+
+Version 1.1 -> 1.2
+******************
+
+Les scripts de migration testent votre installation avant de faire des
+changements. Vous n'aurez donc probablement pas de perte mais par précaution
+avant de les lancer n'oubliez pas de faire une sauvegarde de votre base de
+données.
+Vous pouvez aussi faire une copie de votre base de données actuelle dans une
+nouvelle base et faire la mise à jour sur cette nouvelle base de données.
+
+La bibliothèque GDAL pour Python est nécessaire pour faire fonctionner ces
+scripts (disponible avec le paquet *python-gdal* dans Debian).
+
+Si vous souhaitez lancer le script de migration dans un environnement de
+production, stoppez l'instance de Chimère avant d'exécuter le script de
+migration.
+
+Dans le fichier *settings.py* vérifiez que **chimere.scripts** fait partie
+des *INSTALLED_APPS*.
+
+Après cela, dans le répertoire d'installation de Chimère, exécutez simplement
+le script.
+
+.. code-block:: bash
+
+ cd $CHIMERE_APP_PATH
+ python ./scripts/upgrade.py
+
+Version 1.2 -> 2.0
+******************
+
+Django South est maintenant utilisé pour les migrations de base de données.
+
+.. code-block:: bash
+
+ cd $CHIMERE_APP_PATH
+ ./manage.py syncdb
+ ./manage.py migrate chimere 0001 --fake # simule l'initialisation de la base
+ # de données
+ ./manage.py migrate chimere
+
+Un champ descriptif est maintenant disponible pour les points d'intérêts. Si
+vous souhaitez migrer un ancien *modèle de propriété* vers ce nouveau champ,
+un script est disponible.
+
+.. code-block:: bash
+
+ cd $CHIMERE_APP_PATH
+ ../chimere/scripts/migrate_properties.py
+ # suivez les instructions
+
+Version 2.0 -> master
+*********************
+
+.. code-block:: bash
+
+ cd $CHIMERE_APP_PATH
+ ./manage.py syncdb
+ ./manage.py migrate chimere
+
+Mise à jour des traductions
+---------------------------
+
+Version 1.1 -> 1.2
+******************
+
+.. code-block:: bash
+
+ cd $CHIMERE_APP_PATH
+ ./manage.py compilemessages
+
+Version 1.2 -> 2.0 -> master
+****************************
+
+.. code-block:: bash
+
+ cd $CHIMERE_PATH/chimere
+ django-admin compilemessages
+
+Forcer le rafraîchissement du cache du navigateur des utilisateurs
+------------------------------------------------------------------
+
+Des changements importants au niveau des styles et du javascript sont faits
+entre les différentes versions. Cela peut provoquer des dysfonctionnements
+importants chez des utilisateurs dont le navigateur web a conservé les anciennes
+versions de certains fichiers en cache. Il y a plusieurs moyens de forcer le
+rafraîchissement de leur cache. Un de ceux-ci est de changer le chemin vers les
+fichiers statiques. Pour faire cela, éditez votre fichier *local_settings.py* et
+changez : ::
+
+ STATIC_URL = '/static/'
+
+en : ::
+
+ STATIC_URL = '/static/v2.0.0/'
+
+Changez la directive concernant les fichiers statiques sur le fichier de
+configuration de votre serveur web.
+Redémarrez alors le serveur web pour appliquer les changements.
+