algorithmique et bases de la programmation php · modèle client serveur le client et le serveur -...

24
Algorithmique et bases de la programmation PHP PROGRAM MakeACupOfTea: Organise everything together; Plug in kettle; Put teabag in cup; WHILE (Kettle is not full) DO keep filling kettle; ENDWHILE; Wait for kettle to boil; Add water to cup; Remove teabag with spoon/fork; Add milk; IF (sugar is required) THEN add sugar; ELSE do nothing; ENDIF; Serve; END.

Upload: others

Post on 24-Sep-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Algorithmique et bases de la programmation PHP

PROGRAM MakeACupOfTea:

Organise everything together;

Plug in kettle;

Put teabag in cup;

WHILE (Kettle is not full)

DO keep filling kettle;

ENDWHILE;

Wait for kettle to boil;

Add water to cup;

Remove teabag with spoon/fork;

Add milk;

IF (sugar is required)

THEN add sugar;

ELSE do nothing;

ENDIF;

Serve;

END.

Page 2: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Les algorigrammes / Flow chart

https://openclassrooms.com/courses/introduction-aux-algorigrammes

Page 3: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Pseudo-code

SI Condition1ALORS Traitement1

SINON SI Condition2ALORS Traitement2

SINON SI Condition3ALORS Traitement3

SINON Traitement4

PROGRAMME DEBUT{

ENTREE_CONSOLE _variable_ Nom_Utilisateur_variable_ Nb_Lettres = compteLettres->_Nom_UtilisateurSI (Nb_Lettres > 10)

SORTIE_CONSOLE "Votre nom est long"SINON

SORTIE_CONSOLE "Votre nom est court"}FIN

http://www.wikihow.com/Write-Pseudocode

Page 4: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Exemple d’implémentation

Pseudo-Code

public boolean moveRobot (Robot aRobot)

{

//IF robot has no obstacle in front THEN

// Call Move robot

// Add the move command to the command history

// RETURN true

//ELSE

// RETURN false without moving the robot

//END IF

}

Java Implementation

public boolean moveRobot (Robot aRobot)

{

if (aRobot.isFrontClear())

{

aRobot.move();

cmdHistory.add(RobotAction.MOVE);

return true;

}

else

{

return false;

}

}

Page 5: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Modèle client serveur

Le client et le serveur- Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés plusieurs programmes, permettant de

traiter des sites web (Apache, PHP et MySQL principalement).

- Le Client : C'est vous, avec votre ordinateur personnel, relié à ce serveur, via Internet ou un réseau local, et qui utilisez un navigateur web (Firefox par exemple) pour lire les pages web.

Page 6: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Modèle client serveur

PHP (Hypertext Preprocessor) est un langage de scripts, généraliste et open source, spécialement conçu pour le développement d'applications web. Les applications web PHP sont hébergées sur un serveur web. Elles sont appelées par un client qui est en général un navigateur web, utilisé pour surfer sur Internet. Les scripts PHP sont exécutés côté serveur, à l'inverse des scripts JavaScript par exemple, qui sont exécutés côté client (i.e. le navigateur web).

En clair, cela veut donc dire que lorsqu'un utilisateur qui surfe sur le web arrive sur une page dont l'extension est .php : 1.une requête est envoyée au serveur web sur lequel est hébergé le site pour qu'il renvoie la page souhaitée ; 2.le code PHP que la page contient est exécuté par le serveur web sur lequel est hébergé le site, ce qui a pour résultat de générer du code HTML ; 3.le code HTML ainsi produit est envoyé au navigateur web de l'utilisateur ; 4.le navigateur web affiche la page en interprétant le code HTML obtenu. La figure ci-dessous illustre ce principe.

Page 7: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Modèle client serveur

http://romainlebreton.github.io/ProgWeb-CoteServeur/assets/tut1-complement.html

Qu’est-ce que le HTTP ?L’HyperText Transfer Protocol est un protocole de communication entre un client et un serveur développé pour le Web. L’une de ses fonctions principales est ainsi de récupérer des pages Web.La requête HTTP la plus courante est la requête GET.

Qu’est-ce qu’un serveur HTTP ?Un serveur HTTP est un logiciel qui répond à des requêtes HTTP. Il est souvent associé au port 80 de la machine hôte.

Où intervient le PHP ?Un module PHP (mod_php5) est intégré au serveur HTTP Apache. Quand le serveur Web reçoit une requête d’un fichier .php, il génère dynamiquement la page Web en exécutant le code PHP de la page. La page généré est ensuite renvoyée dans la réponse HTTP.C’est ce que l’on appelle une page dynamique.

Page 8: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Organisation du code php

