Les technologies du Web
- Présentation des types de navigateurs et leur 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
- Déclaration et portée des variables.
- Types de données (Number, Boolean, Date, Math, String, Array). Typage et 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. Usage des mots réservés prototype, this. Création d'instance. Usage d'Object sur les classes dynamiques. Extension des objets prédéfinis.
- Utilisation du format JSON pour la création de classes.
- Les objets prédéfinis du langage (Array, Date, Math, String, Regexp ...) et leur utilisation.
Exercice
Mise en oeuvre 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.
- Comment programmer des écouteurs sur des événements par programme, par paramétrage des balises HTML. Règles pour faire un codage multinavigateur.
- Créer, détruire des écouteurs.
- Les traitements événementiels JavaScript : gestionnaires clavier, souris, événements liés aux 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, manipulation de combobox, textarea.
- 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 (CSS-1, CSS-2), 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 analyseurs XML (parseurs) chez Microsoft IE et les autres : variantes entre les navigateurs, problématique de la maintenance.
- Manipulation des objets du DOM (lecture, ajout, suppression, modification de noeuds).
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.