====== 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 ==== - {{:xbl.pdf|XBL}} - {{:javascript_modules.pdf|les modules javascript}} 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. {{:account_manager_jeudi.zip|Sources}}. ==== Vendredi ==== - {{:xpcom.pdf|XPCOM}} - {{:themes_localization.pdf|theme et localisation}} 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 [[cours:td|la page dédié au td]] pour les explications sur le fonctionnement de l'application et les sources