Mickael Lecoq
2A - 2018/2019
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user data-id="101">
<nom>Zorro</nom>
<metier>Danseur</metier>
</user>
<user data-id="102">
<nom>Hulk</nom>
<metier>Footballeur</metier>
</user>
<user data-id="103">
<nom>Zidane</nom>
<metier>Star</metier>
</user>
<user data-id="104">
<nom>Beans</nom>
<metier>Epicier</metier>
</user>
<user data-id="105">
<nom>Batman</nom>
<metier>Veterinaire</metier>
</user>
<user data-id="106">
<nom>Spiderman</nom>
<metier>Veterinaire</metier>
</user>
</users>
from lxml import etree
tree = etree.parse("data.xml")
for user in tree.xpath("/users/user/nom"):
print(user.text)
Zorro
Hulk
Zidane
Beans
Batman
Spiderman
A S C I I
41 53 43 49 49
Windows -> Windows 1252
Mac OS, Linux -> UTF-8
Sous Windows :
~/ python <myscript>
Démo
PAGES WEB
FICHIERS (PHOTOS ..)
BDD
effectue une demande de service auprès du serveur
(requête)
initie le contact (parle en premier), ouvre la session
est la partie de l'application qui offre un service
est à l'écoute des requêtes clientes
répond au service demandé par le client (réponse)
Requête
Réponse
@IP : 192.168.1.14
@IP : 192.168.1.7
@IP : 192.168.1.12
@IP : 192.168.1.4
Adresses IP (Internet Protocol)
@IP : 192.168.1.14:80
@IP : 192.168.1.7:XX
@IP : 192.168.1.12:XX
@IP : 192.168.1.4:XX
PORT = Canal de communication / Identification du programme a exécuté
Conventions
Protocole | Numéro de Port |
---|---|
HTTP | 80 |
HTTPS | 443 |
FTP (File Transfert Protocol) | 21 |
SSH (Connection à une machine à distance) | 22 |
SMTP (Envoi d'email) | 25, 465, 587 |
POP3 (Réception d'email) | 110, 995 |
Exemple Base de Données - TP1
import psycopg2
connection =
psycopg2.connect(host="sgbd-eleves.domensai.ecole",
port="5432",
database="MY_ID",
user="MY_ID",
password="MY_ID")
Serveur DNS (Domain Naming Server)
google.fr ?
facebook.com ?
amazon.fr ?
google.fr
Serveur DNS
Qu'elle est l'IP ?
IP: 216.58.213.131
facebook.com
IP: 157.240.21.35
amazon.fr
IP: 54.239.33.91
https://www.monsite.io/mapage
GET /mapage Host: www.monsite.io
Page HTML
<html>
<head>
</head>
<body>
</body>
</html>
Requête
Réponse
https://www.monsite.io/mapage? param1=value1¶m2=value2
GET /mapage?param1=value1¶m2=value2 Host: www.monsite.io
Page HTML
<html>
<head>
</head>
<body>
</body>
</html>
Requête
Réponse
POST /mapage2 Host: www.monsite.io
nom=Lecoq&prenom=Mickael
Page HTML
<html>
<head>
</head>
<body>
</body>
</html>
Requête
Réponse
Plusieurs plages
2xx - Succès, par ex :
3xx - Redirection, par ex :
4xx - Erreur côté client, par ex :
5xx - Erreur côté serveur, par ex :
Echanges d'informations
Exemple avec une boutique en ligne
Contient :
Création des comptes
Affichage du catalogue
...
Echanges d'informations
Exemple avec une boutique en ligne
Echanges d'informations
Exemple avec une boutique en ligne
Service de paiement
Votre application
Requête : enregistrer le paiement
Réponse: Paiement OK
API REST (REpresentational State Transfer)
Exemple PYTHON - Module Requests
import requests
response = requests.get(
'MON_URL')
# si le statut est 200
if response.status_code == requests.codes.ok :
print(response.json())
else:
print('une erreur est survenue')
API REST (REpresentational State Transfer)