===== Le programme du cours ===== Voici la version originale du cours, qui diffère un peu de ce qui a été enseigné au final (voir [[:cours|la page du cours]]). ==== 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 - les modules javascript - XPCOM - Architecture - IDL - Utiliser un composant XPCOM - Développer un XPCOM en javascript - Coup d'oeil sur les XPCOM en C++, une ouverture vers l'exterieur - Les differentes API (fichiers, URL..) TD l'après midi (3h) : développement d'un composant XPCOM pour l'extension, qui: - stocke les données dans un DOM en mémoire ou dans un fichier - propose des méthodes pour mettre à jour les données. ==== Vendredi ==== - composants du toolkit - localisation - thèmes et design avec CSS, spécificité CSS de Mozilla - L'interface de Firefox à coeur ouvert - Système de mise à jour - Animations, son, video dans vos applications (html5) TD l'après midi, amélioration de l'extension (3h): - intégration du composant XPCOM dans l'extension - utilisation d'un template pour l'affichage des données - localisation - packaging et fichiers de mise à jour.