AWS – Applications web et sécurité
Ceci est la version du cours http://defeo.lu/aws/ donnée en 2013-2014.
Informations pratiques
Chargé de cours et de TD : Luca De Feo http://defeo.lu/.
Cours : Mercredi 13h30 - 15h, amphi B,
TDs, Groupe 1 : Mercredi 15h15 - 18h30, salle G101,
TDs, Groupe 2 : Mardi 15h15 - 18h30, salle G103.
Cours
- Cours 1 (05/02/2014)
- Le WWW [screencast]
- Cours 2 (12/02/2014)
- JavaScript et le DOM [screencast]
- Cours 3 (19/02/2014)
- Scripts côté server [screencast]
- Cours 4 (05/03/2014)
- Frameworks web [screencast]
- Cours 5 (12/03/2014)
- Persistance des données [screencast]
- Cours 6 (19/03/2014)
- Applications asynchrones [screencast]
- Cours 7 (02/04/2014)
- Injections de code [screencast]
- Cours 8 (16/04/2014)
- Attaques cross-domain [screencast]
TDs
- TD 1 (11-12/02/2014)
- HTML, CSS et formulaires
- TD 2 (18-19/02/2014)
- Un simple jeu en JavaScript
- TD 3 (04-05/03/2014)
- Un simple jeu en JavaScript
- Ma première application web
- TD 4 (11-12/03/2014)
- Ma première application web
- TD 5 (18-19/03/2014)
- Comptes utilisateur
- TD 6 (01-02/04/2014)
- Comptes utilisateur
- TD 7 (15-16/04/2014)
- Un jeu multi-utilisateurs
- TD 8 (17/04/2014)
- Un jeu multi-utilisateurs
Modalités de contrôle
- 17/03/2014
- Premier checkpoint (contrôle continu)
- 20/04/2014
- Deuxième checkpoint (contrôle continu)
- 07/05/2014
- Examen (Pré-sujet) (Sujet)
- 17/06/2014
- Examen deuxième session (Sujet)
Liens
- Mes JSFiddles, qui démontrent comment exécuter les passages délicats de certains TDs.
- Deux cours de Polytechnique par mon collègue et ami Dominique Rossin:
- Les W3 Schools http://www.w3schools.com/ et leur tutoriel HTML5 http://www.w3schools.com/html/html5_intro.asp.
- Les validateurs HTML http://validator.w3.org/ et CSS http://jigsaw.w3.org/css-validator/.
- Le consortium du WWW http://www.w3.org/.
- Les pages des frameworks PHP Silex http://silex.sensiolabs.org/ et Symfony http://symfony.com/.
- Les livres de Sensiolabs sur Symfony : http://books.sensiolabs.com/.
- La documentation du moteur de templating Twig : http://twig.sensiolabs.org/.
- Le site de l’Association francophone des utilisateurs de Symfony http://afsy.fr/.
- Le site de Node.js http://www.nodejs.org/, les guides http://docs.nodejitsu.com/ et la API reference http://www.nodejs.org/api.
- Le framework Express pour Node.js.
- Le groupe français des utilisateurs de Node.js.
- La documentation de JQuery http://docs.jquery.com/.
- Le projet OWASP http://www.owasp.org/ and leur application d’entraînement WebGoat.
Bibliographie
La bibliographie sur la programmation web est surabondante. La BU regorge de littérature redondante et obsolescente sur le sujet.
Pour approfondir vos connaissances sur HTML, JavaScript, etc., vous pouvez prendre essentiellement n’importe quel livre de la BU et le feuilleter. Évitez les livres trop vieux : contrôlez que la première édition (pas la dernière) n’ait pas été écrite plus de, disons, il y a cinq ans.
Suit une modeste sélection de liens et livres qui pourront vous être plus utiles que la moyenne.
HTML et CSS
- W3Schools. HTML5 Tutorial
- http://www.w3schools.com/html5/. Très bon tutoriel pour débutants. Exemples à essayer en ligne.
- W3Schools. CSS Tutorial
- http://www.w3schools.com/CSS/. Très bon tutoriel pour débutants. Exemples à essayer en ligne.
- W3Schools.
- http://www.w3schools.com. D’autres tutoriels sont aussi disponibles sur le site de W3Schools.
- L. van Lancker. HTML5 et CSS3
- Eni Éditions, 2011. ISBN: 978-2-7460-6242-9. Côte BU: 005.71htm VAN. Manuel d’introduction à HTML et CSS.
- B. Lawson and R. Sharp. Introduction à HTML5
- Pearson Education France, 2011. ISBN: 978-2-7440-2476-4. Côte BU: 005.71htm LAW. Destiné à ceux qui connaissent déjà HTML4.
JavaScript et AJAX
- Mozilla Developer Network. JavaScript Guide.
- En anglais https://developer.mozilla.org/en-US/docs/JavaScript/Guide et en français https://developer.mozilla.org/fr/docs/JavaScript/Guide. La première référence pour JavaScript.
- Marijn Haverbeke. Eloquent JavaScript.
- No Starch Press 2011. Côte BU : 005.71jaS HAV. Disponible en ligne en anglais http://eloquentjavascript.net/ et en français http://fr.eloquentjavascript.net/. Bel ouvrage sur JavaScript. La très prometteuse seconde édition est en cours d’écriture, et est disponible en avant-première ici : http://eloquentjavascript.net/2nd_edition/preview/.
- D. Crockford. JavaScript. Gardez le meilleur !.
- Pearson 2008. ISBN: 978-2-7440-2328-6. Côte BU : 005.13jaS CRO. Référence pour la syntaxe JavaScript.
- I. Wetzel and Z. Yi Jiang. JavaScript Garden.
- http://bonsaiden.github.com/JavaScript-Garden/. Un guide aux détails méconnus de JavaScript.
- C. Porteneuve. Bien développer pour le Web 2.0.
- 2ème édition. Eyrolles, 2009. ISBN: 978-2-212-12391-3. Côte BU: 005.71aja POR. Livre excellent pour l’apprentissage de JavaScript et AJAX, même s’il commence à prendre de l’age.
- N. C. Zakas. Professional JavaScript for Web Developers.
- 3rd edition. John Wiley & Sons, 2012. ISBN: 978-1-118-02669-4. Côte BU : 005.71jas ZAK. Livre très complet, centré sur le JavaScript côté client. Référence complète à JavaScript et au DOM, plus des extras sur les technologies récentes comme les Canvas et les Web Sockets.
- Mozilla foundation. Mozilla DOM resources.
- La référence sur la partie du DOM implantée dans Firefox https://developer.mozilla.org/en/Gecko_DOM_Reference, et les ressources liées https://developer.mozilla.org/en/DOM.
- T. Stubbs and G. Allain. JQuery, Le guide complet
- Micro Application Éditions, 2011. ISBN: 978-2-300-036194. Côte BU: 005.71jsp ALL. Pour les programmeur déjà calé en Javascript.
PHP
- M. Achour et al. PHP Manual.
- http://www.php.net/manual. LE manuel de PHP.
- The Silex Book.
- http://silex.sensiolabs.org/documentation. La doc officielle de Silex (en anglais).
- F.-X. Bois. PHP5 et MySQL, Le guide complet
- Micro Application Éditions, 2010. ISBN 978-2-300-031946. Côte BU: 005.71php BOI. Manuel un peu plus avancé, il parle aussi de sécurité.
- J.-M. Culot. OEM Eyrolles, 2004. PHP5, Guide de prise en main
- ISBN 2-212-11487-7. Côte BU: 005.71php CUL. Manuel pour débutants
- A. Hendrix, B. Brinzarea, C. Darie. AJAX et PHP
- 2ème édition. Dunod, 2009. ISBN 978-2-10-055278-8. Côte BU: 005.71aja HEN. Un peu vieux, mais complet.
Node.js
- NodeJitsu.
- http://docs.nodejitsu.com/, tutoriels communautaires.
- Node school.
- http://nodeschool.io/, tutoriels interactifs.
- The Node.js API reference.
- http://www.nodejs.org/api, le manuel de référence.
- M. Kiessling. The Node beginner guide.
- en anglais http://www.nodebeginner.org/ et français http://nodejs.developpez.com/tutoriels/javascript/node-js-livre-debutant/.
- F. Geisendörfer. Node.js Guide
- http://nodeguide.com/.
- Understandanding Connect and middleware
- http://project70.com/nodejs/understanding-connect-and-middleware/
- A. MacCaw. JavaScript Web Applications.
- O’Reilly 2011. ISBN: 978-1-449-30351-8. Côte BU: 005.71jsp MAC. Livre avancé sur JavaScript côté client et côté serveur. Aborde les patrons de développement (surtout MVC), la délégation de contrôle, et les frameworks JavaScript.
- M. Nebra. Des applications ultra-rapides avec Node.js
- Cours sur OpenClassrooms (anciennement Site du zéro).
Sécurité
- M. Zalewski. Browser Security Handbook.
- Google Inc 2009. http://code.google.com/p/browsersec/wiki/Main. Excellente traité sur la sécurité des browsers, la Same Origin Policy et d’autres mécanismes expérimentaux.
- D. Seguy and P. Gamache. Sécurité PHP5 et MySQL.
- 2ème édition. Eyrolles 2009. ISBN: 978-2-212-12554-2. Côte BU: 005.8 SEG. Livre d’introduction sur la sécurité web. Le chapitre 2 traîte XSS et CRSF. Les chapitres suivants sont plutôt orientés vers la pratique et donnent des conseils pour sécuriser les applications PHP+MySQL.
- OWASP. OWASP development guide
- https://www.owasp.org/index.php/Category:OWASP_Guide_Project. Guide complet à la sécurité des applications web.
- OWASP. OWASP development guide
- https://www.owasp.org/. Wiki de la fondation OWASP.
- R. Cannings, H.Dwivedi and Z. Lackey. Haking sur le Web 2.0
- Pearson Education France, 2008. ISBN: 978-2-7440-2306-4. Côte BU: 005.8 CAN. Mal écrit et pis traduit, il s’agit d’un pamphlet publicitaire pour la boîte des auteurs. Cependant, il est l’un des rares ouvrages sur la sécurité disponibles à la BU. Les parties I et II valent le détour.