1SIO 2015/2016
1
PEDRON_Pierre_1SIOB_Projet-Python
Projet
Introduction
Il sagit ici dutiliser lannuaire dun serveur Windows Active Directory pour créer
automatiquement les comptes utilisateurs du système de gestion de bases de données (SGBD)
de lentreprise STESIO. Il est possible de récupérer la liste des utilisateurs dans un fichier texte
et de générer un script contenant des ordres SQL de création des comptes. Ce script sera
ensuite exécuté sur le SGBD Oracle. Cest un programme écrit en Python qui générera le script
SQL à partir du fichier texte. Ce script SQL sera exécuté dans le SGBD Oracle pour créer les
utilisateurs.
Les grandes étapes du projet :
Extraction de la liste des utilisateurs de l'AD (OU_Utilisateurs > sous OU_Toulouse)
dans un fichier texte appelé "Toulouse.txt".
Création, à partir du fichier "Toulouse.txt" et en langage Python, d'un programme
permettant de générer un script contenant les requêtes SQL de création des comptes
de l'AD nommé "GénérerScriptCreate.py".
Exécution du script, avec l'aide de l'outils SQL Developer, dans la SGBD Oracle sous la
forme d'un fichier SQL appelé "creerUtilisateurs.sql".
Création automatique des utilisateurs Oracle.
Ce projet aura été réalisé en binôme, sur une période de trois jours. La réalisation du projet
implique de posséder une machine virtuelle Linux Xubuntu tournant sous VirtualBox,
l'Environnement de Développement Intégré (IDE) Netbeans, le logiciel
LDAP Administrator, un service LAMP, l'outil SQL Developer . Ce guide relate, la
documentation relative à l'aboutissement du projet de l'étape 1 à l'étape 11 selon les
directives du cahier des charges fourni en annexe.
Étape 1 : Préparation de l’environnement de développement
Il faut, tout d'abord, vérifier l’installation de Python sur sa machine Xubuntu et l’intégrer à
son environnement de développement NetBeans.
Quelles sont les deux versions de python installées sur votre machine virtuelle Xubuntu ?
Une unique version 2.7.6 du langage de programmation python est installé sur ma machine
virtuelle Xubuntu, information obtenue par exécution de la commande suivante :
1SIO 2015/2016
2
PEDRON_Pierre_1SIOB_Projet-Python
Pour permettre le veloppement en python, il faut installer un module additionnel de
NetBeans. Les plugins Netbeans nécessaires sont téléchargeables à cette adresse :
http://plugins.netbeans.org/plugin/56795.
Plus concrètement, dans Netbeans, il faut aller récupérer et installer les plugins téléchargés :
Pour tout complément d'informations, se référer au site suivant :
https://blogs.oracle.com/geertjan/entry/python_in_netbeans_ide_81
Sous Netbeans, créez un projet python "projetpython1sio" ; associez la version la plus
cente de la plateforme python à ce projet.
Création du projet Python sous Netbeans :
1SIO 2015/2016
3
PEDRON_Pierre_1SIOB_Projet-Python
Recherchez un site de référence pour le langage python dans la version choisie.
Il existe de nombreux site de référence pour le langage python comme, par exemple,
openclassrooms.com, wiki.python.org…etc.
Étape 2 : Lecture et écriture dans un fichier texte en Python
Cette étape a pour but de vous former aux commandes Python permettant de lire et d’écrire
dans un fichier texte (Cf. doc. Python).
Enregistrez les lignes suivantes dans un fichier “testEntree.txt” :
Emile;ZOLA
Victor;HUGO
George;SAND
Création du fichier "testEntree.txt" :
Réalisez ensuite un programme effectuant les actions suivantes :
Ouvrir le fichier testEntree.txt en lecture et un fichier testSortie.txt en écriture.
En langage python :
open('testEntree.txt', 'r')
open('testSortie.txt', 'w')
1SIO 2015/2016
4
PEDRON_Pierre_1SIOB_Projet-Python
Avant l'exécution du programme python :
Pour chaque ligne du fichier testEntree.txt :
○ extraire la première lettre du premier mot et le deuxième mot pour les concaténer
○ convertir la chaîne obtenue en minuscules
○ écrire cette chaîne dans le fichier testSortie.txt
Code source commenté :
from os import chdir # Importer la commande chdir du module os.
chdir("/home/btssio/Bureau/PARTAGE/onlemetla/") # Spécifie le répertoire courant.
f=open('testEntree.txt', 'r') # Ouvre le fichier "testEntree" en mode lecture.
g=open('testSortie.text','w' ) # Créer ou ouvre le fichier "testSortie" en mode écriture.
for t in f: # Boucle permettant de lire chaque lignes (t) du fichier.
print (t) # Se réfère à une ligne.
tMots=t.split(';') # Eclate la chaine de caractère point-virgule.
pl=tMots[0][0] # Prend la première lettre du premier mot.
print (pl) # Inscrit la première lettre.
nom=tMots[1] # Prend le second mot en entier.
pl=pl.lower() # Convertie en minuscule.
nom=nom.lower() # Convertie en minuscule.
g.write(pl+nom) # Ecrit dans le fichier "testSortie" le contenu de nom.
f.close() # Ferme le fichier "testEntree.txt".
g.close() # Ferme le fichier "testSortie.txt".
1SIO 2015/2016
5
PEDRON_Pierre_1SIOB_Projet-Python
Après l'exécution du programme python, voici le contenu du fichier "testSortie.txt" :
Étape 3 : Création d’un utilisateur dans une base de données en SQL
Recherchez les ordres SQL pour créer un utilisateur Oracle capable de se connecter et de
créer une table.
CREATE USER utilisateur; # Création d'un utilisateur de la base de données.
IDENTIFIED BY mdp; # Définition du mode d'authentification de l'utilisateur créé.
GRANT CONNECT TO utilisateur; # Autoriser l'utilisateur à se connecter à la base de donnée. Ce droit
est vérifié à la connexion.
GRANT CREATE TABLE TO utilisateur; # Autoriser l'utilisateur à créer une table dans la base de
données.
Testez ces commandes pour l'utilisateur « test1sio », mot de passe « secret » et rifiez qu'il
peut se connecter et créer une table.
CREATE USER test1sio;
IDENTIFIED BY secret;
GRANT CONNECT TO test1sio;
GRANT CREATE TABLE TO test1sio;
1 / 34 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !