Aller au contenu

Générateur de données pour Odoo

Compétences viséesB1.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 contexteOdoo 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 fourniesSur 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 attenduesRé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ée2 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.

image14

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.

image15

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.

image16
image17

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

image18
image19

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
image20


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.

Étiquettes:

Join the conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *