Ce cours a pour but de proposer une introduction au développement d'applications web. Notamment, il présente des techniques et langages de développement actuels, que ce soit en backend ou en frontend. L'accent sera mis en particulier sur les points suivants :
Ce choix de technologies reflète les tendances du moment en termes de weberies, cf.
un bref historique du web.
Le module est évalué en contrôle continu intégral sur la base suivante :
Note finale = 60% examen final + 20% mini-interros + 20% note de TP.
L'objectif des TPs est de développer un forum permettant aux étudiants et aux enseignants d'échanger sur des sujets relatifs aux cours proposés dans le département informatique. Ce forum reproduira l'aspect de la capture d'écran ci-dessous :
À titre d'entraînement, vous pouvez y accéder avec les logins/passwords disponible sur AMeTICE via l'URL : https://christophe-gonzales.pedaweb.univ-amu.fr/extranet/forum/fr-FR.
Le forum sera développé en PHP pour le backend et en Angular pour le frontend.
session_start()
n'a pas été exécutée. La
deuxième est plus subtile : vous avez appelé votre backend avec
l'adresse 127.0.0.1
pour l'authentification et avec
localhost
pour la page des cours (ou inversement). Il
peut alors arriver, dans certains systèmes d'exploitation, que
localhost
ne soit pas associé à l'adresse 127.0.0.1
.
Dans ce cas, votre serveur web écoute les 2 adresses mais considère
que, pour les sessions, il s'agit de 2 serveurs différents et, donc,
la session initiée lors de l'authentification n'est pas la même que
celle utilisée pour la page des cours. Afin de pallier ce problème,
dans tous vos scripts, utilisez le même serveur :
127.0.0.1
. La dernière raison qui peut empêcher vos cookies
d'être utilisés correctement est l'utilisation du protocole http plutôt
que https. Le protocole http n'est pas sécurisé (toutes les informations
circulent sans chiffrement sur le réseau) et ne devrait pas être
utilisé d'une manière générale dans les applications web. Mais il est plus
simple à mettre en place que le https et, si l'on ne travaille qu'en local
sur sa machine, c'est parfaitement suffisant. Une règle de sécurité à laquelle
se conforment certains browsers comme chrome interdit la transmission de
cookies sur des connexions non sécurisée (donc, ici, en http) sauf si l'url
du serveur est précisément 127.0.0.1
. Or, même si
localhost
est un alias de 127.0.0.1
, ce n'est pas
la même chaîne de caractère et, donc, ces browsers ne permettent pas la
transmission de cookies sur des urls telles que http://localhost/...
et il faut donc vraiment utiliser des urls http://127.0.0.1/...