Menu

Introduction à PHP 7, ECMASCRIPT 6 et VUE.JS par l'exemple - 2019

[Introduction à PHP 7, ECMASCRIPT 6 et VUE.JS par l’exemple] reprend la totalité d’un document précédent [Introduction au langage PHP 7 par l’exemple] et lui ajoute plusieurs chapitres présentant le langage Javascript dans sa version la plus récente ECMAScript 6 ainsi que le framework Vue.js qui permet d’écrire des clients Javascript exécutés par un navigateur et dialoguant avec des serveurs. Le but est d’écrire une application SPA (Single Page Application) de type client / serveur où le client serait écrit en ECMAScript 6 avec le framework Vue.js et le serveur serait l’un des serveurs développés dans la partie PHP 7.

[Introduction au langage PHP7 par l’exemple] présentait les concepts PHP7 suivants :

chap 3 : les bases du langage ;
chap 5 : les classes ;
chap 6 : les interfaces ;
chap 7 : les exceptions et erreurs ;
chap 9 : les traits ;
chap 10 : applications en couches ;
chap 12 : utilisation du SGBD MySQL ;
chap 16 : programmation internet (HTTP, SMTP, POP, IMAP) ;
chap 17 : services web jSON, XML ;
chap 21 : XML ;

Ces chapitres constituent le cours proprement dit. Ils sont illustrés par 13 versions d’une application de calcul d’impôt qui sert de fil rouge à tout le document. Alors que le cours est illustré par des scripts simples, l’exercice d’application met en œuvre des concepts de plus en plus avancés qui font l’intérêt premier de ce document :

chap 4 : versions 1 et 2, implémentation du calcul d’impôt avec des scripts PHP procéduraux classiques ;
chap 8 : version 3, implémentation du calcul d’impôt avec des classes et l’héritage de classes ;
chap 11 : version 4, implémentation du calcul d’impôt avec une architecture en couches [main, métier, dao], des classes et interfaces pour implémenter chaque couche. On introduit ici la notion de programmation par interfaces qui sera conservée dans toutes les versions qui suivent ;
chap 13 : version 5, implémentation du calcul d’impôt avec une architecture en couches [main, métier, dao] et une base de données MySQL. On montre ici que si l’architecture en couches de la version précédente a été bien conçue, alors le changement de couche [dao] se fait sans impact sur les deux autres couches [main, métier] ;
chap 14 et 15 : versions 6 et 7, implémentation du calcul d’impôt avec une architecture en couches et une base de données PostgreSQL. On montre ici que le changement de SGBD se fait quasiment sans impact sur les couches [main, métier, dao], ceci parce que la couche [dao] est isolée du SGBD par la couche [PDO] du SGBD. Changer de SGBD revient à changer la couche [PDO] ;
chap 18 et 19 : versions 8 et 9, implémentation du calcul d’impôt avec une architecture client / serveur jSON et une base de données. Grosso modo, les couches [main, métier, dao, PDO] de l’architecture précédente migrent sur un serveur en une architecture [web, métier, dao, PDO] et côté client on implémente de nouveau une architecture en couches [client, dao] destinée à dialoguer avec le serveur ;
chap 20 : version 10, implémentation du calcul d’impôt avec une architecture client / serveur jSON, une base de données et un serveur de cache Redis. On réutilise l’architecture précédente en y ajoutant un serveur de cache Redis qui permet à l’application serveur d’avoir une mémoire de portée [Application] (commune à tous les utilisateurs), ce que PHP n’a pas nativement ;
chap 22 : version 11, implémentation du calcul d’impôt avec une architecture client / serveur XML, une base de données et un serveur de cache Redis. L’architecture est identique à la précédente mais le serveur envoie du XML plutôt que du jSON ;
chap 23 : version 12, implémentation du calcul d’impôt avec une architecture web MVC (Model – View – Controller), une base de données et un serveur de cache Redis. Le serveur produit indifféremment et à la demande un flux jSON, XML ou HTML. On réutilise l’architecture précédente [web, métier, dao] mais là où la couche [web] était implémentée par un unique script, ici elle est structurée en architecture MVC (Modèle – Vue – Contrôleur) ;
chap 24 : la version 13 est une variante sécurisée de la version 12 ;

[Introduction à PHP 7, ECMASCRIPT 6 et VUE.JS par l’exemple] ajoute les chapitres suivants :

chap 25 : Introduction à ECMAScript 6 à l’aide de courts scripts : les bases, les tableaux, les objets littéraux, les chaînes de caractères, les expressions régulières, les fonctions, les erreurs et exception, les modules ES6, programmation événementielle et fonctions asynchrones, les fonctions HTTP, les classes ;
chap 26 : on y construit trois clients HTTP Javascript du serveur de calcul d’impôt. Deux sont exécutés sous [node.js] et un dans un navigateur ;
chap 27 : introduction au framework [Vue.js]. Cette introduction est faite avec de courts projets d’illustration d’une ou de plusieurs caractéristiques du framework : [les bases, utilisation du framework CSS Bootstrap, gestion des événements, directives [v-model, v-bind], directive [v-for], mise en page d’une vue avec des slots, remontée d’événements dans la hiérarchie des composants, événements indépendants de la hiérarchie des composants, création d’un plugin, requêtes HTTP asynchrones, routage et navigation, gestion des tables HTML, mise à jour d’un composant – utilisation d’une session, utilisation du plugin Vuex],
chap 28 : écriture d’un client [Vue.js] d’une version 14 du serveur PHP 7 de calcul de l’impôt ;
chap 29 : diverses améliorations du client [Vue.js] : amélioration des vues pour mobiles, gestion des URL manuelles, déploiement sur un serveur d’hébergement ;

Le document est destiné à des personnes de niveau débutant ou intermédiaire en PHP, Javascript ou Vue.js.

 

Téléchargements

Le cours tutoriel au format PDF 

L’archive RAR des projets du cours tutoriel  

Ce cours tutoriel écrit par Serge Tahé est mis à disposition du public selon les termes de la Licence Creative Commons Attribution – Pas d’Utilisation Commerciale – Partage dans les Mêmes Conditions 3.0 non transposé.