Pour plus de contenu, connectez-vous !

Nouvelle coopérative dans Fermente - partie info

Création de l'instance Odoo

Au plus tôt

1) choix du nom pour leur odoo

ex. erp.coopilote.com, mon-petit-odoo-prefere.coopilote.com, je-kiffe-odoo.coopilote.com, etc...

2) Ajout dans leur DNS `coopilote.com`: 
je-kiffe-odoo IN CNAME cname-coopilote-erp.grap.coop.
je-kiffe-odoo-preproduction IN CNAME cname-coopilote-erp-preproduction.grap.coop.
je-kiffe-odoo-test IN CNAME cname-coopilote-erp-test.grap.coop.
3) Ajouter dans le DNS de `grap.coop`
cname-coopilote-erp 300 IN A 51.15.24.177
cname-coopilote-erp-preproduction 3600 IN A 51.254.44.22
cname-coopilote-erp-test 3600 IN A 94.23.17.188
4) Déployer leur environnement
ansible-playbook odoo-vroum-vroum

Déploiement Odoo

Pour serveur-test

Config

Dans ansible-grap/config/odoo/cfg_odoo__grp-test-03.yml

xxxxx = coopalim par ex

grp-production-08 = dépend du serveur de prod futur

xY → s’assurer que les ports sont pas pris → x a incrémenter et Y dernier chiffre de version ?

 -
 name: odoo16_xxxxx
 odoo_version: 16
 odoo_python_version: python3.10
 backup_folder: /backup/grp-production-08/
 odoo_restore_and_update: false
 odoo_code_url: https://gitlab.com/grap-rhone-alpes/grap-odoo-env.git
 odoo_database_prefix: xxxxx
 odoo_url: odoo-test.xxxxx.com
 odoo_xmlrpc_port: 80xY
 odoo_longpolling_port: 81xY
 odoo_limit_memory_hard: 1610612736 # 1.5 GB
 odoo_limit_memory_soft: 1073741824 # 1.0 GB
 odoo_limit_request: 8192
 odoo_limit_time_cpu: 3600 # 1 hour
 odoo_limit_time_real: 7200 # 2 hours
 odoo_workers: 4
 odoo_max_cron_threads: 1

  eshops: []

 odoo_main_folder: /opt/odoo16_xxxxx/
 odoo_filestore_folder: /opt/odoo16_xxxxx/filestore/
 odoo_code_folder: /opt/odoo16_xxxxx/code/
 odoo_log_folder: /var/log/odoo16_xxxxx/

Dans hosts.ini : dé-commenter le serveur de test

Préinstallation

Dans odoo_envs/grap-odoo-env-16.0 Créer une branche à partir de la dernière branche en prod’

git checkout –b 16.0-COOPALIM-First-install
Git push origin 16.0-COOPALIM-First-install

time ansible-playbook --limit=grp-test-03@grap.coop ./playbook/p_odoo_install.yml --extra-vars "{'odoo_settings': [{'name': 'odoo16_xxxxx', 'branch': '16.0-COOPALIM-First-install'},]}"
Création de la base

Sur le serveur de test

cd /opt/odoo16_coopalim/code

sudo su odoo16_coopalim -c './env/bin/click-odoo-initdb -n coopalim_test_2026_04_09 --no-demo --no-cache --config ./odoo.cfg'

Si on s’est pas merdé, on doit avoir un beau Odoo neuf sur odoo-test.xxxx.com. Connexion avec admin / admin

Aller extraire les modules installés

Sur instance de la même version, extraire la liste des modules installés.
Trafiquer avec Calc et CONCAT pour en faire une liste avec des guillemets et virgules

Dans grap-odoo-env-16.0/scripts/
Soit créer soit rajouter dans le script de la branche qui sera choisie

import tools

_logger = tools._logger

@tools.restrict(databases=["xxxxx"])
def coopalim_first_install(env):
    tools.install_modules(
        env,
        [
            # -----------------------------------
            # Export MACHE PRE-PROD 09 avril 2026
            # -----------------------------------
            "sale_management",
            "account",
            liste à mettre
            "phone_validation"
        ],
    )

def main(env):
    tools.update_module_list(env)

    # COOPALIM FIRST INSTALL
    coopalim_first_install(env)

    tools.install_modules(
        env,
        [
            # -----------------------------
            # Placeholder for Quentin
            # -----------------------------
            # Placeholder for Sylvain
        ],
    )
    tools.uninstall_modules(
        env,
        [
            # -----------------------------
            # Placeholder for Quentin
            # -----------------------------
            # Placeholder for Sylvain
        ],
    )
    tools.update_translations(env)

Pousser cette modif sur 16.0-COOPALIM-First-install

git add -A
git commit –m « add all modules first install »
git push origin 16.0-COOPALIM-First-install

Puis lance

time ansible-playbook --limit=grp-test-03@grap.coop ./playbook/p_odoo_update_all.yml --extra-vars "{'odoo_settings': [{'name': 'odoo16_coopalim', 'branch': '16.0-COOPALIM-First-install'},]}"

TODO : rajouter les modifs dans les restaurations quotidienne

Pour serveur de pre-prod

Même process, sauf que la branche est déjà crée avec le bon script

INSTALL DE BASE

time ansible-playbook --limit=grp-preproduction-01@grap.coop ./playbook/p_odoo_install.yml --extra-vars "{'odoo_settings': [{'name': 'odoo16_coopalim', 'branch': '16.0-COOPALIM-First-install'},]}"

INSTALL BD

sudo su odoo16_coopalim -c './env/bin/click-odoo-initdb -n coopalim_preprod_2026_04_13 --no-demo --no-cache --config ./odoo.cfg'

INSTALL MODULES

