SUPPORTS ET DOCUMENTS DE COURS
Développement Web avancé L2
(Faculté des Sciences d'Angers)
gilles.hunault "at" univ-angers.fr
Documents à consulter
- [GH] tuteur PHP ;
- Quick PHP ;
- Function list ;
- skinny Sheet ;
Documents à relire et/ou à imprimer
- [GH] sensibilisation aux pages Web ;
- [GH] tuteur pour le logiciel MySQL ;
- [GH] tuteur pour le langage Javascript ;
- [GH] tuteur pour la technologie AJAX ;
- tout XHTML en une page
- tout CSS niveau 1 en deux pages
- tout CSS niveau 2 en deux pages
- XHTML et CSS en détail
- panneaux XHTML/CSS
Ce que vous devez avoir retenu du cours numéro 1
PHP est un langage de programmation qui s'exécute du coté serveur. On peut l'utiliser en ligne de commande (si on a accès au serveur en mode terminal) ou via un navigateur à l'aide du protocole http. C'est un langage non typé explicitement (la plupart du temps, on n'a pas besoin de déclarer les variables) qui est interprété (non compilé). Comme dans tout langage de programmation, on peut manipuler des variables simples, des tableaux, des chaines de caractères. Il y a bien sûr des instructions de tests et de boucles. Les tableaux associatifs sont des tableaux dont les indices peuvent être des chaines de caractères.
Il est d'usage d'écrire des "petites" fonctions en PHP car le fait de disposer de valeurs par défaut simplifie la production de code répétitif, comme c'est le cas quand on produit des pages Web. Les "super-variables" $_GET et $_POST qui sont des tableaux associatifs permettent de gérer les valeurs transmises par les formulaires quand les éléments sont nommés (attribut name des éléments de formulaire).
Il est conseillé de savoir parcourir le manuel de référence PHP pour approfondir le langage PHP.
Pages à lire et à étudier 1. variables ; 2. tests, boucles ; 3. fonctions, tableaux ; 4. formulaires.
Ce que vous devez avoir retenu du cours numéro 2
Une fois le langage de base de PHP maitrisé, il est d'usage de recourir à des bibliothèques de fonctions, déjà intégrées au langage, comme la gestion des bases de données MySQL ou des bibliothèques personnelles, comme notre système FTM (Function Tag Mapping) ou «PHP conceptuel». Le but est de produire du code concis, lisible et qui génère rapidement des pages claires dont le code HTML est "propre".
Si un programmeur "bourin(e)" et/ou fainéant(e) peut produire des milliers de code à la va-vite, sans doute mal testées, mal documentées, un bon programmeur, une bonne programmeuse prend son temps pour justifier les choix d'implémentation, pour recenser et tester tous les cas possibles ; il/elle met en place des systèmes de documentation pour que les programmes puissent évoluer, être maintenus, relus, améliorés au fil des ans. Ainsi, à cause de PHP 5.3, on viendra utiliser des fonctions non deprecated pour avoir un code robuste, on utilisera les directives de gestion d'erreur maximales en mode développement et dans tous les cas, on privilégiera la lisibilité à la facilité d'écriture, ce qui implique d'en passer par des expressions régulières bien explicitées, des tableaux associatifs judicieux, des fichiers de configuration ou de structure ou des bibliothèques de fonctions et de classes d'objets.
Pages à lire et à étudier 5. php conceptuel ; 6. tables mysql ; 7. documentation ; 8. fichiers.
Ce que vous devez avoir retenu du cours numéro 3
PHP n'est pas un langage à objets ni orienté objets à la base mais il offre la possibilité de définir des classes d'objets et de les instancier. A défaut de définir soi même des classes d'objets comme notre table des matières cliquable, il est possible d'utiliser des classes d'objets chargés à partir de fichiers-sources, telles que la librairie graphique JPGRAPH ou un système de génération de PDF avec FPDF, TCPDF, la lecture de fichiers Excel avec php-excel-reader...
Il est également possible d'exécuter des commandes systèmes et des programmes, comme le montrent les pages affichette et lagrange.
Le passage de petits programmes de quelques dizaines de lignes à l'écriture d'un site complet avec utilisation intensive de XHTML et CSS, Javascript, MySQL et parfois l'interfaçage avec d'autres langages comme le langage R pour notre LEADB oblige à une réflexion et à une structuration à la fois logique (quels sous-programmes ?) et physique (dans quels fichiers ?) du code PHP qui peut être parfois très long.
Pages à lire et à étudier 9. objets ; 10. jphistopct ; 11. lit.xls ; 12. ecrit.pdf.
Ce que vous devez avoir retenu du cours numéro 4
Un site Web d'importance requiert au moins cinq langages : XHTML, CSS, Javascript coté client et PHP (ou équivalent), MySQL (ou assimilé) coté serveur. Comme il n'est pas possible pour un seul programmeur de tout faire dans tous les sens, des solutions logicielles ont été trouvées. Ainsi l'ORM masque le code SQL sous des appels-objets en PHP, les systèmes de templates comme smarty ou twig font que les designers écrivent la partie XHTML et CSS avec des références à des variables que les développeurs PHP gèrent sans s'occuper du rendu, l'URL rewriting permet de disposer d'une gestion uniforme des URI à traiter...
Du coté des interactions avec l'utilisateur, des biblothèques de code Javascript comme Prototype, Jquery font que le code PHP peut déléguer la gestion des événements utilisateurs au navigateur. De plus, la technologie AJAX permet de mettre à jour une page Web "en temps réel" sans avoir à la recharger. Enfin, des systèmes complets clés en main nommés frameworks comme par exemple Cakephp permettent de disposer d'une architecture de développement normalisée pour profiter de REST et du patron de conception MVC (ou assimilé). En d'autres termes, le développement Web professionnel a ses règles et ses outils qu'il faut connaitre, même si leur apprentissage et leur mise en pratique est parfois long...
Si ce cours a mis en avant PHP, ce n'est pas le seul langage de script ni le seul langage à utiliser des frameworks. Ainsi Perl, Python et Ruby sont des concurrents remarquables, de même que les frameworks Rails et Django, mais ceci est un autre cours, tout comme XML comme seul langage de communication d'informations, ce qui inclut XHTML, mais vous le saviez certainement...
Retour à la page principale de (gH)