Académique Documents
Professionnel Documents
Culture Documents
TECHNOLOGIES WEB
Chapitre 1 : Généralités sur les technologies Web
1. Historique
L’internet tel que nous le connaissons à l'heure actuelle est radicalement différent de ce qu'il
était au début. Si aujourd'hui on peut discuter avec un(e) ami(e) sur Facebook, regarder une vidéo
sur Youtube ou trouver un endroit sur Google Maps ; dans la toute première version du web avec
le HTML 1.0 ; il n'était même pas possible d'afficher des images ! Depuis, le Web a évolué
rapidement et plusieurs phases se sont succédées avant d’obtenir les applications en ligne comme
celles que l’on utilise aujourd’hui.
Le web a été créé en 1989 comme application de partage d'informations puis est devenu une
plate-forme à part entière sur laquelle sont développées régulièrement des nouvelles technologies.
2. Description du fonctionnement
HTTP (abrégé de HyperText Transfer Protocol) est le protocole sous-jacent du web. Cette
convention définit comment les messages sont formatés et transmis et comment le serveur HTTP
ainsi que le navigateur web doivent réagir aux messages.
• Textuel : toutes les commandes qui sont échangées sont du texte pouvant être lu par un
humain.
HTTP fournit des règles claires qui indiquent comment un client et un serveur communiquent.
Sur un serveur web, le serveur HTTP est responsable du traitement des requêtes reçues et
de leurs réponses.
4. Le Client Web
Les clients sont principalement les navigateurs web qui permettent de présenter les documents
et applications web à l'utilisateur.
Il existe de nombreux navigateurs, dont les plus utilisés sont Mozilla firefox, Google
Chrome, Internet Explorer ou encore Opera.
Ces navigateurs implémentent tout ou parties de normes définies principalement par le W3C
(World Wide Consortium) :
Pour la représentation sémantique des documents, un langage à balise dans lequel des
portions du document sont délimitées entre des balises comme <body> pour le marqueur de
début ou </body> pour marquer le corps du document ou <p> pour marquer le début d'un
paragraphe.
Les styles CSS, pour feuilles de style en cascade, permettent de définir l’aspect d'une page
et de ses éléments par un ensemble de propriétés (position, taille, couleurs, bordures, polices,
visibilité…), en fonction de certains paramètres comme la taille ou la nature du support associé,
ou de l'état de ces éléments, si la souris est positionnée sur un élément il est par exemple
possible de changer son aspect.
- Greffons
Les navigateurs Web incluent des possibilités d'extensions sous la forme de greffon leur
permettant notamment d'afficher des documents de types différents de ceux prévus par les
standards du web ; par exemple les documents pdf, notamment avec le populaire plug-in inclus
dans Acrobat Reader
5. Le serveur Web
Le web est utilisé comme une plate-forme technique pour permettre la manipulation
d'applications hébergées sur des serveurs web
Dans de telles applications, les programmes ainsi que les données résident sur un serveur
web - contrairement aux applications classiques qui résident sur l'ordinateur de l'utilisateur
Pour les développeurs, la mise à disposition d'une application hébergée sur un serveur web est
beaucoup moins coûteuse que le fait de graver un CD et de l'envoyer en grande distribution.
Chapitre 2 : HTML5
1. Le Web parle HTML
HTML est le langage universel utilisé pour communiquer sur le Web. Votre information sera
ainsi transportée sur cette gigantesque toile de réseaux interconnectés qu'est Internet, pour aboutir
sur l'ordinateur de votre lecteur grâce à un programme appelé navigateur ou browser.
• HTML est un langage universel qui s'adapte à toutes les plateformes que ce soit Windows,
Macintosh, Unix, OS/2...
• Ses instructions seront différenciées de votre texte par les signes < et > par exemple. Ces
"instructions" s'appellent des tags ou des balises.
Quand vous écrirez les balises de votre page HTML, il faudra garder à l'esprit :
• Qu’une balise marque une action pour le browser (ce qu'il doit faire...).
• Que les attributs précisent les modalités de cette action (comment il doit le faire...)
• D’un éditeur de texte tout simple comme par exemple le Bloc-notes ou Notepad de Windows
ou tout autre équivalent dans votre système d'exploitation (VS code)
• D’un navigateur comme Google Chrome
• Les titres HTML sont définis à l'aide des balises <h1> à <h6>.
• <h1> définit la rubrique la plus importante. <h6> définit l'intitulé le moins important :
• L'attribut HTML style est utilisé pour ajouter des styles à un élément, tels que la couleur, la
police, la taille, etc.
• Le style d'un élément HTML peut être défini à l'aide de l'attribut style.
• Exemple de couleur de fond :
• Vous pouvez ajouter des commentaires à votre source HTML en utilisant la syntaxe suivante :
• Remarquez qu'il y a un point d'exclamation (!) dans la balise de début, mais pas dans la balise
de fin.
• Par défaut, la page liée s'affiche dans la fenêtre actuelle du navigateur. Pour changer cela, vous
devez spécifier une autre cible pour le lien.
• L'attribut cible indique où ouvrir le document lié.
• Cellules du tableau
Chaque cellule du tableau est définie par une balise <td> et </td>.
• Chaque ligne du tableau commence par une balise <tr> et se termine par une balise </tr>.
• En-têtes de tableau
Parfois, vous souhaitez que vos cellules soient des cellules d'en-tête de tableau. Dans ce cas,
utilisez la balise <th> au lieu de la balise <td> :
3.8. Les listes HTML
Les listes HTML permettent aux développeurs web de regrouper un ensemble d'éléments
connexes dans des listes.
• Liste HTML non ordonnée
Une liste non ordonnée commence par la <ul> balise. Chaque élément de la liste commence par
la balise <li>.
• L'élément <div> est souvent utilisé comme conteneur pour d'autres éléments HTML.
• L'élément <div> n'a pas d'attributs obligatoires, mais style, class et id sont communs.
• Utilisé avec le CSS, l'élément <div> peut être utilisé pour donner du style à des blocs de
contenu :
• L'attribut HTML id est utilisé pour spécifier un identifiant unique pour un élément HTML.
• Vous ne pouvez pas avoir plus d'un élément avec le même id dans un document HTML.
• L'attribut id est utilisé pour pointer vers une déclaration de style spécifique dans une feuille de
style.
• Il est également utilisé par JavaScript pour accéder et manipuler l'élément avec l'id spécifique.
Exercice
Réalisez la figure ci-après en utilisant l’attribut class en premier temps, puis l’attribut id
3.12. Formulaires HTML
Un formulaire HTML est utilisé pour recueillir les données de l'utilisateur. Le plus souvent, ces
données sont envoyées à un serveur pour être traitées.
L'élément <form>
L'élément HTML <form> est utilisé pour créer un formulaire HTML pour la saisie par
l'utilisateur :
• L'élément <form> est un conteneur pour différents types d'éléments de saisie, tels que : les
champs de texte, les cases à cocher, les boutons radio, les boutons d'envoi, etc.
L'élément <input>
• L'élément HTML <input> est l'élément de formulaire le plus utilisé.
Un élément <input> peut être affiché de plusieurs façons, en fonction de l'attribut type.
Champs de texte
• Le champ <input type="text"> définit un champ de saisie d'une seule ligne pour la saisie de
texte.
• La balise <label> définit une étiquette pour de nombreux éléments de formulaire.
• L'élément <label> est utile pour les utilisateurs de lecteurs d'écran, car ces derniers liront à
haute voix l'étiquette lorsque l'utilisateur se concentrera sur l'élément de saisie.
• L'attribut for de la balise <label> doit être égal à l'attribut id de l'élément <input> pour les lier
ensemble.
Boutons radio
• L'option <input type="radio"> définit un bouton radio.
• Les boutons radio permettent à l'utilisateur de sélectionner UN choix parmi un nombre limité
d'options.
Checkboxes
CSS est le langage que nous utilisons pour donner du style à une page Web.
2. Syntaxe du CSS
• Une règle CSS se compose d'un sélecteur et d'un bloc de déclaration.
• Le sélecteur pointe vers l'élément HTML que vous voulez styliser.
• Le bloc de déclaration contient une ou plusieurs déclarations séparées par des points-virgules.
• Chaque déclaration comprend un nom de propriété CSS et une valeur, séparés par deux points.
Exemple
Dans cet exemple, tous les éléments <p> seront alignés au centre, avec une couleur de texte
rouge :
• p est un sélecteur en CSS (il pointe vers l'élément HTML que vous voulez styliser : <p>).
• color est une propriété, et le rouge est la valeur de la propriété
• text-align est une propriété, et center est la valeur de la propriété.
3. Sélecteur CSS id
• Le sélecteur id utilise l'attribut id d'un élément HTML pour sélectionner un élément spécifique.
• Pour sélectionner un élément avec un id spécifique, écrivez un caractère dièse (#), suivi de l'id
de l'élément.
Exemple
La règle CSS ci-dessous sera appliquée à l'élément HTML avec id="para1" :
• Le sélecteur de classe sélectionne les éléments HTML ayant un attribut de classe spécifique.
• Pour sélectionner des éléments ayant une classe spécifique, écrivez un point (.), suivi du nom
de la classe.
Exemple
Dans cet exemple, tous les éléments HTML avec class="center" seront rouges et alignés au centre
:
5. Le sélecteur universel CSS
• Le sélecteur universel (*) sélectionne tous les éléments HTML de la page.
Exemple
La règle CSS ci-dessous affectera chaque élément HTML de la page :
• Le sélecteur de regroupement sélectionne tous les éléments HTML ayant les mêmes définitions
de style.
Exemple
Dans cet exemple, nous avons regroupé les sélecteurs :
Le module de mise en page CSS Grid offre un système de mise en page basé sur une grille, avec
des lignes et des colonnes, ce qui facilite la conception de pages Web.
Une grille de mise en page se compose d'un élément parent, avec un ou plusieurs éléments
enfants.
7.2. Propriété d’affichage
Un élément HTML devient un conteneur de grille lorsque sa propriété display est définie sur grid
ou inline-grid.
8. Le Responsive design
La conception Web réactive consiste à créer des pages Web qui s'affichent bien sur tous les
appareils.
Un site web réactif s'adapte automatiquement aux différentes tailles d'écran et aux fenêtres
d'affichage.
Pour créer un site web réactif, ajoutez la balise <meta> suivante à toutes vos pages web :
Sans la balise meta viewport : Avec la balise meta viewport :
• Images responsives
Si la propriété CSS width est définie sur 100 %, l'image sera réactive et s'adaptera à la hauteur et
à la profondeur :
Si la propriété max-width est définie sur 100 %, l'image sera réduite si nécessaire, mais ne sera
jamais agrandie pour dépasser sa taille d'origine :
Exemple
Chapitre 4 : Javascript
1. C’est quoi le Javascript ?
2. Utilisation du Javascript
<script>
alert("Bonjour le monde") ;
</script>
• Javascript dans <head> ou <body>
• Utilisation de innerHTML
o Pour accéder a un élément HTML, le JavaScript utilise la méthode
document.getElementById(id)
o L'attribut id définit l'élément HTML.
• En utilisant console.log()
À des fins de débogage, vous pouvez appeler la méthode console.log() dans le navigateur
pour afficher les données.
2.5. La syntaxe JavaScript
La syntaxe JavaScript est l'ensemble des règles, comment les programmes JavaScript sont
construits :
Le code après les doubles slashs // ou entre /* et */ est traité comme un commentaire.
Les variables doivent (devraient) être déclarées avec le mot-clé var, let ou const.
3. Si vous voulez une règle générale : déclarez toujours les variables avec const.
4. Si vous pensez que la valeur de la variable peut changer, utilisez let
2.5.5. Opérateurs d'assignation JavaScript
Exercice
Quels sont les types de variables utilisées au niveau des commentaires, donnez une description:
2.5.7. Les fonctions JavaScript
Exemple
Calcule le produit de deux nombres, et renvoie le résultat :
• Quel est le résultat final de x ?
Exercice
Ecrire une fonction qui prend une température en degré Celsius et le convertit en Fahrenheit.
Le résultat doit être affiché sous forme d’alerte.
• Un tableau peut contenir plusieurs valeurs sous un seul nom, et vous pouvez accéder aux
valeurs en vous référant à un numéro d'index.
Exercice
Décrire et expliquer à l’aide d’un exemple, l’utilisation des méthodes suivantes :
Map, filter, reduce.
2.5.8. Les Objets JavaScript
Dans la vie réelle, une voiture est un Objet et une voiture a des propriétés telles que le poids,
la couleur etc.
• Les objets sont également des variables mais les objets contiennent plusieurs valeurs
• Exemple d’un objet personne
ou
nomObjet["nomDeLaProprietee"]
let firstName = person["firstName"]
• Les objets peuvent aussi avoir des méthodes.
• Les méthodes sont des actions qui peuvent être exécutées sur des objets.
• Les événements HTML sont des "choses" qui arrivent aux éléments HTML.
• Lorsque JavaScript est utilisé dans les pages HTML, il peut "réagir" à ces
événements.
• Voici quelques exemples d'événements HTML :
o Le chargement d'une page web HTML est terminé
o Un champ de saisie HTML a été modifié
o Un bouton HTML a été cliqué
• La syntaxe est la suivante :
Exemple
• Événements HTML courants
Événement Description
onchange Un élément HTML a été modifié
onclick L'utilisateur clique sur un élément HTML
onmouseover L'utilisateur déplace la souris sur un élément
HTML
onmouseout L'utilisateur éloigne la souris d'un élément
HTML.
onkeydown L'utilisateur appuie sur une touche du clavier
onload Le navigateur a fini de charger la page
Chapitre 5 : Patterns et technologies du Web 2.0
1. Architectures orientées services
• Le serveur de base de données (Database Server) : Ce serveur contient les tables, les index
et les données gérés par l'application. Les recherches et les opérations
d'insertion/suppression/mise à jour sont exécutées ici.
• Mise sur le marché accélérée et plus grande flexibilité : le caractère réutilisable des
services facilite et accélère le regroupement des applications. Les développeurs ne doivent
plus repartir de zéro à chaque fois, comme c'est le cas pour les applications monolithiques.
• Utilisation de l'infrastructure existante sur les nouveaux marchés : grâce à l'architecture
SOA, les développeurs peuvent plus facilement étendre et mettre à l'échelle les
fonctionnalités d'une plateforme ou d'un environnement.
• Coûts réduits grâce à une meilleure agilité et à un développement plus efficace
• Maintenance facilitée : les services étant autonomes et indépendants, ils peuvent être
modifiés et mis à jour autant que nécessaire, sans affecter les autres services.
• Une API REST (REpresentational State Transfer) est une interface de programmation
d'applications qui adhère aux contraintes du style architectural REST et permet l'interaction avec
des services web RESTful. Les réseaux interconnectés constituent le web.
•
• Un service web est un ensemble de protocoles et de normes ouverts utilisés pour échanger des
données entre des applications client-serveur. Les services web qui suivent l'architecture REST
sont connus sous le nom de services web RESTful.
• Les applications logicielles écrites dans divers langages de programmation et fonctionnant sur
diverses plates-formes peuvent utiliser les services web pour échanger des données sur des
réseaux informatiques tels que l'internet, d'une manière similaire à la communication
interprocessus sur un seul ordinateur.
2. Les Web services avec NodeJS (Express)
2.1. Mise en place d’un serveur Web
Le serveur HTTP est au cœur de votre service Web. L'exemple de code figurant dans ce guide
gère les requêtes HTTP à l'aide du framework Express.js
• Créez un fichier nommé server.js dans le même dossier et ajoutez le code suivant :
• Il s'agit d'un serveur Web très basique qui répond à toutes les requêtes GET envoyées au
chemin racine ('/') avec le texte "Hello from App Engine!"
• Notez que si process.env.PORT n'est pas défini, le port 8080 est utilisé par défaut.
• Cela est nécessaire pour tester l'application localement, car la variable
d'environnement process.env.PORT n'est pas définie pendant les exécutions locales.
Vous pouvez imprimer les objets req et res qui fournissent de nombreuses informations relatives
aux requêtes et réponses HTTP, notamment les cookies, les sessions, les URL, etc.
Execution
1. Exécutez npm start dans votre terminal. Cela exécutera le fichier server.js.
2. Dans votre navigateur Web, accédez à l'URL http://localhost:8080.
Maintenant que vous avez créé un serveur Web Node.js simple, qui écoute le port approprié, vous
pouvez ensuite spécifier un environnement d'exécution dans un fichier app.yaml et vous êtes prêt
à déployer votre service sur App Engine de Google Cloud.
Le routage consiste donc à déterminer comment une application répond à une demande du
client vers un point de terminaison particulier, qui est une URI (ou un chemin) et une méthode de
demande HTTP spécifique (GET, POST, PUT, etc.).
Exemples
Exercice
Créer un web service qui permet de lister, créer, supprimer et modifier les utilisateurs. Vous
pouvez notamment utiliser une base de données MongoDB ou simplement simuler en utilisant
un fichier JSON, POSTMAN peut être utiliser pour le test de votre Web service.
Conçue pour contenir une grande collection d'informations organisées auxquelles peuvent
accéder plusieurs utilisateurs avec une vitesse optimale et des frais de traitement minimes, nous
savons déjà qu'une base de données est un moyen pratique de stocker des informations. Mais
qu'est-ce exactement qu'une base de données Web ?
A web database is essentially a database that can be accessed from a local network or the
internet instead of one that has its data stored on a desktop or its attached storage.
3.1. MongoDB
MongoDB est une base de données documentaire. Elle stocke les données dans un type de
format JSON appelé BSON.
Les enregistrements d'une base de données MongoDB sont appelés des documents, et les
valeurs des champs peuvent inclure des nombres, des chaînes de caractères, des booléens,
des tableaux ou même des documents imbriqués.
Elle peut être installée localement ou hébergée dans le cloud
3.2. Installation
Localement
https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-windows/
Cette commande vous demandera divers détails, tels que le nom de votre projet, l'auteur, le
dépôt, etc. Elle générera ensuite un fichier package.json dans ce dossier.
2. Nous devons maintenant installer quelques dépendances.
Ici,
• Mongoose pour gérer les données dans MongoDB en utilisant diverses requêtes.
• Nodemon pour redémarrer notre serveur à chaque fois que nous sauvegardons notre fichier.
• Dotenv pour gérer un fichier .env.
3. Une fois leur installation terminée, créez un fichier nommé index.js. Ce sera le point d'entrée
de notre application. Le contenu sera le suivant :
’
• Maintenant, le serveur est réglé sur le port 3000. Écrivons le script pour démarrer notre serveur.
• Nous avons également ajouté le fichier app.use. A l'intérieur de celle-ci, nous avons un extrait
de code qui nous permet d'accepter les données au format JSON.
4. Dans le fichier package.json, ajoutez un script qui dit ce qui suit :
• Maintenant, importons le contenu de notre fichier .env dans le fichier script, index.js.
• Maintenant, nous devons envoyer un message de réussite ou d'erreur selon que notre
connexion à la base de données est réussie ou non.