Cours
Ils sont disponibles sous licence CC by sa (voir les liens sur cette page).
Le programme
Il y a eu 21h de cours et 9h de TD.
Mardi
presentation du projet Mozilla, petit historique, génèse des technologies Mozilla
hacker Mozilla : coup d'oeil sur le fonctionnement du projet, son architecture…
liens documentation, outils d'aide au developpement,
IRC
architecture de Gecko, présentation des différentes technologies (XUL, XPCOM, XBL …)
architecture d'une application XUL et d'une extension
modèle de sécurité de Gecko, le contexte chrome et non-chrome, les urls chrome
structure d'une extension
structure d'une application XulRunner
preparer son environnement de développement
le langage XUL : ses principaux élements, son modèle de boîte
overlays XUL
Mercredi
scripting : javascript (la glue), XPCOM, utilisation du DOM…
rappel sur le langage javascript ?
spécifité JS de Mozilla (JS 1.6 à 1.8)
Interaction avec l'utilisateur
évènements DOM (souris, clavier…)
raccourci clavier
communication dans l'interface, et communication inter-composants
broadcasters, commandes, controleurs de commandes
observer services
TD l'après midi (3h) : développement d'une extension simple
squelette de l'extension
intégration d'un bouton dans la toolbar de firefox
affichage d'une fenetre
affichage d'une liste de données, et boutons pour ajouter ou retirer
des données dans la fenêtre
Jeudi
-
-
TD: développement d'un composant XBL, embarquant le formulaire de saisie, en essayant de le rendre indépendant du reste de la page XUL. Sources.
Vendredi
-
-
TD:
développement d'un composant XPCOM pour l'extension, qui stocke les données dans un DOM en mémoire ou dans un fichier et propose des méthodes pour mettre à jour les données.
utilisation du composant Observer Service pour notifier les changements dans les données du compte
utilisation d'un template XUL pour afficher les données
Voir la page dédié au td pour les explications sur le fonctionnement de l'application et les sources