La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.

Présentations similaires


Présentation au sujet: "APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen."— Transcription de la présentation:

1 APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen Mahrous Grenoble INP – Pagora 10 novembre 2014 Cours en Réponse à questions, n° 4

2 Groupe : ? Autres groupes ? ? Profs MySQL ? PhpMyAdmin ? Récupérer les requêtes MySQL dans PhpMyAdmin ? Soutenances formatives Expliquer des programmes types PHP  le programme principal des actions d’un formulaire  la boucle type des traitements d’une ressource (pointeur sur.csv, pointeur sur une ressource de traitement de données mySQL…) Questions reçues

3 MySQL - API

4 MAMP-PhpMyAdmin

5 PhpMyAdmin - CREATE

6 PhpMyAdmin - SELECT

7 PhpMyAdmin – formulaire Insertion

8 PhpMyAdmin - INSERT

9 PhpMyAdmin – formulaire Modif

10 PhpMyAdmin - UPDATE

11 PhpMyAdmin - DELETE

12 PhpMyAdmin – Formulaire SQL

13

14 Manuel officiel mySQL ↪ voir http://dev.mysql.com/doc/refman/4.1/en/show-columns.htmlhttp://dev.mysql.com/doc/refman/4.1/en/show-columns.html

15 SHOW COLUMNS FROM [ma_table] versus SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE `TABLE_NAME` = '[ma_table]'

16 SHOW COLUMNS FROM [ma_table] versus SELECT `COLUMN_TYPE` FROM INFORMATION_SCHEMA.COLUMNS WHERE `TABLE_NAME` = '[ma_table]’ AND `COLUMN_TYPE` LIKE 'enum%'

17  Algorithmique : 2 programmes typiques

18 Ossature/maquette d’une page Web (= « template ») ↪ voir http://tiprof.fr/SitesWebDynamic/Exemples/maquette/http://tiprof.fr/SitesWebDynamic/Exemples/maquette/

19 Les fonctions PHP require() / include() / require_once() / include_once()

20 Ossature/maquette d’une page Web (= « template ») ↪ voir http://tiprof.fr/SitesWebDynamic/Exemples/maquette/http://tiprof.fr/SitesWebDynamic/Exemples/maquette/

21 Ossature/maquette d’une page Web (= « template ») ↪ voir http://tiprof.fr/SitesWebDynamic/Exemples/maquette/http://tiprof.fr/SitesWebDynamic/Exemples/maquette/

22 Usage des constantes PHP Définit une constante pour tout le script PHP exécuté !! non modifiable Certaines constantes sont pré-définies comme DIRECTORY_SEPARATOR, __FILE__... ↪ voir http://php.net/manual/fr/dir.constants.phphttp://php.net/manual/fr/dir.constants.php http://php.net/manual/fr/reserved.constants.php et http://php.net/manual/fr/language.constants.predefined.phphttp://php.net/manual/fr/language.constants.predefined.php ↪ voir http://php.net/manual/fr/function.define.phphttp://php.net/manual/fr/function.define.php Pour les utiliser, juste pas de quotes à mettre

23 Aide pour déboguer : Affichage de traces

24

25 constante prédéfinie faisant partie des « constantes magiques » __FILE__, __DIR__... ↪ voir http://php.net/manual/fr/language.constants.predefined.phphttp://php.net/manual/fr/language.constants.predefined.php basename() : fonction PHP qui extrait le nom du fichier dans un chemin

26 Boucle de traitement d’une ressource 1°) Initialisation de la tête de lecture 2°) Tant que la tête n’est pas dehors, lire un « élément » traiter l’élément - fin du « tant que » 3°) Libération de la mémoire utilisée par la tête de lecture

27 Boucle de traitement d’une ressource 1°) Initialisation de la tête de lecture 2°) Tant que la tête n’est pas dehors, lire un « élément » traiter l’élément - fin du « tant que » 3°) Libération de la mémoire utilisée par la tête de lecture Exemple : lire les éléments d’un dossier et générer une liste de liens

28 Boucle de traitement d’une ressource Exemple : lire les lignes d’un fichier.csv et afficher ses valeurs ligne par ligne 1°) Initialisation de la tête de lecture 2°) Tant que la tête n’est pas dehors, lire un « élément » traiter l’élément - fin du « tant que » 3°) Libération de la mémoire utilisée par la tête de lecture

29 Boucle de traitement d’une ressource Exemple : lire les enregistrements résultants d’une requête mySQL et les stocker dans un tableau PHP 1°) Initialisation de la tête de lecture 2°) Tant que la tête n’est pas dehors, lire un « élément » traiter l’élément - fin du « tant que » 3°) Libération de la mémoire utilisée par la tête de lecture En sortie de fonction, $table contient une table PHP qui correspond aux enregistrements trouvés par la requête mySQL

