Pour plus de contenu, connectez-vous !

Nouvelle coopérative dans Fermente - partie info

Création de l'instance Odoo

Au plus tôt

1) leur demander quel va être leur nom pour leur odoo

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

2) **De leur côté**, leur demander d'ajouter 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) **De notre côté** : 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`

Première réunion

Voir exemple CR avec les questions pour Coopilote : https://nuage.grap.coop/f/10544132

Donner des chiffres de temps de travail par acti au démarrage et en cours

Après première visite et démo d’Odoo (M-4 avant première acti)

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

 


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
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
sudo su odoo16_coopalim -c './env/bin/click-odoo-initdb -n coopalim_production --no-demo --no-cache --config ./odoo.cfg'

INSTALL MODULES
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

 


Configurations sur Odoo Prod

Créer les rôles et 1ers utilisateur.ices 

Créer All et la société CAE (type Grap SCIC SA)

Créer le mot de passe « brise glace » ? 

Créer les (principaux) Labels 
Créer les Catégories d’articles => voir s’iels veulent partir sur le même référentiel que nous + voir s’il y en a qui sont réservées, par ex. Aux comptables et admin 1er niveau


Plan comptable
Journaux
=> Lien avec la compta (cf choix des codes VT ou VTE pour vente, etc.)

Coopalim : prévoir une réunion avec le Trio Albane - 1 comptable Coopalim/Charlotte – SF ou QD