Telechargé par tsene8597

RESUME DEFINITIONS

publicité
RÉSUMÉ I.FALL
07-11-18
GÉNÉRALITÉS: LE WEB, LES
APPLICATIONS WEB
DÉFINITION
Internet: Réseau mondial et les services qui fonctionnent
sur ce réseau.
Web: Service internet dédié à l’échange de documents
hypertextes.
Intranet: Restriction d’internet à l’échelle d’une
organisation.
Extranet: Internet tourné vers l’extérieur de l’organisation.
www: World Wide Web
Trois (3) piliers du web:
 Langage de composition de documents hypertextes
(HTML)
 Protocole qui régit le fonctionnement client/serveur
(HTTP)
 Un système de nommage de ressources (URL)
HTTP: HyperText Transfer Protocol: Protocole
client/serveur → port 80
serveur http (serveur web) et client http (client web) →
client et serveur sont des entités logicielles
W3C : WORD WIDE WEB CONSORTIUM → Spécification des
http; C’est un groupe formé d’industriels et des laboratoires
universitaires qui régissent le web. Ils s’approprient les
développements du W3C pour les incrémenter.
Protocole → Définit le format de même que tous les
caractéristiques des messages échangés entre clients et
serveurs http.
Actuellement nous utilisons le HTTP 1.1
https → version sécurisée;il est en mode non connecté (cad
si un client se connecte envoie une requête http dès que le
serveur lui donne la réponse il(le client) n’est plus connecté
au serveur).
mode non connecté différent de persistant(on reste
toujours connecter jusqu’à ck)
DÉSIGNATION DES RESSOURCES
WEB
URL: Uniform Ressource Locator (Localisation de
ressource uniforme) → C’est une désignation d’une
page ou de toute autre ressource sur internet
Numéro de port → permet d’identifier une application
sur une machine; c’est une valeur numérique qui tient
sur 2 octets
/
→ chemin ou nom de fichier
# → ancre exemple: annuaire
? → paramètre
:// → protocole
Une URL complète: protocole://nom serveur/ressource demandée
MIME: Contexte → il faut que le navigateur soit capable
d’identifier les applications associées au type de
ressources qu’il ne peut pas gérer.
Modèle Statique: «déplacement de ressources» → ce
qu’il y a sur le site c’est également ce qu’il y a sur le
serveur.Autrement dit le navigateur affiche la page telle
qu’elle est dans le serveur.
Modèle Dynamique: la page est fabriquée suite à la
requête du client.
Exécutable: fichier écrit en langage machine
21-11-18
PHP
phpinfo(): c’est la fonction qui renseigne sur
l’environnement du serveur
DÉFINITION
Répertoire de publication: le répertoire à partir
duquel les ressources du serveur sont accessibles au
client (si la ressource n’est pas dans ce répertoire alors
elle n’est pas accessible à un client)
Il se trouve dans disque local C → WAMP c’est soit
HTDOCS soit WWW
Nom du serveur: Localhost → 127.0.0.1
Répertoire temporaire: répertoire de travail du
serveur (les ressources sont directement stocker dans
le répertoire temporaire puis les scripts viendront les
déplacer) donc c’est le dossier dans lequel le serveur
reçoit les fichiers/ressources provenant du client en
attendant leur traitement → tmp
Répertoire de journalisation: c’est là où des fichiers
où il y a des événements seront placés → logs
CONF → répertoire ou seront placés les fichiers de
configurations de notre serveur
TEST
Créer le fichier test.php dans www puis aller sur le
navigateur et taper http://localhost/test.php
On obtient une page blanche
On modifie le code au lieu de <? on fait <?php
Pour obtenir un résultat:
1ère règle: il faut que la ressource soit dans le repertoire
de publication
2ième règle: il faut que le serveur marche
3ième règle: il faut lancer le navigateur et mettre L’URL
(la requête http)
LE FICHIER HTTPD.CONF
httpd.conf: c’est le fichier de configuration principale
il se trouve dans
Wamp/bin/apache/apache2.4.9/conf
dans le fichier httpd.conf:
Les commentaires → #
Les directives:
Listen → lier le serveur a un port donner: il fixe le
numéro du port d’écoute → nom @ip: n°port
Donc pour indiquer le numéro de port
LoadModule → directive qui permet d’associer
l’interpréteur au serveur et aussi pour ajouter des
extensions au serveur web
L’extension peut être un interpréteur
28-11-18
ServerAdmin → on met là bas l’adresse mail de
l’administrateur du serveur donc s’il y a erreur on va
générer une page web dans laquelle il y a le message
d’erreur avec cette adresse mail que le client doit
contacter en cas d’urgence
ServerName → pour fixer le nom du serveur et
éventuellement un numéro de port pour identifier le
serveur
par défaut le serveur name c’est localhost
DocumentRoot → nom du repertoire à partir duquel on
fixe le nom du repertoire de publication
DirectoryIndex →: permet de dire au serveur au cas
où on a une URL sans ressources à ce moment chercher
le fichier index0.html si vous ne le trouvez pas,
chercher le fichier index.php …
Userdir: se trouve dans conf/extra/httpduserdir.conf
→ Intérêt de userdir: on peut modifier directement nos
sites dans notre compte d’utilisateur se trouvant sur la
machine serveur
Il faut donc que dans le repertoire de publication
chacun ait son repertoire personnel
Nom utilisateur créer sur une machine serveur:
~nomuser
Exp si je veux modifier directement dans mon compte
je mets http://www.esp.sn/~MNB/
LE FICHIER PHP.INI
php.ini: fichier par défaut dans lequel se trouve les
configurations de php
Les commentaires → ;
Les directives:
Engine → active le moteur d’interprétation du script
php sur apache
Quand on le met a OFF même si y a Loadmodule y aura
pas d’interprétation
Short_open_tag → SOP → autorise l’utilisation de la
balise <?
Si SOP est à OFF il faut mettre <?php car <? fonctionne
que lorsque SOP est à ON
Précision → permet de fixer le nombre significatif de
chiffre après la virgule
Les directives relative aux limites des ressources:
Max_execution_time → temps d’exécution maximale
de chaque script
Max_input_time → temps que le script prend pour
récupérer les paramètres d’une requête
Time_out → délai au dessus duquel l’exécution est
arrêtée
Memory_limit → mémoire qu’un script peut occuper
pour s’exécuter
Register_globals → variable d’environnement
Post_max_size → taille max des données que peuvent
envoyer les clients
File_uploads → pour dire si on peut recevoir ou non
des fichiers téléchargés du coté client vers serveur
Uploads_ → là où on fixe le répertoire où on mettra les
fichiers temporaires relatifs au fichiers téléchargés
Extensions:……._mysql.so → là où il y a toutes les
connexions entre l’interpréteur de base de données et
les autres extensions
Mysql.max_persistent:
Mysql.max_links → pour autoriser le nombre de
connexion à un serveur
09-01-19
VARIABLE D’ENVIRONNEMENT
Ce sont des variables prédéfinies dans le SE et chaque
application installées à accès à ces variables
d’environnement(VE)
Sur linux la commande permettant de mettre à jour le
contenu du VE: export
$nomvariable=$nomvariable:chemin
Exemple export $PATH=$PATH:/usr/bin/jdk8
VE en php donne des informations sur l’environnement
de notre programme;leur nom s’écrit en lettre capitale
Exemple de VE:
PHP_SELF → le nom du fichier du script en cours
d’exécution(par rapport au document root)
SCRIPT_FILENAME → le chemin absolu jusqu’au script
courant
SERVER_PORT → le port d’écoute du serveur d la
machine utilisée pour les communications
SERVER_NAME → le nom du serveur hôte qui éxecute
le script
REMOTE_ADDR → l’adresse ip de la machine cliente
qui a demandée la page courante
REMOTE_PORT-> le port utilisé par la machine cliente
pour communiquer avec le serveur web
DOCUMENT_ROOT -> la racine sous laquelle le script
courant est exécutée (comme définie dans la
configuration du serveur)
POUR AVOIR ACCÈS AU CONTENU D’UNE VE
Il y a 3 manières:
1 → getenv()
Exemple: $v=getenv(‘’REMOTE_ADDR’’);
2 → $_SERVER: il met le contenu sous forme d’un
tableau associatif
Exemple: $v=$_SERVER[‘’REMOTE_ADDR’’];
3 → $suivi_du_nom_de_la_variable -> pour les
anciennes versions de php
Exemple: $v=$REMOTE_ADDR;
VARIABLE ISSUES DE FORMULAIRE
POST → Les données vont aller avec la requête http et
sont placées dans le corps du message:
GET → Les données sont transportées via l’entête et
vont apparaître au niveau de l’URL:
URL de type GET: http://www.mamie.fr/kelkchoz.php?
p1=v1&&p2=v2
$_REQUEST[‘’nom’’]: remplace GET et POST
Pour vérifier qu’une variable existe: isset()
23.01.19
GESTION DE FICHIERS
On parle de téléchargement dans un sens comme dans
un autre
On a 2 modes de téléchargements :
serveur-client: dowloading (1)
sens client → serveur: uploading (2)
(2) on peut le faire avec un formulaire (il faut k sa soit
un formulaire post qui devra être envoyer avec un
fichier qu’on doit mettre dans le corps du formulaire
<form action=’’mamie.php’’
ENCTYPE=’’multipart/form-data’’>
action qui va faire le traitement
Multipart/from-data veut dire que les fichiers
peuvent être de n’importe quel nature
mamie.php → ce qu’on va faire du coté serveur
lorsqu’un client envoie des fichiers → ces fichiers arrivé
dans le serveur seront stockés dans tmp avec un nom
fabriqué par le serveur
Pour les fichier on fait $_FILES qui est un tableau a 2
dimensions (bidimensionnel)
name récupérer le nom sur le client
tmp_name pour récupérer le nom sur le client
size Pour récupérer la taille en octet
après ça on récupérer les infos sur le fichier Copier le
fichier de son emplacement temporaire vers son
emplacement de travail
FONCTIONS QUI PERMETTENT DE
GÉRER LES FICHIERS
Pour récupérer le nom temporaire du fichier
$_FILES[‘’nomfichier’’][‘’tmp_name’’]
Fonction copy()
Copy($_FILES[‘’f’’][‘’tmp_name’’],’’./lesCV/‘’.$_FILES[‘’f’’]
[‘’name‘’]);
Ou $ch=’’./image/’’.$_FILES[‘’f’’][‘’name’’] après on fait
Copy($_FILES[‘’f’’][‘’tmp_name’’],$ch)
Je prends le fichier avec le nom je le copie dans le
repertoire et je change en même temps son nom je le
remplace par son nom original
LECTURE /ÉCRITURE
Lorsqu’on a un fichier par défaut il est stocké au niveau
de la mémoire auxiliaire ou au niveau du disk dur
quand on ouvre le fichier il va y avoir une zone de la
mémoire RAM qui va être appeler zone tampon et qui
va être associer à un fichier et les données du fichier
seront stockées là-bas tant qu’on a pas fermé le fichier
la zone mémoire reste indisponible donc il faut refermer
le fichier pour que la zone tampon soit libérée
L’ouverture va être fait suivant un mode
On va considérer qu’on va travailler avec un fichier test
Le mode:
→ w pour écrire (s’il y avait déjà des choses sur le
fichier ça va être supprimer)
→ r pour lire
→ rw les données ne sont pas perdues le curseur est
ramené au début
→ a: Append: pour ajouter à la fin
Fopen va renvoyer un descripteur de fichier(comme un
pointeur qui permet d’accéder à la mémoire tampon)
Exit=die = interrompt l’exécution
Fgets la fonction lecture: elle renvoie une chaîne de
caractère. Elle s’arrête pour 2 choses \n ou lorsqu’on a
obtenu le nombre de caractère qu’on lui avait
demander de lire
exemple: (fgets ($file, ndr de caract))
Feof → f end of file Fonction qui permet de vérifier si
oui ou non je suis à la fin d’un fichier → en mode lecture
Toutes les fonctions prennent en paramètre le
descripteur du fichier et toutes les fonctions
commencent par f
Quand on ouvre en écriture on fait la fonction fputs
permet d’ecrire dans le fichier a la position courante (si
c’est en mode w et r on écrit au début si c’est en mode
append on écrit à la fin)
Lecture ou écriture par bloc → fwrite ou fread
Il y a des fonctions qui permettent de gérer des fichiers
comme des entités globales
GESTION DES SESSIONS
Quand on crée une session au niveau du serveur un il
sera créé un fichier ou les info sont stockées dans les
variables de session et pour retrouver le fichier il faut le
phpsessid
Phpsessid:c’est un identifiant de session permettant
au serveur d’avoir accès au bon fichier; c’est lui qui va
transiter de page à page si on se déconnecte le fichier
sera supprimer et l’identifiant aussi
FONCTIONS
session_start(): crée une nouvelle session( sil ya pa d
session en cours); s’il yen a déjà on reste connecter sur
la session où on était
Pour créer une variable de session
$l= $_SESSION[‘’log’’]; dans p1
session_destroy():pour détruire la session;
Délai de stationnement: quand on reste trop
longtemps sans faire d’interaction il faut le déconnecter
Die=echo+exit
If (x<5)
Die(«c’est bon»);
Else «ce n’est pas bon»;
si on enlève le else ça donne la mm chose
ACCÈS AU BASE DE DONNÉES
Une base de données: ensemble de donnée
organisées selon un modèle (relationnel , objetrelationnel, native, non sql..)
Modèle relationnel: donné organiser sous la forme de
relation( d’enregistrement(tuple) n-uplet)
Algèbre relationnel: principale opération: projection ,
sélection, jointure
27-03-19
FONCTIONS
1 → mysql-connect: pour se connecter à la base de
données.
ces paramètres → Nom user, mdp, nom serveur de base
de données.
On aura besoin d’un descripteur de connexion (pour la
mémoire)
$c=mysql_connect($user,$pwd,$host);
on peut avoir plusieurs connexion en cours
2 → mysql-select-db: pour sélectionner une base de
données
db(database) pour dire base de donnée
ces paramètres -> nom de la base on peut ajouter le
nom de la variable du descripteur de connexion au cas
ou on a 2 connexion en cours
Mysql_select_db($bd2,[$c]);
$c genre avec la connexion c
3 → Mysql_query: pour les requêtes
ces paramètres → variable sur laquelle on a mis la
requête et si on a plusieurs connexions on met la
variable de connexion et ion met le résultat dans une
variable $r
Exp $req=select * from table;
$r=mysql_query($req);
4 → mysql_fetch_row: la liste courante sous forme
d’un tableau
Pour les résultats renvoie une ligne qui correspond à un
enregistrement: la ligne c’est un tableau donc il faut
parcourir la relation résultante $row[0], $row[1]…
Si on l’appelle une fois elle renvoie la 1ere valeur et le
curseur est pointé sur la 2ieme ligne …, donc on fait
une boucle(tant que $row n’est pas nul) pour pouvoir
tout afficher et on le met généralement dans un tableau
Il y a mysql_fetch_object..
pour les mises à jour: $r c’est un nombre
pour les interrogation: $r est une relation
exemple: $row= mysql_fetch_row
($r)
while ($row=mysql_fetch_row($r)){
echo ‘’<tr>’’;
echo ‘’ <td>’’.$row[0].’’</td><td>’’.$row[1].’’</
td>’’;
echo ‘’</tr>‘’;}
à la fin on fait mysql-close() pour fermer;
Si on fait une postgress: on remplace mysql par pg
exemple: pg_connect
Avec oracle on remplace mysql par ora exemple oraconnect
odbc: open database connectivity: virtuelle
faire comme si on avait un sgbd virtuelle avec les
relations qui correspondent aux mêmes relations de
notre sgbd avec accès sur ces requêtes dans le monde
de microsoft
sql server
travailler sur n’importe quel sgbd à travers des fichiers
php
SQL ANSI 92 ça marche n’importe où
PDO → comme un sgbd virtuelle dans le monde du
code; il a un driver: un fichier a télécharger toutes les
requêtes qui vont venir vont être traduit adéquatement
avec le sgbd convertir des requête en des requêtes
spécifiques
Si on change de base de données on change le fichier
du pdo
Téléchargement