Leray Sébastien - Guimard Quentin PROJET PYTHON 04/01/2016 PROJET PYTHON Etape 14 : Cinquième évolution de l’application Comment exécuter un script SQL depuis une ligne de commande Linux ? Il faut utiliser la commande sqlplus utilisateur/motdepasse @fichierscript. Comment exécuter une commande Linux depuis un script Python ? Il faut écrire os.system(la commande souhaité) modifiez votre script python pour qu'il exécute le script SQL qu'il vient de générer. Je créer un nouveau fichier « genererScriptCreateV6 » en python : Leray_Guimard_etape_14 1/9 Leray Sébastien - Guimard Quentin PROJET PYTHON 04/01/2016 Rédaction du mode opératoire I) La récupération des utilisateurs dans l’Active Directory Pour procéder à la récupération des utilisateurs dans l’Active Directory il faut commencer par installer le logiciel LDAP Administrator 2015 sur le bureau de VM windows 7. Suite à l’installation de LDAP Administrator 2015 il faut créer un nouveau profil au niveau local Servers pour pouvoir se connecter à l’ActiveDirectory du serveur STESIO sous l’adresse 172.15.210. Ensuite il faut extraire le fichier des utilisateurs de Toulouse. Pour ce faire il faut développer le nœud STESIO, puis l’unité d’organisation ‘Finances/Toulouse‘ . Ensuite sélectionner le nœud « Utilisateurs » puis cliquez droit sur « ALL Task/Export DATA » au format plein text, dans Atribute Set précisez le ’;’ semicolon comme séparateur de champs. Nous obtenons donc ceci : Après ce fichier obtenu l’envoyez par mail dans la machine linux de développement. Leray_Guimard_etape_14 2/9 Leray Sébastien - Guimard Quentin PROJET PYTHON 04/01/2016 II ) L’utilisation des programmes Pythons Pour l’utilisation des programmes Pythons il faut réaliser une première version du programme Python « genereScriptCreate.py ». Ce programme doit permettre la création des utilisateurs dans un script SQL grâce au fichier «toulouse.txt » récupérer précédemment dans l’Active Directory. Chaque utilisateur doit pouvoir se connecter et créer des tables. Pour créer le programme il faut commencer par ouvrir les fichiers toulouse.txt en lecture puis créerUtisateur.sql en écriture. Le compte Oracle sera de la forme première lettre du prénom suivi du nom. Il suffit ensuite de finir le script du programme. Une fois terminer le programme créé le fichier créerUtilisateur.sql et donne ceci : Leray_Guimard_etape_14 3/9 Leray Sébastien - Guimard Quentin PROJET PYTHON 04/01/2016 III) L’utilisation des scripts SQL générés Une fois le script généré il faut l’exécuter sur le serveur Oracle local. Pour ce faire il suffit d’ouvrir le fichier genereScriptCreate.py et l’exécuter en se connectant en tant que System / System2. Figure 1 Je me connecte sur SQL Developer puis je me connecte dans SYSTEM. J’importe le fichier « creerUtilisateurs.sql » et je l’exécute. Une fois exécuter le script créé tous les utilisateurs avec la première lettre du prénom suivi du nom en tant qu’Utilisateur et Mot de passe. Les utilisateurs créer on alors la possibilité de se connecter et de créer une table. Leray_Guimard_etape_14 4/9 Leray Sébastien - Guimard Quentin PROJET PYTHON 04/01/2016 Exemple de connexion et de création de table : Je me connecte avec MBERNARD ayant pour mot de passe MBERNARD : Puis je créer une table : Leray_Guimard_etape_14 5/9 Leray Sébastien - Guimard Quentin IV) PROJET PYTHON 04/01/2016 Etape 11 : Deuxième évolution de l’application Cette mise au point d’une nouvelle version du programme Python appelé « genereScriptCreateV3.py » permettrait de fournir sur la ligne de commande, le nom du fichier des utilisateurs ainsi que le nom du fichier résultats. Pour faire ce programme, il faut rentrer la commande python + le nom du programme pour lancer le programme. Et il faut rentrer deux arguments pour faire fonctionner le programme, il faut rentrer le nom du fichier contenant les noms des utilisateurs et en deuxième arguments il faut rentrer le nom du fichier SQL à créer. Une fois lancer la commande, on obtient sur le bureau le fichier suivant : V) Etape 12 : Troisième évolution de l’application Cette mise au point d’une nouvelle version du programme Python appelé « genereScriptCreateV4.py » permettrait de fournir sur la ligne de commande, un modèle de commande SQL, le nom du fichier des utilisateurs ainsi que le nom du fichier résultats. Leray_Guimard_etape_14 6/9 Leray Sébastien - Guimard Quentin PROJET PYTHON 04/01/2016 Une fois lancer la commande, on obtient sur le bureau le fichier suivant : VI) Etape 13 : Quatrième évolution de l’application Leray_Guimard_etape_14 7/9 Leray Sébastien - Guimard Quentin PROJET PYTHON 04/01/2016 Cette mise au point d’une nouvelle version du programme Python appelé « genereScriptCreateV5.py » exécute directement les requêtes SQL d’ajout d’utilisateurs dans le SGBD Mysql présent dans votre machine virtuel. Pour cela il faut exécuter la commande suivante : Après avoir exécuté la commande, on obtient ce résultat dans phpmyadmin : VII) Etape 14 : Cinquième évolution de l’application Cette mise au point d’une nouvelle version du programme Python appelé « genereScriptCreateV6.py » permet d’éviter les manipulations nécessaires pour exécuter les scripts SQL (par exemple, le démarrage d'un client oracle comme SqlDeveloper). Pour le faire fonctionner, on tape la commande comme sur l’image ci-dessous, on tape « python + le nom du programme du python + le fichier contenant le nom les utilisateurs. Pour l’exécuter il faut possédé le fichier « patternDropUser.txt » et il doit se trouver sur le bureau ainsi que le fichier « toulouse.txt ». Peu importe où se trouve le fichier Python, le programme fonctionne. Après avoir lancé le script, il créera ou supprimera (s’ils existent) en fonction de ce qui se trouve dans le fichier « patternDropUser.txt » les utilisateurs. Figure 2 : Commande à effectuer On peut vérifier si les utilisateurs ont été créés ou supprimer en lançant « SQL developper » et en se connectant sur « SYSTEM » avec le mot de passe « system » et en cliquant sur l’onglet « Autres utilisateurs » : Leray_Guimard_etape_14 8/9 Leray Sébastien - Guimard Quentin Leray_Guimard_etape_14 PROJET PYTHON 04/01/2016 9/9