Ce qui suit concerne le cours INF777, Applications Internet, offert en priorité au DTI, diplôme offert par l'Université de Sherbrooke. Vous pourrez revenir y piger du matériel même une fois le cours complété, tout en sachant que le cours évolue, que les outils évoluent, et qu'il faut lire et manipuler toute chose ci-dessous avec prudence.
Notez que j'ai restructuré une partie de mon site et que j'ai localisé les liens thématiques sous un seul et même répertoire pour réduire la redondance entre les cours. Je ne pense pas que cela va véritablement vous déranger mais, en retour, ça va drôlement simplifier ma vie.
Les élections provinciales au Québec, prévues pour le 26 mars 2007, feront en sorte que nous ne pourrons pas nous rencontrer pour la séance S11. Tel que mentionné à la séance S10, dans le but de vous garder actives et actifs pendant cette semnaine de « congé », je vous propose les deux activités suivantes. Choisissez l'une ou l'autre (pas les deux!). L'activité que vous aurez choisi(e) tiendra lieu de Q08.
Première option (attentes : travail individuel, autour de trois pages recto, livré sous forme imprimée au début de la séance S13) : imaginons que vous développez une application Web qui permettra aux divers médias du Québec de dresser un portrait de la réaction de l'électorat le lendemain des élections suite aux résultats de cette dernière. En quoi le Web sémantique pourrait-il vous aider dans votre tâche? Je m'attends à ce que vous fassiez un peu de recherche par vous-mêmes et que vous appuyiez vos dires par des références électroniques que je pourrai consulter au besoin.
Certains m'ont demandé s'il est possible pour eux de faire une présentation sur un autre sujet touchant de manière pertinente au cours. Je suis ouvert, mais expliquez-moi votre projet au préalable.
Si vous y aller d'une présentation, j'aimerais le savoir un peu d'avance pour organiser mon temps en classe en conséquence.
Deuxième option (attentes : présentation d'environ cinq minutes à la séance S13, appuyée par un diaporama électronique. Je suis ouvert aux équipes de deux mais faut quelque chose de plus étoffé dans ce cas) : présenter devant vos pairs (en classe) deux applications existantes du Web sémantique qui vous semblent pertinentes, les contextualiser et expliquer en quoi/ pourquoi ces applications vous semblent particulièrement pertinentes.
De manière plus générale, je souhaite que ce travail occupe, en gros, un temps dans votre vie qui s'apparenterait au temps que nous aurions normalement eus en classe lors de la séance S11, donc approximativement trois heures, bien que je sache autant que vous que le temps investi variera beaucoup d'une personne à l'autre et que le trois heures de l'un sera le douze heures de l'autre. Considérant qu'il s'agit, en poids, d'une question quasi hebdomadaire à cinq points et que je ne garde que les huit meilleures de dix dans la session, à vous de juger et de doser vos efforts en fonction de vos attentes. La préparation de la petite présentation ou la petite rédaction vont sans doute vous faire déborder un peu de ces bornes de temps, mais en retour vous épargnerez le temps de transport (avantage variable selon les individus).
![]() |
Vous trouverez ici le code de la classe TiPoints proposée en classe le 29 janvier 2007 (un peu nettoyé mais essentiellement identique). Notez que l'invocation de la méthode start() est nécessaire pour que le code lisant une touche (le thread) soit démarré. |
![]() |
Vous trouverez ici un exemple complet de code Java capable de consommer un document XML selon une approche DOM. Cet exemple est tiré intégralement de vos notes de cours. |
![]() |
Vous trouverez ici un exemple complet de code Java capable de consommer un document XML selon une approche SAX. Cet exemple est tiré intégralement de vos notes de cours. |
![]() |
Vous trouverez ici le texte intégral du document JSP nommé accueil.jsp proposé dans vos notes de cours. |
![]() |
Vous trouverez ici le texte intégral du document JSP nommé coucou.jsp proposé dans vos notes de cours. |
![]() |
Vous trouverez ici le texte intégral de la classe Java nommée ServiceCoucou.java proposée dans vos notes de cours. |
![]() |
Vous trouverez ici le texte intégral du document XML nommé web.xml proposé dans vos notes de cours. |
![]() |
Vous trouverez ici le code de la classe ConsommateurDOM en version de base seulement. Étant donné que ce code est ce qu'on nomme souvent du Boilerplate Code, donc quelque chose de très routinier, pourquoi ne pas s'en servir? (je me suis inspiré de ce site pour ma propre version). |
![]() |
Vous trouverez ici le code de la classe ConsommateurDOM en version pensée pour que les véritables classes traitant un document avec DOM (par exemple la classe AfficheurDOM ci-après) en dérivent. |
![]() |
Vous trouverez ici le code de la classe AfficheurDOM, dérivant de la classe ConsommateurDOM ci-dessus et implémentant du code d'affichage en arbre de la structure d'un document XML. |
![]() |
Vous trouverez ici le code de la classe ConsommateurSAX. Sentez-vous libres de vous en inspirer (je me suis inspiré de ce site pour ma propre version). |
![]() |
Vous trouverez ici une archive ZIP contenant une version RTF (donc entre autres lisibles avec Microsoft Word) de l'activité pédagogique du cours. |
![]() |
Vous trouverez ici un document XML affiché à l'aide des règles de formatage d'un document XSL. Le texte source du document XML contenant les données peut être examiné ici et les règles XSLT servant au formatage et à l'affichage du document XML et question peuvrent être consultées ici. |
Ce qui suit constitue une bibliographie annotée proposée pour le cours INF777—Applications Internet. Le tout est en mouvance constante, tout comme l'est d'ailleurs le sujet du cours.
Bien que nous n'en fassions pas un objectif important du cours, il serait difficile, nous en conviendrons, d'éviter la question des bases de la communicaiton à travers le réseau Internet dans un cours portant sur les applicaitons Internet. Voici donc quelques références à ce sujet.
DOUGLAS E. COMER et DAVID L. STEVENS; Internetworking with TCP/ IP Volume III, Client-Server Programming and Applications, Winsock Version, Prentice Hall, 1997. ISBN 0-13-848714-6 |
Référence complète et relativement neutre, malgré le suffixe Winsock Version. Volume de référence complet mais qui demande des connaissances de langage C (pas C++). Utilise les sockets comme base pour la description du modèle C/S. Ce volume est très répandu et très connu mais son rôle pour ce cours est surtout informatif quant aux principes sous-jacents à la communication pour les applications Internet. |
ANDREW TANENBAUM; Réseaux 4e édition, Pearson Education, 2003, ISBN 2-7440-7001-7 |
Livre de référence importabt sur les réseaux et la réseautique, parmi les plus connus et les plus utilisés dans l'enseignement pour ce domaine. Notre cours ne plongera pas aussi profondément dans le sujet des réseaux, alors si vous avez un intérêt pour la question il se peut que ce livre vous aide à compléter une partie du portrait. Aux dernières nouvelles, ce livre était utilisé dans le cours de réseautique de la maîtrise en TI au CeFTI. |
INGO RAMMER; Advanced .NET Remoting, Apress, 2002. ISBN 1-59059-025-2 |
Le volume s'adresse à des programmeuses et à des programmeurs OO, et contient des exemples exclusivement en langage C#, ce qui signifie qu'il est, avec un peu d'effort, accessible aussi aux programmeurs Java et C++. La qualité littéraire est discutable, mais les exemples sont simples (pour la plupart) et clairs. La présentation du Remoting sur .NET est compréhensible. |
NARESH APTE, TORAL MEHTA; UDDI, building registry-based web services solutions, Hewlett-Packard Company, 2003. ISBN 0-13-046457-0 |
Référence expliquant UDDI et son rôle dans le monde du commerce électronique. Bonne référence pour démarrer et mettre en contexte, mais pas suffisant en soi pour construire des services Web (nécessite une référence technique d'appoint). |
ETHAN CERAMI; Web Services Essentials, O'Reilly, 2002. ISBN 0-596-00224-6 |
Référence technique complète (en Java, principalement) pour développer des services Web, avec beaucoup d'exemples. Peut servir de complément à UDDI, building registry-based web services solutions. Notez que les technologies Web évoluent très rapidement et que la version 2002 de ce livre vieillit rapidement. |
FRANK P. COYLE; XML, Web Services and the Data Revolution, Addison-Wesley, 2002. ISBN 0-201-77641-3 |
Peu technique, mais très descriptif, ce livre met en valeur la démarche XML dans son ensemble et ses différents visages. Peut servir de complément à Web Services Essentials. |
DIRK KRAFZIG, KARL BANKE et DIRK SLAMA, Enterprise SOA, Service-Oriented Architecture Best Practices, Pearson Education, 2005. ISBN 0131465759 |
Bon volume sur la transformation de l'offre logicielle d'une entreprise pour que celle-ci prenne une approche orientée services, un cas particulier des SC/S presque toujours orienté Web. Technique légère, bons schémas. Utile pour survoler et comprendre les SOA et pour essayer d'évaluer si cette approche se prête à une entreprise donnée. |
RAVI KALAKOTA et MARCIA ROBINSON, e-Business 2.0, Roadmap for Success, Adison-Wesley, 2001. ISBN 0201721651 |
Bon volume, très utilisé et apprécié par les diplômé(e)s du DTI et du DGL. Définit des concepts clés de l'entreprise électronique comme les CRM, les SCM, les ERP et OLAP. Un peu plus faible dans sa vision du futur (prudence : le livre a été publié avant le crash des technos et le 11 septembre 2001). |
La sécurité est un sujet à la fois passionant et très technique, pour ne pas dire très mathématique. Cela dit, il existe quelques volumes qui sont plus accessibles que la moyenne. La liste qui suit grossira éventuellement.
BRUCE SCHNEIER; Beyond Fear, Copernicus Books, 2003. ISBN 0-387-02620-7 |
Pas un livre d'informatique, mais bien un livre sur la sécurité, incluant la sécurité informatique comme cas particulier, par un très solide expert sur le sujet. Son site Web est très riche en contenu. |
Les intergiciels sont une victime (la principale victime, peut-être) de l'arrivée à maturité des applications Web. Bien que les intergiciels soient encore appropriés (et parfois préférables) pour le développement de systèmes répartis sur réseau interne des entreprises (surtout côté serveur), les technologies Web les ont outrepassées pour le projet d'interopérabilité à grande échelle.
GUY EDDON et HENRY EDDON; Au cœur de COM+, Microsoft Press, 1999. ISBN 2-84082-525-2 | Référence de qualité pour la technologie COM+, un application intéressante du modèle objet dans le monde des systèmes répartis. À noter: bien que le standard en question soit à l'origine produit par Microsoft et que le livre soit publié par la même compagnie, ce volume est l'un des plus neutres et des mieux expliqués sur le sujet qu'il m'ait été donné de lire. Notez que depuis le lancement de la plateforme .NET, les gens de Microsoft font de grands efforts pour décourager l'utilisation directe de COM+, et ont mis ce livre hors circulation, ce qui—étant donné la qualité de l'ouvrage—est regrettable. |
JASON PRITCHARD; COM and CORBA Side by Side. Architectures, Strategies and Implementations, Addison-Wesley, 1999. ISBN 0201379457 | Livre présumant des connaissances côté OO et dans quelques langages de programmation. Présentation comparative de deux technologies concurrentes. Livre décent, pour lequel il n'y a pas beaucoup d'alternatives. La technique date un peu, mais s'avère une ressource convenable pour qui connaît l'une de ces deux technologies et vise à la comparer ou à la mettre en perspective. Les parties II et III surtout sont pertinentes pour de futur(e)s chefs de projet. |
ADAM NATHAN; .NET and COM. The Complete Interoperability Guide, Sams Publishing, 2002. ISBN 0-672-32170-x | Référence technique pratique sur .NET et COM, assez complète pour être d'un grand secours en période de transition entre deux technologies massives, à la fois proches cousines et différentes. Un peu mieux fait que COM and .NET Interoperability, bien que les deux puissent être utiles. L'auteur a personnellement oeuvré au support à l'interopérabilité entre les deux plateformes. |
BRUCE TATE, MIKE CLARK, BOB LEE, PATRICK LINSKEY; Bitter EJB, Manning, 2003. ISBN 1-930110-95-2 | Un solide bouquin avec un penchant technique (sans être abusivement technique), qui détaille ce qu'on nomme des antipatterns, des techniques mal appliquées ou mal choisies dans un contexte et qui mènent à des échecs commerciaux. Même si on omet la technique, ce volume a beaucoup de bons côtés et sa lecture peut prévenir de mauvaises décisions de design. |
RICHARD MONSON-HAEFEL (traduit par HERVÉ SOULARD); Enterprise JavaBeans 2ième édition, O'Reilly, 2000. ISBN 2-84177-124-5 | Référence très raisonnable pour EJB. Pas un livre d'introduction à Java ou aux SC/S, par contre. En français, ce qui est plutôt sympathique. On grince des dents à l'occasion, mais il y a pire sur le marché. |
ANDREW TROELSEN; COM and .NET Interoperability, Apress, 2002. ISBN 1-59059-011-2 | Référence technique pratique sur .NET et COM, assez complète pour être d'un grand secours en période de transition entre deux technologies massives, à la fois proches cousines et différentes. L'attitude de l'auteur est un peu désagréable, toutefois, ce qui rend la lecture inutilement déplaisante par endroits. |
THUAN L. THAI; Learning DCOM, O'Reilly & Associates, 1999. ISBN 1-56592-581-5 | Référence offrant explications claires et exemples de code décents pour présenter le modèle COM, et surtout DCOM. Léger biais envers une corporation en particulier, mais il y a bien pire en ce sens sur le marché. Demande des connaissances de C++. Exemples parfois déficients. La technologie a maturé depuis la parution de ce volume. Intérêt historique seulement. |
Le monde des systèmes répartis est immense. Les SC/S et les applications Web n'occupent pas, à eux seuls, la totalité de cet espace.
RICHARD M. FUJIMOTO; Parallel and Distributed Simulation Systems, Wiley-Interscience, 2000. ISBN 0-471-18383-0 | Solide référence sur les systèmes répartis de simulation et de réalité virtuelle, qu'il s'agisse de plusieurs processus dans un même ordinateur ou de systèmes répartis à grande échelle. Référence de nature scientifique, pas administrative. |
Certains livres sont simplement intéressants d'un point de vue général pour qui souhaite gérer des projets logiciels ou, de manière générale, dans le monde des technologies de l'information.
GERALD M. WEINBERG; The Psychology of Computer Programming (Silver Anniversary), Dorset House Publishing Company, 1998. ISBN 0932633420 | Un point de vue réfléchi (au point de constituer un cours) sur la programmation en tant qu'activité sociale et humaine complexe, sur la question de la productivité dans une telle activité. Surtout utile pour les gens qui souhaitent mieux comprendre ces drôles d'oiseaux que sont les programmeuses et les programmeurs. |
Les interfaces personne/ machine doivent être élégantes, opérationnelles, passer un message clair aux utilisatrices et aux utilisateurs, être flexibles, sécuritaires, etc.
CRAIG GRANNELL; Web Designer's Reference, An Integrated Approach to Web Design with XHMTL and CSS, APress, 2005. ISBN 1-59059-430-4 | Petit livre clair et sans prétention sur le design d'interfaces Web. Met l'accent sur plusieurs saines pratiques dans la conception d'interfaces élégantes et utilisables. Sans que ce livre en révolutionne quoi que ce soit, il est agréable à consulter et utile. |