Outils pour utilisateurs

Outils du site


admin:services:mobilizon.chapril.org

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
Prochaine révisionLes deux révisions suivantes
admin:services:mobilizon.chapril.org [2021/02/16 09:51] – ajout page séparée pour la personnalisation tykaynadmin:services:mobilizon.chapril.org [2022/12/28 13:34] – Correction d'un lien sagotgej
Ligne 2: Ligne 2:
 Un logiciel fédéré pour organiser des évènements. Un logiciel fédéré pour organiser des évènements.
 [[https://mobilizon.chapril.org/]] [[https://mobilizon.chapril.org/]]
- 
-Anim'sys: 
-Philippe et Tykayn. 
  
 {{https://www.chapril.org/sites/v2.chapril.org/IMG/arton45.jpg|screenshot}} {{https://www.chapril.org/sites/v2.chapril.org/IMG/arton45.jpg|screenshot}}
 +
 +<nspages .:mobilizon.chapril.org: -simpleList -h1>
  
 ====== Ressources ====== ====== Ressources ======
Ligne 12: Ligne 11:
 Outils du Chapril : Outils du Chapril :
  
-  * [[https://icinga.chapril.org/icingaweb2/search?q=mobilizon|Suivi Icinga]] +    * [[https://icinga.chapril.org/icingaweb2/search?q=Mobilizon|Suivi Icinga]] 
-  * [[https://agir.april.org/projects/mobilizon-chapril-org/issues?set_filter=1&tracker_id=2|tickets en cours sur Agir]] +    * [[https://agir.april.org/projects/mobilizon-Chapril-org/issues?set_filter=1&tracker_id=2|tickets en cours sur Agir]]
  
 __Dépots sources utilisés :__ __Dépots sources utilisés :__
  
-  * Outils https://forge.april.org/Chapril/mobilizon.chapril.org-tools +    * Outils https://forge.april.org/Chapril/mobilizon.chapril.org-tools 
-  * Source de l'instance Chapril https://forge.april.org/Chapril/mobilizon.chapril.org-mobilizon +    * Source de l'instance Chapril https://forge.april.org/Chapril/mobilizon.chapril.org-Mobilizon 
-  * Dépot upstream: https://framagit.org/framasoft/mobilizon+    * Dépot upstream: https://framagit.org/framasoft/mobilizon
  
 +====== Installation ======
  
 +<note warning>
 +**En travaux** La documentation de l'installation de Mobilizon est en cours de mise à jour pour mieux refléter l'installation réalisée par Chapril. La page 
 +[[admin:services:mobilizon.chapril.org:installation|Installation de mobilizon]] sera supprimée à l'issue de ce chantier.
 +</note>
  
-====== Documentation d'installation ====== +L'installation pas à pas est détaillée sur [[https://docs.joinMobilizon.org/administration/install/|la doc de joinMobilizon.org]]. Vous trouverez **ci-dessous les étapes d'installations spécifiques à Chapril**.
-[[:mobilizon_chapril_org_installation|voir cette page dédiée d'installation]]+
  
-====== Mise à jour de la version chapril mobilizon ======+===== Pré-requis =====
  
-Pour fusionner les avancées de l'upstream avec la branche chapril:+    - Mobilizon doit être installé sur la VM Debian nommée **biliz.cluster.chapril.org** sur laquelle on dispose de l'accès root 
 +    - Le domaine choisi pour le service Mobilizon est [[https://mobilizon.chapril.org/|mobilizon.chapril.org]] 
 +    - L'envoi de mails depuis la VM est [[https://admin.chapril.org/admin/procedures/installation_postfix_satellite|réalisé en mode satellite]]
  
-  - Communiquer le début de migration +===== Compilation locale du projet =====
-  - Localement disons dans le dossier **/var/www/html/mobilizon** +
-   - fusionner le tag le plus récent sur la branche chapril +
- - pour voir la liste des tags: **git tag**  +
- - **git merge 1.0.6** (par exemple, mais il faut utiliser la version la plus récente) +
- - résoudre les éventuels conflits +
-   - vérifier que tout fonctionne bien +
-     - en effectuant les migrations de base données **mix ecto.migrate** +
-     - en lançant localement le serveur **mix phx.server** et en naviguant sur http://localhost:4000 +
-   - créer un tag avec le préfixe chapril et le numéro de tag, par exemple **git tag chapril-1.0.6** +
-   - envoyer vers la forge chapril notre nouveau tag +
-   - **git push --tags** +
-   - Se positionner sur la branche master: **git checkout master** +
-   - Prendre les avancées du dépot upstream, tags inclus: +
-     - Si vous n'avez pas ajouté le dépot upstream, ajoutez le en https ou en ssh selon votre préférence +
-   - **git remote add upstream https://framagit.org/framasoft/mobilizon.git** +
-   - **git remote add upstream git@framagit.org:framasoft/mobilizon.git** +
-   - **git pull --all** +
-   - Recompiler les assets du frontend et les mettre dans le dossier live/priv/static +
-   <note tip> cd /var/www/html/mobilizon/js && yarn run build </note> +
-   - Syncroniser les assets compilés avec la VM biliz (nécessite d'avoir **rsync** installé sur la VM) +
- <note tip>rsync -aP priv/static/* root@biliz.cluster.chapril.org:/srv/mobilizon.chapril.org/live/priv/static --delete</note>+
  
-  - Sur la VM biliz +L'ajout d'un thème au projet Mobilizon nécéssite l'installation depuis la [[https://framagit.org/framasoft/mobilizon/|source du projet]].
-  - se connecter à la VM biliz, aller dans le dossier "live",  +
-    +
-  se mettre en tant qu'utilisateur mobilizon et récupérer les dernières modifications de la branche chapril. (attention à avoir comme dépot d'origine le dépot de la forge april, et non l'upstream pour bien avoir votre branche personnelle) Ce qui nous amène sur le tag le plus récent:  +
-  <note tip> +
-  **su mobilizon** +
-  **cd /srv/mobilizon.chapril.org/live** +
-  **git checkout chapril** +
-  **git pull --tags origin && git pull origin chapril** +
-  </note> +
-  - Stopper le service mobilizon: **service mobilizon stop** +
- - Migrer le backend de mobilizon (on en a pas forcément besoin à tous les coups, si dans la partie locale vous aviez remarqué que seule la partie frontend changeait, vous pouvez relancer le service après avoir uniquement mis à jour les assets de priv/static et faire **service mobilizon restart**). Ne pas oublier de spécifier l'environnement de prod. +
-   <note tip> +
-   su -H mobilizon MIX_ENV=prod mix deps.get +
-   su -H mobilizon MIX_ENV=prod mix ecto.migrate +
-   </note> +
-  - Remettre l'utilisateur mobilizon comme owner des fichiers +
-  <note tip> +
-   +
-  chown -R mobilizon:mobilizon /srv/mobilizon.chapril.org/live  +
-  </note> +
-  - relancer le service mobilizon: **service mobilizon start** ce qui doit prendre environ 5 secondes sur Biliz. +
-  - Vérifications +
-  - vérifier les erreur dans le journal du service +
-  <note tip>journalctl -fu mobilizon -n1000</note> +
-  - si c'est bon, interrompre la lecture du journal d'erreurs: Ctrl + C. +
-  - vérifier le frontend sur https://mobilizon.chapril.org , nécessite un vidage de votre cache navigateur (ctrl + R) +
- - Communiquer la fin de mise à jour sur les canaux qui vont bien.+
  
 +Il a été décidé de **compiler le projet en local** (sur votre machine) avant de publier les binaires en production.
  
-====== Personnalisation ======+==== Elixir ====
  
-[[:mobilizon_chapril_org_personnalisation|Détail des personnalisations réalisées et prévues]]+Mobilizon utilise le [[https://elixir-lang.org/|langage de programmation Elixir]] côté serveur. Vous devez installer la **version 1.11 au minimum**. Il n'est pas possible d'utiliser la version fournie par Debian 11 (1.10.3) car nous avons besoin de fonctions introduites dans la version 1.11 d'Elixir, comme [[https://hexdocs.pm/elixir/main/Config.html#config_env/0|config_env]]
  
-===== Dépot de sources ===== +Installons la dernière version de Elixir (1.14.1) depuis la source sur notre machine locale:
-On a une version personnalisée de Mobilizon, mise à disposition sur la forge +
-https://forge.april.org/Chapril/mobilizon.chapril.org+
  
-Sa branche **master** est notre version personnalisée+    sudo apt install erlang build-essential curl unzip openssl git cmake file 
-Nous la rebasons quand nécessaire par dessus la branche master de l'upstream, fournie par framagit.+    wget https://codeload.github.com/elixir-lang/elixir/tar.gz/refs/tags/v1.14.1 -O elixir-1.14.1.tar.gz 
 +    tar zxf elixir-1.14.1.tar.gz 
 +    cd elixir-1.14.1 
 +    make -j$(nproc --ignore=1) 
 +    sudo make install
  
-===== Contribuer au code =====+==== NodeJS ====
  
-Pour proposer du code, il convient de créer une branchefaire ses commits, vérifier que les tests passent, faire une merge request avec au moins une autre personne révisant le code à fusionner, et si tout passe bien, fusionner dans la branche master.+La version 14 de NodeJS est requise. La version 12 est disponible dans Debian 11c'est pourquoi nous allons installer la version LTS [[https://nodejs.org/en/|depuis le site officiel]]
  
-En cas de question concernant le logiciel libre Mobilizon, se référer en premier lieu à la documentation officielle du dépot upstream. +    wget https://nodejs.org/dist/v18.12.1/node-v18.12.1-linux-x64.tar.xz 
-https://docs.joinmobilizon.org/+    sudo tar --directory=/usr/local/ --strip-components=1 -Jxvf $PWD/node-v18.12.1-linux-x64.tar.xz
  
 +=== Yarn ===
 +Mobilizon utilise le gestionnaire de dépendances [[https://yarnpkg.com/|Yarn]] au lieu de NPM (le défaut). Il faut donc installer Yarn via:
  
-=========== Présentation sur le site ===========+    npm install -g yarn
  
 +==== PostgreSQL ====
  
-{{https://www.chapril.org/sites/v2.chapril.org/IMG/arton45.jpg|screenshot}}+PostgreSQL n'est pas requis pour la compilation de Mobilizon, mais avoir une base de données en local permet de tester l'application sur votre machine avant de la publier en production.
  
-<note> +L'extension [[https://postgis.net/|Postgis]] de PostgreSQL est requise afin de localiser les évènements de Mobilizon
-== Organisation d'évènements – Mobilizon ==+
  
 +    sudo apt install postgresql postgresql-contrib
 +    sudo apt install --install-recommends postgis
 +    sudo systemctl start postgresql
  
-[[https://Mobilizon.chapril.org|Mobilizon.chapril.org]] est un service permettant d'organiser des évènementspréparer l'avant et l'après, et de publier des infos pour les groupes que vous souhaitez gérer à plusieurs. Du plus petit anniversaire familial ou la sortie entre amis à la grande manifestation internationale, le chapril vous permet de réaliser vos rassemblements comme vous le souhaitez tout en préservant la confidentialité des participant-e-s.+Mobilizon nécessite entre autres ElixirNodeJS et PostgreSQL. Préférez installer Elixir et NodeJS à partir de leurs 
 +dépôts officiels plutôt que les paquets de votre distribution.
  
-Découvrir+Versions recommandées :
  
-    Le code source du projet mobilizon.chapril.org est disponible à ladresse https://forge.april.org/explore/repos?q=mobilizon.chapril.org et aussi à https://www.mumble.info/downloads/+    Elixir 1.8 et plus 
 +    NodeJS 12+ 
 +    PostgreSQL 11+ 
 + 
 +Pour installer une version correcte de node, référez vous à cette doc: 
 +https://github.com/nodesource/distributions/blob/master/README.md#table-of-contents 
 + 
 +Nous allons utiliser un utilisateur de Mobilizon dédié avec /home/mobilizon home : 
 + 
 +    sudo adduser --disabled-login mobilizon 
 + 
 +Alors connectons-nous en tant qu'utilisateur : 
 + 
 +    sudo -i -u mobilizon 
 + 
 +Commençons par cloner le dépôt dans un répertoire nommé live : 
 + 
 +    git clone https://framagit.org/framasoft/mobilizon /srv/mobilizon.chapril.org/live && cd /srv/mobilizon.chapril.org/live 
 + 
 +== Installer des dépendances == 
 + 
 +Installer les dépendances de l'Elixir 
 + 
 +    mix deps.get 
 + 
 +<note tip> 
 +Lorsqu'on vous demande "Dois-je installer Hex ? ou Dois-je installer Rebar3 ?", appuyez sur la touche entrée pour confirmer. 
 +</note> 
 + 
 + 
 +Compiler ensuite ces dépendances et Mobilizon (cela peut prendre quelques minutes et peut produire toutes sortes 
 +d'avertissements, tels que des problèmes de dépréciation) 
 + 
 +    MIX_ENV=prod mix compile 
 + 
 +Allez dans le répertoire js/ 
 + 
 +    cd js 
 + 
 +et installer les dépendances Javascript 
 + 
 +    yarn install 
 + 
 +Enfin, nous pouvons construire le frontal (cela peut prendre quelques secondes). 
 + 
 +    yarn build 
 + 
 +Revenons au répertoire principal 
 + 
 +    cd ../ 
 + 
 +== Configuration == 
 + 
 +Mobilizon fournit un outil en ligne de commande pour générer la configuration 
 + 
 +    MIX_ENV=prod mix Mobilizon.instance gen 
 + 
 +Vous devrez alors répondre à des questions sur votre configuration et votre instance pour générer un fichier 
 +prod.secret.exs dans le dossier config/, et un fichier setup_db.psql pour configurer la base de données. Configuration 
 +de la base de données 
 + 
 +Le fichier setup_db.psql contient des instructions SQL pour créer un utilisateur et une base de données PostgreSQL avec 
 +les informations d'identification choisies et ajouter les extensions requises à la base de données Mobilizon. 
 + 
 +Quittez l'exécution en tant qu'utilisateur Mobilizon (car il ne devrait pas avoir les droits root/sudo) et exécutez dans 
 +le répertoire /home/mobilizon/live : 
 + 
 +    sudo -u postgres psql -f setup_db.psql 
 + 
 +Il devrait produire quelque chose du genre : 
 + 
 +CRÉER UN RÔLE CRÉER UNE BASE DE DONNÉES Vous êtes maintenant connecté à la base de données "Mobilizon_prod" en tant 
 +qu'utilisateur "postgres". CRÉER L'EXTENSION CRÉER UNE EXTENSION CRÉER UNE EXTENSION 
 + 
 +Revenons à notre utilisateur de Mobilizon : 
 + 
 +    sudo -i -u mobilizon  
 + 
 +<note important>Avertissement 
 + 
 +Lorsque cela est fait, n'oubliez pas de supprimer le fichier **setup_db.psql**. 
 +</note> 
 + 
 +== Migration de la base de données==  
 + 
 +Effectuer des migrations de bases de données : 
 + 
 +    MIX_ENV=prod mix ecto.migrate 
 + 
 +Notez le préfixe de la variable d'environnement MIX_ENV=prod devant la commande. Vous devrez l'utiliser pour chaque 
 +commande de mixage à partir de maintenant. 
 + 
 +Vous devrez le refaire après la plupart des mises à jour. Voir la section dédiée aux mises à jour. 
 +Si certaines migrations échouent, cela signifie probablement que vous n'utilisez pas une version suffisamment récente de 
 +PostgreSQL, ou que vous n'avez pas installé les extensions requises. 
 +Nous pouvons arrêter d'utiliser l'utilisateur de Mobilizon à nouveau. 
 + 
 +Copiez le fichier support/systemd/mobilizon.service dans /etc/systemd/system. 
 + 
 +    sudo cp support/systemd/mobilizon.service /etc/systemd/system/ 
 + 
 +Rechargez Systemd pour détecter votre nouveau dossier 
 + 
 +    sudo systemctl daemon-reload 
 + 
 +Et activer le service 
 + 
 +    sudo systemctl enable --now Mobilizon.service 
 + 
 +Il fera fonctionner Mobilizon et permettra le démarrage du service au boot de la VM. 
 +Vous pouvez suivre les logs du service avec 
 + 
 +    sudo journalctl -fu Mobilizon.service 
 + 
 +Vous devriez voir quelque chose comme ça : 
 + 
 +Exécution de Mobilizon.Web.Endpoint avec cowboy 2.8.0 à :::4000 (http) 
 +Accédez à Mobilizon.Web.Endpoint à l'adresse https://your-Mobilizon-domain.com 
 + 
 +Le serveur Mobilizon fonctionne sur le port 4000 sur l'interface locale uniquement, vous devez donc ajouter un 
 +reverse-proxyReverse proxy Nginx 
 + 
 +Copiez le fichier de support/nginx/mobilizon.conf vers /etc/nginx/sites-available. 
 + 
 +    sudo cp support/nginx/mobilizon.conf /etc/nginx/sites-available 
 + 
 +Ensuite, établissez un lien symbolique avec le fichier dans le répertoire /etc/nginx/sites-enabled. 
 + 
 +    sudo ln -s /etc/nginx/sites-available/mobilizon.conf /etc/nginx/sites-enabled/ 
 + 
 +Pas besoin de modifier la configuration nginx sur cette VM, au Chapril ce sont les admin sys qui s'en chargent sur une autre VM. 
 + 
 +Connectez-vous à nouveau en tant qu'utilisateur du système de Mobilizon : 
 + 
 +    sudo -i -u mobilizon 
 + 
 +Créer un nouvel utilisateur pour administrer votre instance Mobilizon : 
 + 
 +     MIX_ENV=prod mix Mobilizon.users.new "your@email.com" --admin --password "Y0urP4ssw0rd" 
 + 
 +N'oubliez pas de préfixer la commande par un espace vide afin que le mot de passe choisi ne soit pas conservé dans 
 +l'historique de votre shell. 
 + 
 +Vous pouvez ignorer l'option --password et Mobilizon en générera un pour vous et vous le retournera dans le shell. 
 + 
 +Voir la documentation complète pour cette commande. 
 + 
 +    mix Mobilizon.users.new --help 
 + 
 +Vous pouvez maintenant vous connecter avec vos identifiants sur https://mobilizon.chapril.org 
 +et découvrir Mobilizon. N'hésitez pas à consulter également la documentation de configuration. 
 + 
 +== Configurer les courriels == 
 + 
 +La configuration par défaut de Mobilizon suppose qu'un serveur SMTP local est disponible sur le même serveur. Pour 
 +adapter cette configuration à votre propre configuration, consultez cette page. Configurer l'authentification tierce 
 + 
 +== Configurer les authentifications tierces == 
 +Nous n'utilisons pas d'authentification tierce. 
 + 
 +== Base de données de géocodage des villes == 
 +Pour rechercher des évènements à proximité du lieu indiqué en préférences des utilisateurs, 
 +le logiciel Mobilizon a besoin d'une base de données. 
 +Nous utilisons GeoLite2-City.mmdb 
 + 
 +Il faut le placer dans le dossier /srv/mobilizon.chapril.org/live/priv/data 
 +Terminez en redémarrant le service de Mobilizon en tant que root. 
 + 
 +    cd /srv/mobilizon.chapril.org/live/priv/data
          
 +Mobilizon n'affichera un avertissement au démarrage que si la base de données est manquante, mais ce n'est pas
 +obligatoire.
 +
 +
 +====== Mise à jour de la version Chapril Mobilizon ======
 +
 +<note warning>
 +**TODO** Section à déplacer et fusionner dans la page 
 +[[admin:services:mobilizon.chapril.org:upgrade|Mise à jour de la version chapril mobilizon]] déjà existante.
 </note> </note>
  
 +Pour fusionner les avancées de l'upstream de framagit avec la branche Chapril, il nous faut fusionner les modifications publiées dans le tag le plus récent.
  
 +===== Plan d'action général =====
 +
 +
 +* Sur votre poste de travail
 +  * fusionner la nouvelle version dans notre branche "chapril"
 +  * vérifier que tout marche bien sur localhost et que le code est bien linté avec <code>yarn lint</code>.
 +* Communiquer le début de migration
 +* Compiler les assets du frontend sur la VM biliz
 +* prendre les dernières modifications et migrer la base de données
 +* relancer le service mobilizon
 +* Vérfier que tout est bon
 +* Communiquer la fin de migration
 +
 +===== Sur votre poste de travail =====
 +
 +Admettons que vous avez les sources de mobilizon sur votre poste de travail dans le dossier **/var/www/html/mobilizon**
 +Pour faire l'upgrade vers le tag le plus récent
 +- fusionner le tag le plus récent sur la branche Chapril
 +    - pour voir la liste des tags: **git tag**
 +    - **git merge 1.0.6** (par exemple, mais il faut utiliser la version la plus récente)
 +    - résoudre les éventuels conflits
 +- vérifier que tout fonctionne bien
 +    - en effectuant les migrations de base données **mix ecto.migrate**
 +    - en lançant localement le serveur **mix phx.server** et en naviguant sur [[http://localhost:4000]]
 +- créer un tag avec le préfixe Chapril et le numéro de tag, par exemple **git tag Chapril-1.0.6**
 +- envoyer vers la forge Chapril notre nouveau tag
 +    - **git push --tags**
 +    - Se positionner sur la branche master: **git checkout master**
 +    - Prendre les avancées du dépot upstream, tags inclus:
 +        - Si vous n'avez pas ajouté le dépot **upstream** de framagit, ajoutez le
 +            - <code>git remote add upstream https://framagit.org/framasoft/mobilizon.git </code>
 +        - <code>git pull --all</code>
 +- fusionner le tag le plus récent vers la branche chapril avec un git merge.
 +  <code>git checkout chapril && git merge 1.3.0</code> par exemple
 +- une fois les conflits résolus, modifications faites et le lint vérifiées, faire un commit et un tag chapril-1.x.x (en mettant le bon numéro de tag, celui que l'on vient de fusionner) les envoyer sur la forge du
 +  Chapril.
 +    - <code>git tag chapril-1.3.0</code> par exemple
 +    - <code>git push origin --all</code>
 +    
 +Nous pouvons maintenant mettre à jour la VM biliz en production.
 +
 +===== Sur la VM biliz =====
 +- se connecter à la VM biliz, aller dans le dossier "live",
 +
 +Se mettre en tant qu'utilisateur Mobilizon et récupérer les dernières modifications de la branche Chapril. (attention à
 +avoir comme dépot d'origine le dépot de la forge april, et non l'upstream pour bien avoir votre branche personnelle) Ce
 +qui nous amène sur le tag le plus récent:
 +
 +    su Mobilizon
 +    cd /srv/mobilizon.chapril.org/live
 +    git checkout Chapril
 +    git pull --tags origin && git pull origin chapril
 +
 +
 +- Stopper le service Mobilizon:
 +
 +    service mobilizon stop
 +
 +===== Migrer le backend de Mobilizon =====
 +
 +On en a pas forcément besoin à tous les coups, si dans la partie "sur votre poste de travail" vous aviez remarqué que seule la partie
 +frontend changeait, vous pouvez relancer le service après avoir uniquement mis à jour les assets de priv/static et
 +faire <code>service Mobilizon restart</code> ). Ne pas oublier de spécifier l'environnement de prod.
 +
 +    su -H mobilizon MIX_ENV=prod mix deps.get
 +    su -H mobilizon MIX_ENV=prod mix ecto.migrate
 +
 +
 +- Remettre l'utilisateur mobilizon comme owner des fichiers.
 +
 +    chown -R mobilizon:mobilizon /srv/mobilizon.chapril.org/live
 +
 +
 +- relancer le service Mobilizon: <code>service mobilizon start</code> ce qui doit prendre environ 5 secondes sur Biliz.
 +
 +===== Vérifications =====
 +
 +- vérifier les erreur dans le journal du service
 +
 +        journalctl -fu Mobilizon -n1000
 +
 +    - si c'est bon, interrompre la lecture du journal d'erreurs: Ctrl + C.
 +    - vérifier le frontend sur https://mobilizon.chapril.org , nécessite un vidage de votre cache navigateur (ctrl + R)
 +- Communiquer la fin de mise à jour sur les canaux qui vont bien.
 +
 +====== Personnaliser Mobilizon ======
 +
 +<note warning>
 +**TODO** Section à déplacer et fusionner dans la page [[admin:services:mobilizon.chapril.org:personnalisation|Personnaliser Mobilizon]] déjà existante.
 +</note>
 +===== Avancement =====
 +==== Choses faites ====
 +
 +* une favicon Chapril
 +* un logo dans la barre de menu
 +* une palette de couleur incorporant le bleu Chapril: **rgb(0,81,132)**, alias **#ff5e00**
 +* l'image par défaut des évènements reprend une illustration de David Revoy
 +* quelques marges différentes
 +* ajout d'une liste de services en ligne dans la page de documents pour les groupes
 +* la barre de menus du Chapril
 +
 +==== Prévues ====
 +
 +- rien de plus pour le moment que ce qui est en production sur https://mobilizon.chapril.org
 +
 +===== Elements de personnalisation =====
 +====== Via l'administration web ======
 +
 +Changer le texte de présentation de l'instance:
 +https://mobilizon.chapril.org/settings/admin/settings
 +nom de l'instance, slogan, description courte, description longue, lien vers les CGU du Chapril.
 +https://www.chapril.org/cgu.html
 +
 +ne pas oublier d'enregistrer.
 +
 +s'abonner aux autres instances le plus tôt possible pour profiter de la fédération. liste des autres
 +instances: https://instances.joinMobilizon.org
 +
 +====== Comment personnaliser ====== 
 +===== changer les images ===== 
 +Les images par défaut des évènements créé sans avoir
 +uploadé d'affiche ont une image par défaut que l'on peut changer. Pareillement pour le favicon et le logo dans la barre
 +de navigation.
 +
 +Dans les sources du projet, certaines images ont été remplacées dans le dossier **js/public/img**
 +Pour les palettes de couleur, les variables scss ont été modifiées dans **js/src/variables.scss**
 +les espacements ont été modifiés dans **js/src/common.scss**
 +
 +Pour les liens dans le composant de Ressources
 +**js/src/views/Resources/ResourceFolder.vue**
 +une simple liste de liens à été ajoutée.
 +
 +===== Personnaliser le code source =====
 +Mettre en place un environnement de développement local permet de personnaliser
 +au mieux sa version de Mobilizon. Pour cela il faut comprendre sa stack technique, constituée d'un côté d'un projet
 +Phoenix écrit en Elixir / Erlang, avec une base de données Postgresql, une interface en GraphQL qui communique avec la
 +lib Absinthe, et de l'autre côté pour le front end: une app en vueJS version 3 (dans le dossier js), utilisant Appollo
 +pour parler avec GraphQL. Le code du front end est majoritairement en typescript et les feuilles de style en SCSS.
 +
 +Pour personnaliser les couleurs, il faut enlever les définitions de couleurs dans les composants vue pour éviter les
 +surcharges indésirées, et modifier les couleurs dans les fichiers js/src/variables.sccss et faire référence à ces
 +variables ailleurs dans les composants vue si nécessaire. Le gros du style est fourni par la lib CSS
 +Bulma ( https://www.bulma.io ) et agrémenté de quelques retouches dans le fichier common.scss
 +
 +Pour avoir son instance fonctionnant localement il faut installer les dépendances de dev du back (les dépendances
 +Elixir) et du front (les dépendances NPM), configurer l'accès à la base de données postgresql dans le fichier de config
 +.exs, effectuer les migrations de la base avec Ecto (mix ecto.migrate) puis lancer la commande.
 +
 +**mix phx.server**
 +
 +ce qui permet de lancer un serveur sur localhost:8000 qui se rafraîchira à l'enregistrement de vos modifications grâce à
 +des filewatcher inode.
 +
 +===== Dépot de sources ===== 
 +On a une version personnalisée de Mobilizon, mise à disposition sur la forge
 +https://forge.april.org/Chapril/mobilizon.chapril.org
 +
 +Sa branche **master** est notre version personnalisée. Nous la rebasons quand nécessaire par dessus la branche master de
 +l'upstream, fournie par framagit.
 +
 +===== Contribuer au code =====
 +
 +Pour proposer du code, il convient de créer une branche, faire ses commits, vérifier que les tests passent, faire une
 +merge request avec au moins une autre personne révisant le code à fusionner, et si tout passe bien, fusionner dans la
 +branche master.
 +
 +En cas de question concernant le logiciel libre Mobilizon, se référer en premier lieu à la documentation officielle du
 +dépot upstream.
 +https://docs.joinMobilizon.org/
 +
 +=========== Présentation sur le site ===========
 +
 +{{https://www.chapril.org/sites/v2.chapril.org/IMG/arton45.jpg|screenshot}}
 +
 +
 +== Organisation d'évènements – Mobilizon ==
 +[[https://mobilizon.chapril.org|Mobilizon.chapril.org]] est un service permettant d'organiser des évènements, préparer
 +l'avant et l'après, et de publier des infos pour les groupes que vous souhaitez gérer à plusieurs. Du plus petit
 +anniversaire familial ou la sortie entre amis à la grande manifestation internationale, le Chapril vous permet de
 +réaliser vos rassemblements comme vous le souhaitez tout en préservant la confidentialité des participants.
 +
 +    Le code source du projet Mobilizon.chapril.org est disponible à l’adresse https://forge.april.org/explore/repos?q=Mobilizon.chapril.org et aussi à https://www.mumble.info/downloads/
  
  
Ligne 127: Ligne 452:
 == suivi de bugs == == suivi de bugs ==
  
-bugs détectés sur mobilizon.chapril.org et ouvert sur la forge upstream+Bugs détectés sur Mobilizon.chapril.org et ouvert sur la forge upstream
  
 https://framagit.org/framasoft/mobilizon/-/issues/529 https://framagit.org/framasoft/mobilizon/-/issues/529
Ligne 134: Ligne 459:
  
 * mise en place d'un honeypot pour empêcher le spam * mise en place d'un honeypot pour empêcher le spam
 +* ajout d'itinéraire utilisant openstreetmap dans la page d'évènement, dans la popup montrant une carte.
 +
 +
  
admin/services/mobilizon.chapril.org.txt · Dernière modification : 2023/01/07 17:54 de sagotgej