Outils pour utilisateurs

Outils du site


site

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
site [2012/04/06 19:56] – [Migration de sqlite à postgresql] autre méthode pour exporter zorunsite [2022/04/11 16:36] (Version actuelle) – liens vers documentation publication gde
Ligne 1: Ligne 1:
 ====== Site web ====== ====== Site web ======
  
-**Technologie utilisée :** django-cms+Le [[https://faimaison.net|site de faimaison]] est statique et géré par [[http://docs.getpelican.com/]].
  
-Instances fonctionnelles (encore en dev) : 
-  * http://django.faimaison.net [methyl] 
-  * http://django2.faimaison.net [zorun] 
  
-Code : dépôt « site-django » sur le serveur git.+===== Récupération des sources =====
  
-===== TODO avant mise en production =====+Cloner le dépôt ''site-pelican'' avec [[git|Git]].
  
-Instance sur http://django2.faimaison.net pour le moment.+  git clone git@git.faimaison.net:faimaison-membres/site-pelican.git
  
-  * Finir la page « Accès Internet » avec notamment les jolis schémas que thy avait fait passer http://django2.faimaison.net/acces-internet/ **[thy ?]** +Note Le projet du site étant assez lourd (>50M), le clone peut prendre quelques temps.  
-  * Faire tout relire par les membres (coquilles, liens morts, problèmes de CSS) +
-  * Mettre en place les backups des données (« media/… ») ainsi que de la base de données postgresql **[zorun]** +
-  * Mettre en place une deuxième instance propre (avec virtualenv et toutcf README) chez methyl **[methyl]** +
-  * Synchroniser les données (« media/… ») et éventuellement la base de données entre les deux instances (unison ?) **[zorun & methyl]** +
-  * Rajouter la config de lighty dans le dépôt git **[methyl ou cthuluh]** +
-  * Repérer les liens qui pointent vers l'ancien site et qui seront cassés par la mise en prod : +
-    * http://www.ffdn.org/doku.php?id=essaimage:projets:faimaison +
-    * +
-  * Tester la tenue face à la charge (base de données qui tient la route, etc) à grands coups de curl/whatever +
-  * Changer la conf du DNS (faimaison.net et www.faimaison.net)+
  
-===== Dump de la base de données =====+Ou cloner le dépôt ''site-pelican'' avec HTTPS
  
-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 » :+  git clone https://git.faimaison.net/faimaison-membres/site-pelican.git 
 +  
  
-  pg_dump -U django -f faimaison-ddmmyyy.pgsql -C -F c -Z 5 -E UTF8 faimaison+===== Installation locale du site =====
  
-^option ^ description ^ +Pour éditer le site webil est nécessaire de procéder à une installation locale pour tester ses modifications avant de les proposer.
-| -U <nom> | nom de l'utilisateur qui se connecte sur la base| +
-| -f <fichier> | exporter dans un fichier externe| +
-| -C  | dans le dumpinclure 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 =====+Pour cela, il faut suivre les instructions du fichier ''README'' présent dans le dépot ''site-pelican'' que vous venez de cloner, ou lire la [[https://git.faimaison.net/faimaison-public/site-pelican|version en ligne]].
  
-TODO 
  
-===== Migration de sqlite à postgresql =====+===== Publier sur le site =====
  
-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) +[[https://git.faimaison.net/faimaison-public/site-pelican/-/blob/publication/CONTRIBUTING.md|Une documentation est disponible]] sur gitlab 
- +
-  * 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 : <code>python2 manage.py dumpdata --indent=2 --natural > dump-db.json</code> +
-  * création de la base de données postgresql (on l'appelle « faimaison » et elle appartient à l'utilisateur « django ») : <code>$ createuser -P django +
-$ createdb -U django faimaison</code> +
-  * configuration de django pour utiliser postgresql (dans //local_settings.py//) +
-  * création des tables de base : <code>python2 manage.py syncdb</code> +
-  * création des tables spécifiques à django-cms : <code>python2 manage.py migrate</code> +
-  * virer les tables qui ne servent à rien (on va les réimporter et ça fait des conflits) : <code>$ python2 manage.py dbshell +
-faimaison=> TRUNCATE django_content_type CASCADE;</code> +
- +
-À 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 : <code>python2 manage.py loaddata dump-db-with-placeholders.json +
-python2 manage.py loaddata dump-db-without-placeholders.json</code> +
- +
-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.1333742187.txt.gz · Dernière modification : 2013/01/01 22:59 (modification externe)