TP I sur services Web et de bases de données objectif : Savoir installer un ser

TP I sur services Web et de bases de données objectif : Savoir installer un serveur de base de données et faire des requêtes SQL de base A Faire on vous demande : A- d’installer les paquets : 1- mysql-server ; pour avoir le serveur de base de données sous ubuntu 2- libmysclient-dev ; pour avoir des librairies clients importantes quand vous aurez à manipuler mysql à travers un programme B- se connecter se faire au serveur mysql et faire des requetes Action commande Se connecter au serveur mysql local en tant que l’utilisateur root et qu’on nous demande un mot de passe mysql -u root -p Montrer toutes toutes les bases sur le serveur mysql show databases ; Creer la base banque1 create database banque1 ; Choisir la base banque1 use banque1 ; Créer dans la base banque1 la table clients( id, prenom, nom, numcompte,code,solde) create table clients(id int primary key auto_increment, prenom varchar(20), nom varchar(20),numcompte varchar(20),code varchar(20),solde varchar(20)) ; Décrire la table clients pour voir ses différents champs desc clients ; Inserer une entrée dans la table clients insert into clients(prenom,nom,numcompte,code,sol de) values(« Macky », « Sall », « 1001 » , « 1 111 », « 125000000 ») ; Afficher tout le contenu de la table clients Select * from clients ; Modifier l’entrée dont l’id est 1 en mettant le solde à 250 000 000 update clients set solde= « 250000000 » where id=1 ; Supprimer le compte dans la table clients dont l’id est 1 delete from clients where id=1 ; NB : Dans une requête SQL, si un champ est une chaine de caracteres s valeur doit entourer par « » par contre si c’est un réel, on met directement la valeur On vous demande d’installer les paquets et de faire d’exercices de creation, de lecture, modification et de suppression sur une base mysql TP II : Utilisation de base de données en réseau on suppose que vous avez déjà un serveur de bases de données fonctionnel 1- le fichier de configuration de mysql sous Ubuntu 18 est : /etc/mysql/mysql.conf.d/mysqld.cnf on y trouve, entre autres, trois paramètres importants pour ce tp : bind-address = IP ou 0.0.0.0 ; IP d’ecoute ou ecouter sur toutes les adresses de la machine qui heberge general_log_file = /var/log/mysql/mysql.log ; le nom du fichier des evenements du serveurs ( log) general_log = 1 ; a 1 veut dire qu’on active le journal des evenements sinon on la desactive 2- sous linux pour voir si un port est ouvert, on utilise la commande : netstat -anp | grep -w numport Si on voit rien après cette cela signifie que le port n’est pas ouvert et par consequent le service qui utilise ce port n’a pas démarré : par exemple quelques ports de serveurs et protocoles de transport utilisés : Description du service Protocole de transport /port du serveur Service de base de données mysql tcp/3306 Service web apache2 ou nginx tcp/80 Service de transfert trivial de données udp/69 Service dédié au transfert de fichiers tcp/20 pour les données et tcp/21 pour les requetes Service simple de transfert de mails(smtp) tcp/25 Service de recuperation de mails (POP3) tcp/110 Service d’accès interactif aux mails(IMAP) tcp/143 Service de synchronisation de l’heure(NTP) udp/123 et tcp/123 Service de résolution nom internet(DNS ou domain) udp/53 Service de configuration automatique des équipements réseaux (DHCP) Udp/67 serveur(bootps) udp/68 client(bootpc) Action : a1 : interpreter cette image a2. editer le fichier /etc/mysql/mysql.conf.d/mysqld.cnf et remplacer la ligne bind-address = 127.0.0.1 par bind-address=0.0.0.0 et redemarrer le serveur mysql par la commande : service mysql restart Interpréter le résultat a3 : confirmation des resultat faites la commande netstat -anp | grep -w 3306 Que voyez-vous et interprétez le résultat a3. Dans cette section, vous devez travailler avec deux autres camarades bouki et toto l’adresse IP de la machine de bouki est IP1 et l’adresse IP de bouki est IP2 Q3.1 : bouki lance la commande ifconfig mais ca ne marche, quel paquet bouki doit il installer pour que la commande ifconfig marche ? Q3.2 : comment bouki pour connaître son adresse IP via la commande Q3.3 : Donner le rôle de l’interface de loopback Q3.4 connectez-vous à la base de données comme le montre la figure apres : créer la base banque et donner les privileges à l’utilisateur bouki comme suit : fig : Demander à bouki de se connecter à votre serveur mysql en utilisant en ligne de commande : mysql -u bouki -p -h votreAdresseIP Bouki arrive t-il a se connecter au serveur mysql et quel message il recoit ? Toujours sur l’interface de mysql , vous saisissez : fig : NB : remplacez 192.168.1.128 par l’IP de la machine de toto( si toto se trouve sous linux, il doit installer le paquet mysql-client pour avoir les commandes mysql) En ligne de commande toto essaie de se connecter à votre serveur mysql mysql -u toto -p -h votreAdresseIP pourquoi arrive t-il à se connecter alors que bouki n’y arrive pas ? Quand toto fait show databases, voit -il toutes les memes bases que vous ? Et pourquoi ? Q3.4 : Donner la conclusion generale concernant l’utilisation de bases de données en reseau : donner les 2 actions les plus importantes à faire sur le serveur de base de donneés et l’action à faire à partir d’un client qui veut acceder à la base à laquelle il a droit. TP III Prise en Main de python et mysql Objectif 1- s’initier à l’un des langages les plus utilisés aujourdhui : python 2- Savoir installer et manipuler une base de données mysql à partir de python A- Iniation à python Doc : https://python.doctor/ 1- Algorithme d’apprentissage d’un langage 1.1 La gestion entree/sortie 1.2 types de variables 1.3 les instructions conditionnelles 1.4 les instructives repetitives 1.5 les sous programmes 1.6 particularité du langage ( formatage, importation) Application à python 1.1- entree/sortie • Pour afficher du texte sous python, on utilise l’instruction print(« le texte à afficher ») • Pour lire le contenu d’une variable, on procede comme suit : nom =input(« quel est votre nom ? ») 1 .2- par defaut une variable saisie par input() est une chaine de variable pour convertir une variable en entier ou en reel, on fait : int(nomvariable) ou float(nomvariable) pour convertir une variable en chaine de caracteres, on procede ainsi : str(nomvariable) il ya aussi un type liste qu’on peut declarer par : utilisateurs=[« toto », « bouki »] si n est un entier, liiste1=range(n+1) permet d’avoir dans liste les entiers de 0 à n si on veut avoir des entiers de 1 à n, on fait ; liste1=range(1,n+1) tuple : Un tuple est une liste qui ne peut plus être modifiée mon_tuple = (1, "Bouki", "toto") mon_tuple[0] contient 1 mon_tuple[1] contient Bouki mon_tuple[2] contient toto Dictionnaire : Un dictionnaire en python est une sorte de liste mais au lieu d'utiliser des index , on utilise des clés alphanumériques Comment créer un dictionnaire python? Pour initialiser un dictionnaire , on utile la syntaxe suivante: >>> a = {} ou a=dict() a = {} a["nom"] = "Sall" a["prenom"] = "Macky" 1.3 instructions conditionnelles exemple 1 if a > 5: ... a = a + 1 exemple 2 if a > 5: ... a = a + 1 ... else: ... a = a - 1 1.4 instructions respectives 1.4.1 for i in liste1 for i in range(1,11) : print(i) cela affichira 1 2 …. 10 1.4.2 while i = 0 >>> while i < 10: ... print("Je ne dois pas poser une question sans lever la main") ... i = i +1 ... va afficher le texte 10 fois liste = [1,5,10,15,20,25] >>> for i in liste: ... if i > 15: ... print("On stoppe la boucle") ... break ... print(i) ... 1 5 10 15 On stoppe la boucle 1.5 les fonctions def indique_mon_age(): ... return 30; ... >>> indique_mon_age() 30 > def augmente_moi(a): ... return augmente_moi + 2 ... >>> augmente_moi(1) 3 def augmente_moi(a, b): ... return 30 + a + b ... >>> augmente_moi(1, 2) 33 1.6 f-string en python et importation de module si on fait : a=10 b=20 print (f« les deux nombres sont {a} et {b}») affichera : les deux nombres sont 10 et 20 {a} sera remplacé par le contenu de la variable a grace au f avant les « » importation de module dans le fichier module.py def somme(a,b) : print(a+b) on cree le fichier prog.py import module print (« appel de somme du module ») somme.module(2,3) Quand on execute le programme prog.py par python3 prog.py on obtient : apple de somme du module 5 B- Utilisation d’une base de données dans python prerequis : prequis utilité python3-pip Une extension de python qui permet d’utiliser las commande pour installer, mettre à jour ou desinstaller des modules python mysql.connector-python==8.0.22 Avec la commande pip3 install mysql.connector-python==8.0.22 Pour avoir un connecteur python de connexion à mysql libmysqlclient-dev Pour avoir la librairie de connexion à mysql mysql-server Pour avoir le serveur de Bases uploads/s1/ fiche-services-reseaux-mysql-python-apache-cgi-0uya-22.pdf

  • 97
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Oct 08, 2022
  • Catégorie Administration
  • Langue French
  • Taille du fichier 1.5599MB