Désolé d'être un peu direct mais le plan en l'état est beaucoup trop dogmatique pour être évalué.
Idem dans tes commentaires d'ailleurs, pour avoir bouffé de l'AJAX et des websockets à en vomir (les deux) je ne vois pas en quoi la notion de web-application est liée à l'une ou l'autre des technos. Les deux techniques sont totalement complémentaires. Mettre en place des websockets a un coût non négligeable côté serveur, faire du pub-sub aussi en fonction du modèle de données, utiliser des websockets sous prétexte que c'est neuf et moins "lourdingue" c'est à la fois faux et sans doute une mauvaise idée dans la plupart des cas :\
S'engager en disant que "l'avenir c'est X". C'est très dangereux. Il existe le SSE qui est une bonne alternatives aux websockets dans certains cas, HTTP2 est de plus en plus implémenté et surtout, les APIs REST sont encore et toujours utilisées en tant que fournisseur de service.
"L'avenir c'est Meteor", ouais mais non, c'est trop réducteur pour un cours sur le web.
Je suis pas certain non plus qu'envisager l'aspect dynamique comme ça soit la meilleure approche. Pour moi, un serveur web c'est un serveur qui remplit un tuyau avec du texte quand on le lui demande. En gros, on lui envoie un message, il répond par du texte. Donc par essence, il est dynamique, il envoie du contenu tel qu'il l'a décidé. Après, il s'avère que ce tuyau, il peut le brancher sur le système de fichier qu'il a chez lui, tant mieux, ça permet de gérer l'aspect statique. Enfin, un serveur étant un programme comme un autre, on peut lui dire que pour répondre à une certaine demande, il peut évaluer un script, un programme, un bout de code.
De l'autre côté, je ne vois pas du tout le côté "client". Tu parles de l'évolution d'HTML sans vraiment qu'on sache ce que c'est (jusque là tu as parlé soit de protocole, soit du serveur).
Selon moi, PHP n'est peut-être pas le meilleur exemple pour vraiment comprendre comment fonctionne HTTP. Je me demande si partir depuis nodejs ou du CGI même, bref un truc qui "parle" HTTP directement me semble beaucoup plus instructif. T'as reçu quoi dans le tuyau ? Tu le décortiques, tu réponds par du bête texte, il affiche quoi le navigateur ? Ah, et si maintenant tu expliques au navigateur comment il peut mettre en forme le texte il se passe quoi ? Ah, et si maintenant tu lui dis explicitement comment il doit l'afficher il se passe quoi ? Et si tu lui envoies un code d'erreur ? etc.
Donc à mon sens, sois moins dogmatique, moins orienté, prends du recul sur le pourquoi du comment le web fonctionne pour que ton tutoriel soit concentré sur le fonctionnement du web et pas un état de l'art d'une toute petite portion des technos webs.
Bon courage, c'est un gros morceau mais y'a moyen de faire un très bon cours.
PS : ce que tu appelles "l'avenir", c'est juste une toute petite partie d'un effet de mode. L'effet de mode en question c'est de se détacher des frameworks clef en main pour se rapprocher d'HTTP "brut de décoffrage". Là où RoR, Django ont été en pleine hype à un moment, aujourd'hui c'est node, sinatra, flask, finagle/finatra, etc. Dire que c'est l'avenir ? Rien n'est moins sûr. On aurait pu dire "RoR c'est l'avenir", aujourd'hui certains en reviennent, parce que pour un certain usage ça n'allait pas (alors que pour d'autres c'était excellent). Il faut se méfier des tendances et savoir prendre ce qu'il y a de bon dedans.