Logo Khaganat

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:weblate [2020/05/20 10:30] – créée Tycho Brahefr:weblate [2021/12/03 18:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 41: Ligne 41:
 <code>pipenv --three install Weblate psycopg2-binary</code> <code>pipenv --three install Weblate psycopg2-binary</code>
  
-<WRAP center round tip>L'option ''--three'' n'est à préciser que si l'environnement virtuel n'a pas encore été créé.</WRAP>+<WRAP center round tip>L'option ''<nowiki>--three</nowiki>'' n'est à préciser que si l'environnement virtuel n'a pas encore été créé.</WRAP>
  
 Cette commande créé deux fichiers, ''Pipfile'' et ''Pipfile.lock''. Notez que la version de python est inscrite dans Pipfile et qu'il est possible de l'enlever afin de simplifier les mises à jour futures de Python. Cette commande créé deux fichiers, ''Pipfile'' et ''Pipfile.lock''. Notez que la version de python est inscrite dans Pipfile et qu'il est possible de l'enlever afin de simplifier les mises à jour futures de Python.
 +
 +<WRAP center round alert>Sur Jukni3, pour une raison inconnue, pipenv utilise les ''Pipfile'' et ''Pipfile.lock'' situés dans ''/home/khaganat'' au lieux de ''/home/khaganat/weblate''. Ça ne change pas grand chose sur le fond mais ça vaut le coup d'être précisé afin de ne pas être surpris en lisant ce guide.</WRAP>
 +
  
 En plus de ces deux fichiers, pipenv a créé un environnement virtuel dans un dossier spécifique. Bien entendu , nous aurons besoin de ce chemin pour configurer nginx, uWsgi et Weblate. Or, ce chemin est susceptible de changer lors de la mise à jour de Python et, de plus, doit pouvoir être détruit et reconstruit de zéro. Afin de ne pas avoir besoin de modifier sans cesse la configuration, nous allons créer deux liens symboliques qui pointeront vers ce dossier. Ainsi, si nous détruisons cet environnement virtuel, nous aurons simplement besoin de mettre à jour ces liens. En plus de ces deux fichiers, pipenv a créé un environnement virtuel dans un dossier spécifique. Bien entendu , nous aurons besoin de ce chemin pour configurer nginx, uWsgi et Weblate. Or, ce chemin est susceptible de changer lors de la mise à jour de Python et, de plus, doit pouvoir être détruit et reconstruit de zéro. Afin de ne pas avoir besoin de modifier sans cesse la configuration, nous allons créer deux liens symboliques qui pointeront vers ce dossier. Ainsi, si nous détruisons cet environnement virtuel, nous aurons simplement besoin de mettre à jour ces liens.
Ligne 56: Ligne 59:
  
 <code>cp weblate-src/settings_example.py settings.py <code>cp weblate-src/settings_example.py settings.py
-export WEBLATE_ROOT="$(pwd)" +ln -s "$(pwd)/settings.py" weblate-src/settings.py</code>
-cd weblate-src && ln -s "$WEBLATE_ROOT/settings.py" && cd "$WEBLATE_ROOT"</code>+
  
 Nous avons donc maintenant le fichier ''settings.py'' servant à configurer Weblate. Dans l'environnement virtuel, un lien symbolique pointe dessus. Nous pouvons désormais configurer Weblate en modifiant les options à notre guise, en particulier les suivantes : Nous avons donc maintenant le fichier ''settings.py'' servant à configurer Weblate. Dans l'environnement virtuel, un lien symbolique pointe dessus. Nous pouvons désormais configurer Weblate en modifiant les options à notre guise, en particulier les suivantes :
Ligne 67: Ligne 69:
   * La liste [[https://docs.djangoproject.com/fr/3.0/ref/settings/#admins|ADMINS]] doit contenir ''("Khaganat", "contact@khaganat.net"),'' (ce n'est pas un compte utilisateur !)   * La liste [[https://docs.djangoproject.com/fr/3.0/ref/settings/#admins|ADMINS]] doit contenir ''("Khaganat", "contact@khaganat.net"),'' (ce n'est pas un compte utilisateur !)
   * ''DATA_DIR'' doit etre mis à ''"/home/khaganat/weblate/data"''   * ''DATA_DIR'' doit etre mis à ''"/home/khaganat/weblate/data"''
-  * [[https://docs.djangoproject.com/fr/3.0/ref/settings/#default-from-email|DEFAULT_FROM_EMAIL]] doit etre mis à ''weblate@khaganat.net'' ou similaire+  * [[https://docs.djangoproject.com/fr/3.0/ref/settings/#default-from-email|DEFAULT_FROM_EMAIL]] et [[https://docs.djangoproject.com/fr/3.0/ref/settings/#server-email|SERVER_EMAIL]] doit etre mis à ''weblate@khaganat.net'' ou similaire 
 +  * Toujours pour les emails, il peut être utile de spécifier [[https://docs.djangoproject.com/fr/3.0/ref/settings/#email-host|EMAIL_HOST]] et les variables qui suivent. 
 + 
 +Pour connaître l'ensemble des directives de configuration qu'il est possible de définir, rendez-vous dans [[https://docs.djangoproject.com/fr/3.0/ref/settings/|la documentation de Django]] ainsi que dans [[https://docs.weblate.org/en/latest/admin/config.html|celle de Weblate]].
  
  
Ligne 94: Ligne 99:
  
 <code>pipenv run weblate createadmin</code> <code>pipenv run weblate createadmin</code>
 +
 +<WRAP center round tip>Il se peut que le compte administratrice existe déjà. Dans ce cas, l'identifiant est ''admin'' et vous pouvez changer le mot de passe avec la commande suivante :
 +<code>pipenv run weblate createadmin --update</code></WRAP>
  
 ==== uWsgi ==== ==== uWsgi ====
Ligne 181: Ligne 189:
  
 <code>systemctl restart nginx.service</code> <code>systemctl restart nginx.service</code>
 +
 +
 +===== Mise à jour =====
 +
 +<WRAP center round alert>Ceci est une procédure théorique qui n'a jamais été utilisée en conditions réelles. Il sera donc nécessaire de la confirmer ou de la corriger après sa première utilisation.</WRAP>
 +
 +En cas de mise à jour de Weblate et/ou de Python, il faut l'appliquer sur l'environnement virtuel. Une mise à jour de Python rendant généralement ce dernier inutilisable en l'état, la méthode Léodagan est alors recommandée : tout cramer pour repartir sur des bases saines. C'est pour cela que, lors de l'installation, nous avons bien fait attention à différencier :
 +
 +  * l'environnement virtuel considéré comme jetable
 +  * la configuration qui est dans un dossier spécifique
 +  * les fichiers statiques qui sont également dans un dossier spécifique
 +
 +Et je n'ose pas préciser la base de données qui est, comme tout le monde le sait, un élément totalement à part avec son propre logiciel.
 +
 +Bref, commençons par arreter uWsgi :
 +
 +<code>systemctl stop uwsgi-socket@weblate.service</code>
 +
 +Ensuite, la mise à jour « virile » du virtualenv :
 +
 +<code>pipenv --rm
 +pipenv --three install</code>
 +
 +<WRAP center round important>Si l'environnement virtuel est partagé avec d'autres services, comme par exemple par erreur sur Jukni3, et que Python n'a pas été mis à jour, on se contentera de faire un ''pipenv update'' au lieux de supprimer et recréer le virtualenv.</WRAP>
 +
 +Comme vu lors de l'installation, il nous faut recréer quelques liens symboliques. Là encore, on détruit pour reconstruire :
 +
 +<code>rm -f weblate-venv weblate-src
 +ln -s "$(pipenv --venv)" weblate-venv
 +ln -s "$(pipenv --venv)/lib/$(pipenv run python -c 'import sys; print(f"python{sys.version_info.major}.{sys.version_info.minor}")')/site-packages/weblate" weblate-src
 +ln -s "$(pwd)/settings.py" weblate-src/settings.py</code>
 +
 +Maintenant que la mise à jour est effectuée, nous pouvons relancer uWsgi :
 +
 +<code>systemctl start uwsgi-socket@weblate.service</code>
 +
 +
 +===== Lien avec GitLab =====
 +
 +<WRAP center round alert>Cette section est une ébauche en cours de réalisation. Le lien avec le [[https://git.khaganat.net/|GitLab]] n'est pas encore actif.</WRAP>
 +
 +Afin de permettre à Weblate de communiquer avec notre gitlab, il faut tout d'abord installer un programme externe : [[https://github.com/zaquestion/lab/|lab]]. Ce paquet devrait arriver prochainement sur Debian sous le nom de [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898246|git-lab]].
 +
 +Une fois lab installé, il faut créer la configuration dédiée dans le dossier des fichiers statiques. La [[https://docs.weblate.org/en/latest/vcs.html#setting-up-lab|documentation de Weblate]] détaille la base de cette procédure. Il devrait y avoir une option pour spécifier une instance de GitLab autre que l'instance officielle.
 +
 +Il ne reste plus qu'à actualiser la valeur de ''GITLAB_USERNAME'' dans la configuration de Weblate (''settings.py'').
  
 {{tag>Serveur Web}} {{tag>Serveur Web}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/weblate.1589970606.txt.gz · Dernière modification : (modification externe)

Licences Mentions légales Accueil du site Contact Inclusion