Outils pour utilisateurs

Outils du site


site

Ceci est une ancienne révision du document !


Site web

Le site de faimaison est statique et géré par http://docs.getpelican.com/ pelican.

init du nouvel éditeur

  • cloner le répo site-pelican avec git

DEPRICATED

Technologie utilisée : django-cms

Mis en prod le 10 avril 2012 : http://faimaison.net (à cause de la campagne d'adhésion lancée par la fédé…)

Code : dépôt « site-django » sur le serveur git.

Travail sur le contenu : voir contenu du site

TODO

Site mis en production !

Ce qu'il reste à faire tout de même :

  • Finir la page « Accès Internet » avec notamment les jolis schémas que thy avait fait passer : http://faimaison.net/acces-internet/ [thy ?]
  • Tester la tenue face à la charge (base de données qui tient la route, etc) à grands coups de curl/whatever → ok, ça a tenu la charge avec la campagne d'adhésion de la FFDN :)

Dump de la base de données

On se place dans le cas d'une base de données postgresql, avec un utilisateur postgresql nommé « django » et une base nommée « faimaison » :

pg_dump -U django -f faimaison-ddmmyyy.pgsql -C -F c -Z 5 -E UTF8 faimaison
option description
-U <nom> nom de l'utilisateur qui se connecte sur la base
-f <fichier> exporter dans un fichier externe
-C dans le dump, inclure requete pour créer la base de donnée
-F <option> permet de choisir le format d'export ( içi c'est custom qui est un format compressé destiné à être utilisé avec pg_restore)
-Z <niveau_compression> niveau de compression (entre 0-9)
-E <encodage> préciser l'encodage des données quand elle seront dans le dump

Importation de la base de données

TODO

Migration de sqlite à postgresql

C'est pas aussi simple que prévu… Voici une méthode qui marche (inspiration : http://reinout.vanrees.org/weblog/2011/05/12/sqlite-postgres-django-cms-migrations.html)

  • export de la base de données sqlite. L'astuce est d'utiliser l'option –natural pour avoir moins de problèmes avec les ID uniques qui se retrouvent en double :
    python2 manage.py dumpdata --indent=2 --natural > dump-db.json
  • création de la base de données postgresql (on l'appelle « faimaison » et elle appartient à l'utilisateur « django ») :
    $ createuser -P django
    $ createdb -U django faimaison
  • configuration de django pour utiliser postgresql (dans local_settings.py)
  • création des tables de base :
    python2 manage.py syncdb
  • création des tables spécifiques à django-cms :
    python2 manage.py migrate
  • virer les tables qui ne servent à rien (on va les réimporter et ça fait des conflits) :
    $ python2 manage.py dbshell
    faimaison=> TRUNCATE django_content_type CASCADE;

À ce stade, si on essaie d'importer le dump JSON, il reste un problème avec les placeholders…

  • séparer le fichier JSON en deux fichiers… un avec la liste des placeholders, un sans (oui, c'est chiant, il faut le faire à la main^W^W^Wavec emacs) cf. plus bas pour une autre méthode (non testée)
  • importer les placeholders, puis le reste :
    python2 manage.py loaddata dump-db-with-placeholders.json
    python2 manage.py loaddata dump-db-without-placeholders.json

Autre méthode à essayer, plutôt que de séparer à la main :

python2 manage.py dumpdata --indent 2 --natural --exclude cms.placeholder > dump-db-without-placeholders.json
python2 manage.py dumpdata --indent 2 --natural cms.placeholder > dump-db-with-placeholders.json

puis importer ça avec postgresql.

Et voilà, normalement, ça marche :)

site.1379006495.txt.gz · Dernière modification : 2013/09/12 17:21 de gde