Les technologies du Web
- Présentation des types de navigateurs. Impact sur la portabilité des programmes JavaScript. Versions de JavaScript.
- Les composants Web : HTML, XHTML, CSS, JavaScript, Flash, Java... Les protocoles HTTP, HTTPS.
- Impact de JavaScript sur l'accessibilité et le référencement.
- Importance de JavaScript sur les sites Web 2.0. Impact de la conformité XHTML sur l'utilisation dynamique de JavaScript.
- Les outils de développement (éditeur, débogueur...).
- Positionnement et illustration des technologies DHTML.
Le langage JavaScript
- La norme ES6+
- Déclaration et portée des variables.
- Types de données (Number, Boolean, Date, Math, String, Array). Conversion de type. Détection de type avec typeof.
- Gestion des tableaux. Opérateurs logiques et arithmétiques. Boucles (for, while...).
- Création de fonctions et paramétrage variable.
- Faire un codage sécurisé avec la gestion d'erreur et les exceptions.
- Rappels sur les concepts objets. Développement Objet en JavaScript : création de classes (méthodes, propriétés).
- Constructeur. Surcharge. Mots réservés prototype, this. Création d'instance. Usage d'Object sur les classes dynamiques.
- Utilisation du format JSON pour la création de classes.
- Les objets prédéfinis du langage (Array, Date, String, Regexp...) et leur utilisation. Extension des objets prédéfinis.
Exercice
Mise en œuvre des différentes fonctionnalités JavaScript à travers de multiples travaux pratiques.
Evénements et données
- Organisation des événements. Impact des événements sur les types de navigateurs et versions de DOM.
- Positionner des écouteurs sur des événements par programme et paramétrage de balises HTML.
- Règles pour faire un codage multinavigateur.
- Créer, détruire des écouteurs.
- Les traitements événementiels JavaScript : gestionnaire clavier, souris, formulaires, rollover, menus dynamiques.
- L'objet Event et son utilisation.
- Les objets du DOM (window, document...) et leur manipulation.
- Manipulation des URL (redirections http...).
- Gestion des cookies (lecture et écriture).
Exercice
Programmation d'événements multiples sur les éléments formulaire, souris, clavier...
Gestion de formulaires HTML
- Manipulation de contenu de formulaires.
- Accès et modification dynamique des composants du formulaire : zone de saisie, cases à cocher, cases d'options...
- Fonctions de validation de formulaire.
- Evénements liés aux éléments de formulaire : changement, initialisation, clic...
Exercice
Conception de fonctions personnalisées contrôlant les activités de l'utilisateur.
Interaction avec les feuilles de style en cascade
- Rappel sur les feuilles de style en cascade. Les outils pour les manipuler.
- Implémentation des CSS en tant que propriétés des objets du DOM.
- Modification directe des propriétés CSS des objets du DOM.
- Modification de l'objet CSS stylesheets.
- Rendre la page dynamique via le changement des propriétés de style.
Exercice
Réalisation de pages simples afin de se familiariser à l'utilisation de feuilles de style et à leur manipulation à travers JavaScript.
Manipulation du DOM XML
- Présentation du langage XML (éléments attributs).
- Implémentation des parseurs XML chez Microsoft IE et les autres : variantes entre les navigateurs, maintenance...
- Manipulation des objets du DOM (lecture, ajout, suppression, modification de nœuds).
Exercice
Familiarisation à la construction d'un chemin d'accès à un élément du DOM.
Ajax
- Présentation de Asynchronous JavaScript And Xml.
- Enjeux, solutions et alternatives.
- Les bibliothèques du marché.
- HTTP et Ajax : échanges HTTP et l'objet XMLHttpRequest.
Exercice
Récupération de données XML et affichage des données. Interrogation d'une base de données. Création d'un formulaire de connexion.