ODOO/create_users.py
root 2b2b316ceb Finalisation TP4-5 - ERP Odoo pour Covoit'Ouest
Résumé des exercices réalisés:

Exercice 1: Installation et Configuration
- Installation Docker Odoo 17 + PostgreSQL 15
- Résolution problème permission denied
- Configuration odoo.conf avec paramètres BDD
- Création base de données covoiturage_db
- Installation modules: CRM, Ventes, Facturation, RH
- Création 3 utilisateurs (admin + 2 métiers)

Exercice 2: Cartographie Fonctionnelle
- Identification 6 processus métier Covoit'Ouest
- Mapping complet processus ↔ modules Odoo
- Documentation architecture applicative
- Flux de données documenté

Exercice 3: Configuration Métier
- Création contacts (conducteur Jean Dupont, passager Marie Martin)
- Création trajet "La Rochelle → Nantes" (produit 15€)
- Simulation réservation (devis → commande confirmée)
- Enregistrement paiement

Exercice 4: CRM et Suivi
- Pipeline prospect conducteur (Pierre Durand)
- Qualification et conversion en client actif
- Opportunité marquée comme gagnée
- Ticket support "Retard de trajet" créé et résolu

Exercice 5: Tableau de Bord Direction
- Définition KPI (CA, trajets, Top 3, etc.)
- Documentation configuration tableaux de bord
- Recommandations graphiques et reporting

Fichiers ajoutés:
- compterendu.md: Compte-rendu complet du TP (70+ pages)
- README.md: Guide de démarrage rapide
- docs/cartographie_covoit_ouest.md: Cartographie complète
- docs/tableau_de_bord_direction.md: Guide KPI et reporting
- create_users.py: Script création utilisateurs
- exercice3_configuration_metier.py: Script exercice 3
- exercice4_crm.py: Script exercice 4

Fichiers modifiés:
- config/odoo.conf: Ajout paramètres connexion PostgreSQL
- docs/installation.md: Section résolution problèmes

Résultats:
 Couverture fonctionnelle: ~85%
 3 utilisateurs créés
 3 contacts, 1 trajet, 1 réservation
 1 lead CRM converti
 1 ticket support résolu
 Documentation complète

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 14:10:38 +00:00

94 lines
3.6 KiB
Python

#!/usr/bin/env python3
"""
Script pour créer les utilisateurs Odoo pour le TP Covoit'Ouest
"""
import xmlrpc.client
# Configuration
url = 'http://localhost:8069'
db = 'covoiturage_db'
username = 'admin'
password = 'admin'
# Connexion à Odoo
common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))
uid = common.authenticate(db, username, password, {})
if not uid:
print("Erreur: Impossible de se connecter à Odoo")
exit(1)
print(f"Connecté en tant qu'utilisateur ID: {uid}")
# Accès aux modèles
models = xmlrpc.client.ServerProxy('{}/xmlrpc/2/object'.format(url))
# Rechercher les groupes nécessaires
# Groups pour Sales (Ventes)
sale_user_group = models.execute_kw(db, uid, password, 'res.groups', 'search', [[('name', '=', 'User: Own Documents Only')]])
sale_manager_group = models.execute_kw(db, uid, password, 'res.groups', 'search', [[('name', '=', 'Administrator')]])
# Groups pour Account (Facturation)
account_user_group = models.execute_kw(db, uid, password, 'res.groups', 'search', [[('name', '=', 'Billing')]])
account_manager_group = models.execute_kw(db, uid, password, 'res.groups', 'search', [[('name', '=', 'Billing Manager')]])
# Créer l'utilisateur "Gestionnaire Trajets"
print("\n=== Création de l'utilisateur Gestionnaire Trajets ===")
try:
# Vérifier si l'utilisateur existe déjà
existing_user = models.execute_kw(db, uid, password, 'res.users', 'search', [[('login', '=', 'gestionnaire.trajets')]])
if existing_user:
print("L'utilisateur 'gestionnaire.trajets' existe déjà")
user_trajets_id = existing_user[0]
else:
user_trajets_id = models.execute_kw(db, uid, password, 'res.users', 'create', [{
'name': 'Gestionnaire Trajets',
'login': 'gestionnaire.trajets',
'password': 'trajets123',
'email': 'trajets@covoiturage.fr',
'groups_id': [(6, 0, sale_user_group + sale_manager_group)]
}])
print(f"Utilisateur créé avec l'ID: {user_trajets_id}")
print(f"Login: gestionnaire.trajets")
print(f"Mot de passe: trajets123")
except Exception as e:
print(f"Erreur lors de la création: {e}")
# Créer l'utilisateur "Gestionnaire Finance"
print("\n=== Création de l'utilisateur Gestionnaire Finance ===")
try:
# Vérifier si l'utilisateur existe déjà
existing_user = models.execute_kw(db, uid, password, 'res.users', 'search', [[('login', '=', 'gestionnaire.finance')]])
if existing_user:
print("L'utilisateur 'gestionnaire.finance' existe déjà")
user_finance_id = existing_user[0]
else:
user_finance_id = models.execute_kw(db, uid, password, 'res.users', 'create', [{
'name': 'Gestionnaire Finance',
'login': 'gestionnaire.finance',
'password': 'finance123',
'email': 'finance@covoiturage.fr',
'groups_id': [(6, 0, account_user_group + account_manager_group)]
}])
print(f"Utilisateur créé avec l'ID: {user_finance_id}")
print(f"Login: gestionnaire.finance")
print(f"Mot de passe: finance123")
except Exception as e:
print(f"Erreur lors de la création: {e}")
print("\n=== Résumé des utilisateurs créés ===")
print("1. Admin (déjà existant)")
print(" Login: admin")
print(" Mot de passe: admin")
print("\n2. Gestionnaire Trajets")
print(" Login: gestionnaire.trajets")
print(" Mot de passe: trajets123")
print(" Rôle: Gestion des trajets et réservations (Sales)")
print("\n3. Gestionnaire Finance")
print(" Login: gestionnaire.finance")
print(" Mot de passe: finance123")
print(" Rôle: Gestion de la facturation et des paiements (Account)")