time ansible-playbook --limit=grp-preproduction-01@grap.coop ./playbook/p_odoo_update_all.yml --extra-vars "{'odoo_settings': [{'name': 'odoo16_coopalim', 'branch': '16.0-COOPALIM-First-install'},]}"
Pour serveur de prod

Même process, sauf que la branche est déjà crée avec le bon script

INSTALL DE BASE

# Sur ordi local
time ansible-playbook --limit=grp-production-08@grap.coop ./playbook/p_odoo_install.yml --extra-vars "{'odoo_settings': [{'name': 'odoo16_coopalim', 'branch': '16.0-COOPALIM-First-install'},]}"

INSTALL BD

# Sur serveur
cd /opt/odoo16_coopalim/code
sudo su odoo16_coopalim -c './env/bin/click-odoo-initdb -n coopalim_production --no-demo --no-cache --config ./odoo.cfg'

INSTALL MODULES

# Sur Ordii local 
time ansible-playbook --limit=grp-production-08@grap.coop ./playbook/p_odoo_update_all.yml --extra-vars "{'odoo_settings': [{'name': 'odoo16_coopalim', 'branch': '16.0-COOPALIM-First-install'},]}"

Rajouter sur https://supervision.grap.coop

Le nom de domaine et les URLS à checker

image.png

Configurations sur Odoo Prod

NB : les conditions de paiement, le référenciel département/région/pays sont créés directement à l'initialisation de l'instance

Infos à demander à la nouvelle coop

Au service compta 

Pour qu'iels donnent leurs propres codes et comptes (ex. Mache exprime ses comptes comptables avec 8 chiffres, pas Grap) + éventuelles monnaies locales.

Si le logiciel comptable n'est ni EBP, ni Sage, ni Louty, demander un exemple de fichier d'import comptable pour que l'on créé un nouveau modèle d'export depuis Odoo.

Au / à la super-utilisateur.ice

Réunions

Première réunion (visio)

  • Epicerie : ~30h en moyenne sauf acti existance avec changement de logiciel
  • Transfo : ~8h sans PdV et 16 avec PdV
  • en 2025, nous avons fait 1042h de support informatique (dont support matériel) pour environ 65 activités qui utilisent   Odoo côté Grap : soit environ 16h par activité et par an.
  • Nous envoyons environ 80 mails / semaine depuis la boîte mail support : en retirant les allers-retours potentiels et           les mails que l'on envoie nous, on est à presque une sollicitation par semaine et par acti en moyenne...bon c'est à           la grosse louche mais ça donne une idée ! (attention, dans ces mails (et le temps associé), il y en a une partie (non négligeable je pense) qui concerne la gestion des mails et noms de domaine)
  • Pour ce qui est des formations (niveau 1, Tableaux de bord Odoo, Piloter sa marge avec Odoo, Odoo pour les transfos, etc.), les activités de Fermente peuvent bénéficier des nôtres (la plupart se font en visio) 

je-kiffe-odoo IN CNAME cname-coopilote-erp.grap.coop.
je-kiffe-odoo-preproduction IN CNAME cname-coopilote-erp-preproduction.grap.coop.
je-kiffe-odoo-test IN CNAME cname-coopilote-erp-test.grap.coop.


Visite / démo

A prévoir pour donner à voir Odoo, répondre aux questions.

Suite à la visite

Exemple de répartition :

Quoi

Qui

Échéance à valider ensemble

Organiser 1h de visio sur la e-boutique pour les actis intéressées

Charlotte

dans les prochaines semaines

Acheter le nom de domaine et donner les infos DNS à Quentin pour créer votre instance Odoo

Charlotte

quand tu peux

Nous envoyer une liste des activités qui basculent sur Odoo + un planning de démarrage sur Odoo

Charlotte

dans les prochaines semaines

Création de l'export de Odoo vers Louty pour la compta

votre pôle compta fourni un modèle-type d'import
 le pôle info développe l'export sur Odoo

objectif : avant le démarrage de l'épicerie (fin juin-début juillet)

Prévoir une réunion de calage sur ce que fait le pôle info de Grap / ce que fait Charlotte et la compta de Coopilote. Imaginer nos échanges, comment on travaille ensemble, comment tu peux monter en compétence sur le support en tant que super-utilisatrice.

Quentin, Charlotte et Sandie

avant le démarrage de l'épicerie et avant congé pat :  début juin

Ta 1ère partie de formation Odoo :

  • configurer une activité sur Odoo => mise en pratique sur l'épicerie de Sergio et Aurore

  • Odoo transfo

  • Odoo épicerie

Prévoir une immersion dans une épicerie et une acti de transfo de Grap ?

Charlotte et Sandie
 
 (Quentin optionnel)

1 mois 1/2 avant le démarrage de la 1ère activité sur Odoo

La formation pour Sergio et Aurore sur Odoo

Charlotte, Sandie, Sergio et Aurore

1 mois avant le démarrage sur Odoo

Démarrage effectif sur Odoo de Sergio et Aurore :

  • impression des étiquettes

  • inventaire à faire sur Odoo la veille

  • démarrage des ventes

Charlotte, Sergio et Aurore
 
 Sandie optionnelle

jour J

Formation des comptables Coopilote sur Odoo (où trouver les infos  / où exporter)

service compta Coopilote + 1 comptable et 1 informaticien.ne de Grap ?

Avant les 1ers exports comptables

+ penser à créer une instance Meshcentral et leur montrer comment référencer les PC de la coop

+ faire rejoindre le ou la super-utilisateur.ice notre framateam Fermente

Démarrage de la 1ère activité 

Si préexistante 
Toute activité

En binôme avec le ou la super-utilisateur.ice

Une fois le Odoo en place, suite à la formation