Bien De'velopper Pour Le Web
Total Page:16
File Type:pdf, Size:1020Kb
12028_Developper_Web_XP 26/10/06 10:51 Page 1 Web 2.0 Bien développer C. Porteneuve Bonnes pratiques Ajax C. Porteneuve Enseignant à l’INSIA où Adieu, absence d’accessibilité, soupes de balises, combinaisons de Javascript propriétaires et autres il est responsable de la spécialisation Systèmes pour le mauvais réflexes qui polluaient le Web 1.0. Créer des interfaces utilisateur bluffantes et interactives à Web 2.0 la Web 2.0 (Gmail, Google Maps, Flickr, Netvibes…) est l’occasion d’instaurer de bonnes pratiques de d’Information et Génie Logiciel, Christophe développement garantissant le respect des normes, l’ergonomie et l’accessibilité des applications web. Porteneuve conçoit des pages web depuis plus de Une bible des meilleures pratiques de développement web et Ajax Bonnes pratiques Ajax dix ans. Au cœur d’un projet d’intranet dynamique Christophe Porteneuve livre dans cet ouvrage plus de dix années d’expérience en développement et en qualité web. entièrement basé sur XML Prototype • Script.aculo.us • Accessibilité • JavaScript • DOM • XHTML/CSS Il rappelle les fondamentaux techniques du Web 2.0 (XHTML, CSS, JavaScript, DOM…), décrit l’usage des fra- et sur des composants meworks de développement dédiés Prototype et script.aculo.us dans leur version la plus récente, et explore le cœur visuels XSLT dès 1999, d’Ajax, XMLHttpRequest, ainsi que la question des contenus et services externes (services web, API REST et flux il participa au premier portail de syndication RSS et Atom). Outre une réflexion sur l’accessibilité et l’ergonomie, il explique comment conjuguer JSP en Europe (Freesbee). toutes ces technologies dans le cadre d’une méthodologie de développement cohérente et qualitative. En 2002, convaincu de la nécessité d’être conforme aux standards du Web, Au sommaire il met à jour 200 machines Web 2.0 et standards du Web • Mythes et rumeurs • Rappels JavaScript • Types de données • Opérateurs mécon- du parc de l’INSIA pour nus • Exceptions • Héritage de prototypes • Binding • Idiomes intéressants • Sélection d’une propriété sur condi- Mozilla Firefox et enseigne tion • Fonctions et objets anonymes • Simuler des espaces de noms • Bonnes pratiques d’écriture • Déboguer du le XHTML strict sémantique, JavaScript dans Mozilla Firefox, Opera, Safari, Konqueror, MS-Internet Explorer • Venkman, Firebug • Manipulation CSS 2.1 et XML. Il ouvre dynamique avec le DOM • Niveaux DOM • Ordre des noeuds • Scripter au bon moment • Pas d’extension proprié- alors un blog, explore RSS Ajax taire • Inspecter le DOM • Gestion propre des événements • Accommoder MSIE • Capture et bouillonnement • et se rapproche de Mozilla Besoins fréquents : décoration automatique de labels, validation automatique de formulaires • Prototype : simpli- Europe. Après avoir cité, portabilité et élégance • Accès aux éléments • Tableaux, hash • Itérations • String enrichi • Des tableaux sur- découvert Ruby, Ruby On puissants : conversions, extractions, transformations • Éléments étendus • Manipulations des styles et classes • Rails et Ajax en 2005, Parcours de hiérarchies • Positionnement • Manipulation de formulaires • Événéments • Ajax, ou l’art de chucho- il devient contributeur ter • XMLHttpRequest • Anatomie d’une conversation Ajax • Installer Ruby • Préparer un échange asynchrone • ActiveX versus objet natif JavaScript • Créer l’objet requêteur, décrire et envoyer la requête, recevoir et traiter la à Rails, Prototype Christophe Porteneuve réponse • Types de réponse : XHTML, XML, JS, JSON… XPath • GoogleAJAXSLT • Ajax avec Prototype • et script.aculo.us. Ajax.Request • Ajax.Updater • Différencier la mise à jour entre succès et échec • Ajax.PeriodicalUpdater • Petits secrets supplémentaires • Script.aculo.us pour l’ergonomie • Effets visuels • Invocation • Options communes • Fonctions de rappel • Files d’effets • Glisser-déplacer avec Draggable et Droppables • Tri de listes • Complétion automatique de texte • Avoir du recul sur Ajax • Ajax et l’accessibilité • Dojo • Mochikit • OpenRico • Services Préface de Tristan Nitot, web et REST • Contraintes de sécurité • API REST • Exemple d’Amazon.fr • De XML à XHTML : la transformation président de Mozilla Europe XSLT • API Flickr • Flux RSS et Atom • Récupérer et afficher des flux • Feuille XSLT • Traiter des quantités mas- sives de HTML encodé • Les dates W3DTF • Annexes • XHTML sémantique • CSS 2.1 • Le «plus» de l’expert : 2.0 Web savoir lire une spécification • Les recommandations du W3C • Les RFC de l’IETF • Développer avec son navigateur web • Problèmes de cache • Firefox, Safari, Internet Explorer Developer Toolbar, Opera. À qui s’adresse cet ouvrage ? 8 8 – Aux développeurs web qui doivent actualiser leurs connaissances et découvrir les technologies du Web 2.0 ; 2 – À ceux qui souhaitent explorer en profondeur les bibliothèques Prototype et script.aculo.us ; 0 2 – À tous ceux qui souhaitent acquérir une méthodologie cohérente de développement web, 1 combinant technologies de pointe, qualité et accessibilité. 2 1 2 2 8 ISBN : 2-212-12028-1 Code éditeur : G12028 7 Conception : Nord Compo ISBN 13 : 978-2-212-12028-8 Bonnes pratiques 9 42 € Titre_Developper_Web_XP 16/10/06 11:14 Page 1 Bien développer pour le Web 2.0 CHEZ LE MÊME ÉDITEUR J BATTELLE, trad. D. RUEFF, avec la contribution de S. BLONDEEL – La révolution Google. N°11903, 2006, 280 pages. Ouvrages sur le développement web M. PLASSE. – Développez en Ajax. N°11965, 2006, 314 pages. J. PROTZENKO, B. PICAUD. – XUL (coll. Cahiers du programmeur). N°11675, 2005, 320 pages. H. WITTENBRIK. – RSS et Atom. Fils et syndications. N°11934, 2006, 216 pages. R. GOETTER. – CSS 2 : pratique du design web (collection Blanche). N°11570, 2005, 324 pages. D. THOMAS et al. – Ruby on Rails. N°11746, 2006, 590 pages. T. ZIADÉ. – Programmation Python. N°11677, 2006, 530 pages. E. DASPET et C. PIERRE de GEYER. – PHP 5 avancé. N°12004, 3e édition 2006, 804 pages. M. MASON. – Subversion. Pratique du développement collaboratif avec SVN. N°11919, 2006, 206 pages. G. PONÇON. – Best practices PHP 5. Les meilleures pratiques de développement en PHP. N°11676, 2005, 480 pages. S. MARIEL. – PHP 5 (et XML) (Les Cahiers du programmeur). N°11234, 2004, 290 pages. J. ZELDMAN. – Design web : utiliser les standards, CSS et XHTML. N°12026, 2e édition 2006, 444 pages. Autres ouvrages : Web et logiciel libre S. BLONDEEL. – Wikipédia. Comprendre et participer. N°11941, 2006, 168 pages (collection Connectez-moi !). F. LE FESSANT. – Le peer-to-peer. Comprendre et utiliser. N°11731, 2006, 168 pages (collection Connectez-moi !). C. BÉCHET. – Créer son blog en 5 minutes. N°11730, 2006, 132 pages (collection Connectez-moi !). F. DUMESNIL. – Les podcasts. Écouter, s’abonner et créer. N°11724, 2006, 168 pages (collection Connectez-moi !). O. SARAJA. – La 3D libre avec Blender. N°11959, 2006, 370 pages. L. DRICOT, contrib. de R. MAS. – Ubuntu. La distribution Linux facile à utiliser (coll. Accès libre). N°12003, 2e édition 2006, 360 pages avec CD-Rom. M. KRAFFT, adapté par R. HERTZOG, R. MAS, dir. N. MAKARÉVITCH. – Debian. Administration et configuration avancées. N°11904, 2006, 674 pages. S. GAUTIER, C. HARDY, F. LABBE, M. PINQUIER. – OpenOffice.org 2 efficace. N°11638, 2006, 420 pages avec CD-Rom. C. GÉMY. – Gimp 2 efficace. N°11666, 2005, environ 350 pages (collection Accès libre). M. GREY. – Mémento Firefox et Thunderbird. N°11780, 2006, 14 pages. Titre_Developper_Web_XP 16/10/06 11:14 Page 2 Bien développer pour le Web 2.0 AJAX • Prototype • Scriptaculous XHTML/CSS • JavaScript • DOM Christophe Porteneuve Préface de Tristan Nitot, président de Mozilla Europe ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Le code de la propriété intellectuelle du 1er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droit. Or, cette pratique s’est généralisée notamment dans les établissements d’enseignement, provoquant une baisse brutale des achats de livres, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourd’hui menacée. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l’éditeur ou du Centre Français d’Exploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris. © Groupe Eyrolles, 2007, ISBN : 2-212-12028-1, ISBN 13 : 978-2-212-12028-8 Dépôt légal : novembre 2006 N° d’éditeur : 7540 Imprimé en France À ma mère, Claude Paris. Tout ça grâce aux premiers pas, tu sais, les petits... Préface Vous tenez donc entre vos mains un exemplaire du livre Bien développer pour le Web 2.0. On pourrait croire que ce qui est important dans le titre, c’est « Web 2.0 ». Certes, c’est bien le cas. La participation grandissante des utilisateurs, qui est l’une des deux particularités du Web 2.0, est importante. Vitale, même. Paradoxalement, cette notion d’un Web où chacun pourrait à la fois lire et écrire, consommer et pro- duire, est celle de son inventeur, Tim Berners-Lee, même si peu d’internautes ont réalisé cela. Mais ce qui est surtout important dans le titre de cet ouvrage, c’est « Bien développer ». Développer « comme il faut ». Car le Web dit « 1.0 » ne s’est pas seule- ment traduit par un Web où seuls quelques auteurs publiaient pour une foule gran- dissante de lecteurs : le Web 1.0 s’est aussi traduit par des errements technologiques qui ont fait que la promesse du Web n’a été tenue que partiellement, dans la mesure où les exclus étaient nombreux. Vous n’utilisez pas tel plug-in ? Ah, dommage ! Vous avez recours à tel navigateur trop moderne ? Tant pis pour vous ! Vous souhaitez con- sulter le site avec votre téléphone mobile ? Vous devrez attendre de trouver un PC connecté. Vous avez désactivé JavaScript dans votre navigateur pour des raisons de sécurité ? Passez votre chemin ! Vous avez un handicap visuel ou des difficultés pour manipuler une souris ? Navré, le service n’est pas conçu pour vous.