Table of Contents

Le programme du cours

Voici la version originale du cours, qui diffère un peu de ce qui a été enseigné au final (voir la page du cours).

Mardi

  1. presentation du projet Mozilla, petit historique, génèse des technologies Mozilla
  2. hacker Mozilla : coup d'oeil sur le fonctionnement du projet, son architecture…
  3. liens documentation, outils d'aide au developpement, IRC
  4. architecture de Gecko, présentation des différentes technologies (XUL, XPCOM, XBL …)
  5. architecture d'une application XUL et d'une extension
  6. modèle de sécurité de Gecko, le contexte chrome et non-chrome, les urls chrome
  7. structure d'une extension
  8. structure d'une application XulRunner
  9. preparer son environnement de développement
  10. le langage XUL : ses principaux élements, son modèle de boîte
  11. overlays XUL

Mercredi

  1. scripting : javascript (la glue), XPCOM, utilisation du DOM…
    1. rappel sur le langage javascript ?
  2. spécifité JS de Mozilla (JS 1.6 à 1.8)
  3. Interaction avec l'utilisateur
    1. évènements DOM (souris, clavier…)
    2. raccourci clavier
  4. communication dans l'interface, et communication inter-composants
    1. broadcasters, commandes, controleurs de commandes
    2. observer services

TD l'après midi (3h) : développement d'une extension simple

  1. squelette de l'extension
  2. intégration d'un bouton dans la toolbar de firefox
  3. affichage d'une fenetre
  4. affichage d'une liste de données, et boutons pour ajouter ou retirer

des données dans la fenêtre

Jeudi

  1. XBL
  2. les modules javascript
  3. XPCOM
    1. Architecture
    2. IDL
    3. Utiliser un composant XPCOM
    4. Développer un XPCOM en javascript
    5. Coup d'oeil sur les XPCOM en C++, une ouverture vers l'exterieur
  4. Les differentes API (fichiers, URL..)

TD l'après midi (3h) : développement d'un composant XPCOM pour l'extension, qui:

  1. stocke les données dans un DOM en mémoire ou dans un fichier
  2. propose des méthodes pour mettre à jour les données.

Vendredi

  1. composants du toolkit
  2. localisation
  3. thèmes et design avec CSS, spécificité CSS de Mozilla
  4. L'interface de Firefox à coeur ouvert
  5. Système de mise à jour
  6. Animations, son, video dans vos applications (html5)

TD l'après midi, amélioration de l'extension (3h):

  1. intégration du composant XPCOM dans l'extension
  2. utilisation d'un template pour l'affichage des données
  3. localisation
  4. packaging et fichiers de mise à jour.