2009:cours
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
2009/cours.txt · Last modified: 2009/10/25 08:46 by laurentj