Compétences visées | B1.2 Répondre aux incidents et aux demandes d’assistance et d’évolution B1.4 Travailler en mode projet B1.5 Mettre à disposition des utilisateurs un service informatique … |
Outils | Visual Studio Code, Python, VSphere, Odoo sous Linux |
Présentation du contexte | Odoo est un PGI – Progiciel de Gestion Intégré – utilisé dans les apprentissages en 1ère et terminale STMG, ainsi que dans plusieurs BTS tertiaires. Les professeurs de ces sections ont besoin d’alimenter la base de données du PGI avec des clients sans avoir à les saisir un par un. En regard du RGPD, ces clients ne doivent avoir aucun lien avec des données liées à des personnes physiques réelles. Le PGI, écrit en langage Python, permet l’import de fichiers au format CSV ou Excel. |
Besoins / Missions | M. Coignat, référent académique sur le PGI Odoo, souhaite proposer aux professeurs de ces sections la possibilité de générer un fichier clients comportant autant de clients que nécessaire, les différentes données des clients étant des valeurs plausibles générées aléatoirement. Le format CSV sera choisi pour le fichier clients généré. 2 scripts en langage Python sont à écrire, l’un pour produire un fichier CSV de clients particuliers (personnes physiques), l’autre pour générer un fichier de clients sociétés (personnes morales). Les fichiers CSV produits seront validés par import direct sur le PGI Odoo à mettre en place. Une documentation d’utilisation des scripts est attendue. Le langage Python est choisi pour la rédaction de scripts en vue de produire chacun un fichier clients au format CSV. |
Ressources fournies | Sur la ferme de serveurs, modèle VM US22 hébergeant Ubuntu Server 22.04 avec service ssh installé et activé https://nightly.odoo.com/ https://www.odoo.com/documentation/14.0/administration/install.html https://doc.ubuntu-fr.org/odoo Fiches techniques VSphere – FT_esx_vmware_connexion et FT_esx_vmware_modele_creerMV FERME SERVEUR Fichier archive Addons.zip Fichier exemple de clients particuliers au format csv : clients_particuliers_exemple.csv Fichier classe GenerateurDonneesPerso.py avec fichiers texte de données Fichier script test_generateur.py |
Productions attendues | Répartition des tâches Sur la ferme de serveurs, machine virtuelle de nom Nom_US22_Odoo avec le service Odoo édition communautaire version 14 installé et la description MV mise à jour Document technique d’installation du service Odoo et de l’implémentation de la base de données genclients sur le serveur Linux Document d’utilisation des scripts de génération des clients à destination des professeurs pour alimenter la base de données du PGI Fichier classe GenerateurDonneesPerso mis à jour Fichiers scripts genere_clients_particuliers_odoo_csv.py et genere_clients_societes_odoo_csv.py Portefeuille de compétences mis à jour |
Durée | 2 séances |
Mission 1 – Production d’un générateur de clients particuliers et test du fichier produit sur une plateforme de test Odoo
L’exécution du script générateur de clients particuliers permettra à l’enseignant utilisateur de saisir un nombre de clients particuliers à générer ainsi que le chemin du fichier csv à produire.
Les clients particuliers seront caractérisés par :
Un titre : Monsieur ou Madame |
Un nom |
Un prénom |
Une adresse rue |
Une adresse ville |
Une adresse code postal |
Un pays : toujours France ici |
Un téléphone fixe |
Un téléphone mobile |
Un email : en minuscules sans caractères accentués |
Création du script genere_clients_particuliers_odoo_csv.py
Je me suis appuyé sur le script test_generateur.py pour créer un script permettant de générer un fichier CSV avec des faux clients particuliers ce qui permet un respect du RGPD.

J’ai corrigé les fonctions de génération de numéros de téléphone pour que des numéros aléatoires soient insérés à la place d’une suite de nombre fixe.

Mission 2 – Production d’un générateur de clients sociétés et test du fichier produit sur une plateforme de test Odoo
L’exécution du script générateur de clients particuliers permettra à l’enseignant utilisateur de saisir un nombre de clients particuliers à générer ainsi que le chemin du fichier csv à produire.
Les clients sociétés seront caractérisés par :
Une raison sociale |
Une adresse rue |
Une adresse ville |
Une adresse code postal |
Un pays : toujours France ici |
Un téléphone fixe |
Un téléphone mobile |
Un email : en minuscules sans caractères accentués |
Un secteur d’activité |
Un numéro TVA intra-communautaire |
Un numéro SIRET |
Création du script genere_clients_societe_odoo_csv.py
J’ai adapté le script genere_clients_particuliers_odoo_csv.py pour la création des sociétés factices. Pour ce faire, j’ai dû créer plusieurs fonctions en suivant le cahier des charges.


Pour que le script fonctionne correctement, j’ai créé des listes de raisons sociales et de secteurs d’activités.


Création du script PowerShell de déploiement
J’ai créé un script PowerShell qui :
- Vérifie si le script est exécuté en tant qu’administrateur, s’il ne l’est pas il renverra un message et s’arrêtera.
- Vérifie si Python est déjà installé, s’il ne l’est pas le script va automatiquement télécharger et installer silencieusement Python
- Lance les programmes

A noter que la fonction qui vérifie que Python n’est pas déjà installé n’est pas fonctionnelle, le programme installera Python de toute manière.