PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Consignes « Il s'agit de réaliser un site Web contenant une page d'acueil et un formulaire séparés pour que les visiteurs puissent enregistrer les données les concernant à imprimer dans une carte de visite générée en format pdf » « Les données entrées doivent être enregistrées dans une base de données mySQL. » « Le code séquençant les actions en fonction des boutons actionnés par le visiteur doit être contenu dans 1 fichier faisant office de programme principal. » « Toutes les actions spécifiques doivent être réalisées par des sous-programmes contenus dans des fichiers de code dédiés. » « L'ensemble des fichiers du site doit être structurellement organisé : ce qui est utile au graphisme, dans un dossier dédié, ce qui est utile à la réalisation des actions associées au formulaire, et plus généralement tous les sous-programmes, doivent être situés dans un dossier dédié. » « Les cartes de visites doivent être prévisualisées en html, puis générées par les fonctions php d'une bibliothèque dédiée selon l'état d'avancement des séances. » Pour que tout le monde suive le cour avec une idee de Ce qu’il y a a retenir (important) Ce qui sera utile au projet (concretement)
Organisation pratique http://tiprof.fr/PHP-mySQL/(1)/org-prat.html http://iihm.imag.fr/delamare/pagora/ William.Delamare@imag.fr Evaluation: « La note sera calculée à partir des travaux rendus qui sont constitués des compte-rendus des séances et de l'accès en ligne au résultat du travail produit. Au fur et à mesure des séances, certains des travaux réalisés en séance doivent être rendus pour la séance suivante sous forme imprimée (recto/verso et éventuellement en noir&blanc à 2 par page). Le dernier travail doit être rendu sous forme imprimée comme pour les 3 autres travaux, mais aussi sous forme électronique : il vous est expressément demandé de constituer une archive avec un dossier contenant l'ensemble de vos fichiers, et de l'envoyer à l'enseignant par courrier électronique au plus tard pendant le WE suivant la dernière séance. » « Attention : le non respect de ces consignes est sanctionné dans la note. De même, toute relance parce que les travaux n'ont pas été rendus dans les temps est aussi sanctionné. » Ce cours s'appuie sur 2 pré-requis : Connaissance et pratique des langages HTML et CSS Bases de programmation (types entiers et chaînes, conditions et boucles, parcours d'un tableau, définition et utilisation de fonctions) Tout le monde ok avec pre-requis ? (Quel langage ?) Quelqu’un ca deja des bases de php ? SQL ? Autre ?
Client / serveur Page web statique Page web dynamique: - Generation de la page a chaque reclamation = dynamique Page web dynamique: Génération du contenu via un langage de script
Client / Serveur Client = html/css (+js) Serveur doit donc générer html/css Outils: php/mySQL (Dans ce cours: pas de RIA Flex/As3, pas de PERL, ni applet Java, ni WebService, etc…) On ne parlera pas de javascript, executable du cote client Pas de RIA Pas d’autre combinaisons (Autre moteur de stockage de donnee, autre langage de script (PERL)…) Php/mysql = grosse communaute active !
Langage de scripts Principes: "calculer" les pages Web qu'un serveur doit renvoyer à un client pour une URL demandée. URL = adresse d’un serveur + désignation d’un fichier Logiciel client demande (click de souris sur des liens, etc…) : envoie d’une requête Serveur envoie le fichier demandé Au départ: envoie du fichier tel qu’enregistré en mémoire (donc duplication, etc…) Maintenant: possibilité de créer à la volée le fichier à renvoyer 2 types de scripts: Côté serveur(avec environnement adapté) Côté client (JavaScript, demande de permission)
Common Gateway Interface CGI = interface de passerelle commune, entre: Le serveur Autre application (SGBD par exemple) Langage: peu importe du moment qu’il peut lire le flux de données d'entrée traiter des chaînes de caractères écrire sur le flux standard de sortie Être exécuter ou interpréter par le serveur Communication CGI/navigateur 1 = requête du client (html, php, exe) 2 = réponse du serveur avec le bon en-tête content-type : text/html content-type : image/gif content-type : text/quicktime
Local / Distant En local: Edition des sources Visualisation Base de test Donc Editeur de fichiers Navigateur (ff, opera…) + serveur local* (Apache, …) Base de donnée Ensuite: Envoie des fichiers sources sur le serveur Donc: - logiciel FTP file:///on/se/fiche/du/chemin (statique) http://localhost/chemin/du/rep/www (dynamique) Explication de chacun des points (logiciel cool, navigateur cool, serveur pour le php, chemin, ranger des fichiers, etc) Local = travail/verif avant publi http://adresse/sur/le/net *: si les fichiers contiennent un langage script
Rappels html Quelques balises utiles pour le cours <p>…</p>: paragraphe <hi>…</hi>: titre (important i = 1, moins important i = 6) <center>…</center>: centrer « … » <i>…</i> : « … » en italique (gras si <b>) <a href=« … » >…</a> Et encore mieux: http://www.codeshttp.com/baliseh.htm Quelques règles (les miennes) Pas de style dans les fichiers html (<td style=« … ») <A completer au fur et a mesure>
Rappels html: tableaux - Le CSS vous permettra de rendre le tableau plus présentable Bordures Couleurs Centrer/justifier le texte Etc Tr = raw Td = cellule
Rappels html: tableaux Tr = raw Td = cellule
Rappels html: formulaires Balise <form>…</form> Attributs: method post get Différences Des valeurs passées par GET se voient dans l’URL ex: http://maPage.php?val1=huhu&val2=hehe GET limité en taille (255 caractères) Action: Ce qu’il se passe après la validation Script php, perl, … envoie d’un mail Etc Penser a mettre une url pour que les etudiants puissent voir le fichier… Exemple complet: (source et résultat) file:///Users/admin/Documents/Vacations/pagora/cours/ex_form.html http://iihm.imag.fr/delamare/pagora/exemples/ex_form.html
TD1 Création d’une page index.html La visualiser en http://localhost/… Création d’un formulaire (On pourra directement mettre l’extension .php) Champs ?