Un fichier HTML (suffixe .html) ne peut pas contenir de scripts PHP. A l'inverse, un fichier PHP (suffixe .php) peut contenir à la fois du code HTML et du code PHP. Quand il est correctement configuré (ce qui doit être le cas de votre installation à l'aide de XAMPP), le serveur web Apache reconnaît automatiquement les fichiers dont l'extension est .php comme des pages PHP à interpréter. Ainsi, lorsque l'on essaie d'afficher une page dont l'extension est .php avec un navigateur web, le serveur web sur lequel se trouve cette page détecte qu'il doit d'abord interpréter la page PHP avant de répondre à la requête du navigateur web. Ce que l'on voit alors s'afficher dans le navigateur est le résultat de l'interprétation du code PHP par le serveur, c'est-à-dire du HTML. Ainsi, on utilise l'extension .php quand la page contient du code PHP afin qu'Apache appelle l'interpréteur PHP pour exécuter les scripts qu'elle contient, tandis qu'on utilise l'extension .html uniquement lorsque la page est complètement statique, c'est-à-dire ne contient pas de scripts PHP.

Dans un fichier PHP, seul le code entre les balises <?php et ?> est interprété comme étant du PHP.Tout le reste sera affiché sans modifications (notamment le code HTML qui est alors interprété par le navigateur web !). L'indentation du code est importante, non pour l'ordinateur qui l'exécute, mais pour l'humain qui doit le comprendre ; pensez donc à la respecter.

Pensez également à commenter soigneusement votre code.les commentaires en HTML se font comme suit: <--! Commentaire -->, et en CSS il faut débuter le commentaire par /* et le terminer par */. En PHP ils se placent après // s'il n'y a pas de retour à la ligne; si l'on veut commenter plus de choses, on débutera le commentaire par /* et on le terminera par */.

Exemple de scripts:

Page 9: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Basic php

Tutoriels :

http://www.wikihow.com/Write-PHP-Scripts

https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/premiers-pas-avec-php

http://sandbox.onlinephpfunctions.com/

Page 10: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Les variables

Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois types: •scalaires •tableaux •tableaux associatifs

Quelque soit le type de variable, son nom doit obligatoirement être précédé du caractère dollar ($).

http://www.commentcamarche.net/contents/804-php-les-variables

Page 11: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Les types de données

http://php.net/manual/fr/function.gettype.php

Page 12: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Les constantes

Page 13: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Les opérateurs

Page 14: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Les structures de controle

• Les conditionnelles

• if else elseif• switch case

• Les itératives

• while• do while• for• foreach

• Les ruptures

• break• continue

Page 16: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Les structures de controle

for

Page 17: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Les structures de controle

foreach

Page 18: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Les fonctions

Page 19: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

concepts de la programmation orientée objet

https://openclassrooms.com/courses/programmez-en-oriente-objet-en-php

Page 20: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Classes et héritage

Page 21: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Les classes et les objets

• Une classe est un ensemble de propriétés et de méthodes.

• Une classe est définie par la syntaxe suivante :

class exClass {var $p1;var $p2;function exClass () {}

}

• Un objet est instancié par l’instruction new :

obj = new exClass ();obj->p1 = ‘TEST’;

• Une Class peut-être enrichie par héritage :

class exFilleClass extends exClass {}

• Un objet peut se référencer par l’objet $this.

Page 22: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Formulaires et transmission de données

https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/transmettre-des-donnees-avec-les-formulaires

Page 23: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Traitement des données de formulaires

Page 24: Algorithmique et bases de la programmation PHP · Modèle client serveur Le client et le serveur - Le Serveur : C'est l'ordinateur qui héberge le site web, sur lequel sont installés

Accès aux bases de données en PHP

http://code.tutsplus.com/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059

class PDOFactoryException extends Exception{}class PDOFactory{public static function getMysqlConnexion(){$db = new PDO('mysql:host=localhost;dbname=EJCAM', 'root', '');$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $db;

} }$db=PDOFactory::getMysqlConnexion();$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

//tester que votre connecteur DB est fonctionnel. Par exemple utilisez le pour afficher le meilleur temps par étape :

try{ $db->beginTransaction();$resultats=$db->query("SELECT `IdEtape`,min(`TempsRealise`) as top FROM `temps`group by `IdEtape` ");$resultats->setFetchMode(PDO::FETCH_OBJ);while( $resultat = $resultats->fetch() )

{echo 'etape : '.$resultat->IdEtape.'<br>';

echo 'meilleur temps : '.$resultat->top.'<br>';}$resultats->closeCursor(); $db->commit();

}catch(Exception $e) { $db->rollback(); echo 'Tout ne s\'est pas bien passé, voir les erreurs ci-dessous<br />';echo 'Erreur : '.$e->getMessage().'<br />';echo 'N° : '.$e->getCode(); exit();

}