30 Boucle de traitement d’une ressource Exemple : lire les enregistrements résultants d’une requête mySQL et les stocker dans un tableau PHP En sortie de fonction, $table contient une table PHP qui correspond aux enregistrements trouvés par la requête mySQL La fonction définie, gest_lasts($nb), récupère les $nb derniers enregistrements de la table dont le nom a été spécifié dans la constante TABLE précédemment

31 Séquencement des actions d’un formulaire : le « Contrôle » 1°) gros « switch » qui séquence les affichages et les actions ↪ voir http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/ identique à

32 Séquencement des actions d’un formulaire : les « vues » 1°) des « include »s pour les formulaires liés ↪ voir http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/

33 Séquencement des actions d’un formulaire : le « modèle » 2°) fonctions pour réaliser les actions ↪ voir http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/ insertion des fonctions qui contiennent les requêtes mySQL insertion du fichier de connexion entre les 2 serveurs appel des fonctions qui font l’action avec la base de données

34 Séquencement des actions d’un formulaire 3°) ajustement du « Contrôle » ↪ voir http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/ appel des fonctions qui font l’action avec la base de données … reste à faire ici

35 4°) Codage du « Modèle » dans un fichier externe regroupant les fonctions pour réaliser les actions ↪ voir http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/ On veut que PHP transmette la requête d’insertion à MySQL INSERT INTO … ( …, … …) VALUES ( …, … …) ; On veut que PHP transmette la requête de mise à jour à MySQL UPDATE … SET … = … AND … = … WHERE `id` = … ;

36 Architecture MVC Modèle – Contrôle - Vues Intérêt de l’architecture MCV : Si on veut changer de « support » pour mémoriser les données, on a seulement à modifier le contenu des fonctions qui réalisent les actions Toutes les interfaces Homme-Machine (IHM) d’aujourd’hui sont fait ainsi De nombreux frameworks / environnements de développement (EDI / IDE) imposent ce type d’architecture  passage au développement pour les nouveaux appareils (Android / iOS) EDI = environnement de développement intégré IDE = integrated development environment IHM = interface Homme-Machine Framework = ensemble cohérent de composants logiciels organisés pour structurer l’architecture des programmes ↪ voir http://tiprof.fr/Essais-php-js/reg-exp/http://tiprof.fr/Essais-php-js/reg-exp/ et http://tahe.developpez.com/web/php/mvc/?page=page_1http://tahe.developpez.com/web/php/mvc/?page=page_1

37 Fonctions et classes PHP pour MySQL ↪ voir http://tiprof.fr/PHP-mySQL/Travaux%20Dirig%C3%A9s/TD3-PHP-mySQL/http://tiprof.fr/PHP-mySQL/Travaux%20Dirig%C3%A9s/TD3-PHP-mySQL/ Plusieurs bibliothèques (ou familles de fonctions) permettent à PHP de communiquer avec MySQL. Par exemple : mysql_connect()  est « déprécié aujourd’hui » mysqli_connect()  ne se connecte qu’à MySQL est orienté objet MDB2::connect()  est orienté objet, permet de travailler avec MySQL ou postgre-SQL ou… peut nécessiter une installation spécifique pour PHP new PDO()  est orienté objet permet de travailler avec MySQL ou postgre-SQL ou… est fourni directement avec les dernières version de PHP

38  Les objets dans PHP (4 et 5)

39 Objet : exemple du point (x,y) 2 variables séparées (« scalaires ») : float x, float y; Des structures de données : array(x,y) struct { float x, float y } struct { float x, float y, string nom } + des fonctions comme - définir un point - déplacer un point - supprimer un point  Une structure pour des valeurs ET des « méthodes » + héritage La structure n’est pas la valeur ➙ Le constructeur réserve la mémoire et initialise ➙ Le destructeur libère la mémoire ➙ Un véhicule est un engin à roues permettant de se déplacer ➙ Une voiture est un véhicule à 4 roues … struct point { float x; float y; string nom; } var p = (point) (2,3,’A’); pas en PHP

40 Utilisation des objets dans PHP http://php.net/

41 Définition d’une classe et Instance http://php.net/

42 QCM inspiré des questions des fiches de TD de tiprof http://tiprof.fr/PHP-mySQL/Travaux%20Dirig%C3%A9s/TD3-PHP-mySQL/


Télécharger ppt "APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen."

Présentations similaires


Annonces Google