AWS – Applications web et sécurité
Informations IATIC4 | Informations M1 Info |
Informations IATIC4
Chargé de cours : Luca De Feo http://defeo.lu/.
Chargé de TD : Sébastien Besnier.
Cours + TD : Lundi 13h45 - 18h30
Agenda (tout)
Semaine 1 (11/01/2016)
- Leçons :
- URLs
- HTTP
- HTML
- Formulaires HTML
- CSS
Semaine 2 (18/01/2016)
- TDs :
- HTML, CSS et formulaires
- Leçons :
- JavaScript
- Le DOM
Semaine 3 (01/02/2016)
Semaine 4 (08/02/2016)
- TDs :
- Un simple jeu en JavaScript
- Le réflecteur (version pour Silex)
- Le réflecteur (version pour Node)
- Leçons :
- Langages de templates
- Maintien d'état
- PHP orienté aux objets
Semaine 5 (15/02/2016)
- TDs :
- Le réflecteur (version pour Silex)
- Le réflecteur (version pour Node)
- Templates, données, état (version pour Silex)
- Templates, données, état (version pour Node)
- Leçons :
- Sessions
- Stockage Persistant
- Templates sans logique
Semaine 6 (22/02/2016)
- TDs :
- Templates, données, état (version pour Silex)
- Templates, données, état (version pour Node)
- Comptes utilisateur et AJAX (version pour Silex)
- Comptes utilisateur, AJAX, Server push (version pour Node)
- Leçons :
- Injections SQL
- Applications asynchrones
- JSON
Semaine 7 (07/03/2016)
- TDs :
- Comptes utilisateur et AJAX (version pour Silex)
- Comptes utilisateur, AJAX, Server push (version pour Node)
- Leçons :
- XSS
- AJAX cross-domain
- Vol de session
- Communication bidirectionnelle
Semaine 8 (21/03/2016)
- TDs :
- Comptes utilisateur et AJAX (version pour Silex)
- Comptes utilisateur, AJAX, Server push (version pour Node)
- Leçons :
- CSRF et Clickjacking
- Mitigation d'attaques
- JavaScript asynchrone
- Le ver XSS Samy
ATTENTION : Cours + TD le mardi 8h–12h45
Semaine 9 (28/03/2016)
- TDs :
- Comptes utilisateur et AJAX (version pour Silex)
- Comptes utilisateur, AJAX, Server push (version pour Node)
- Leçons :
- Le Web
ATTENTION : Cours + TD le mardi 8h–12h45
Semaine 10 (04/04/2016)
Séance de démarrage des projets 13h30–16h30 avec Sébastien
Semaine 11 (11/04/2016)
Séance de démarrage des projets bis 13h30–16h30 avec Sébastien
Informations M1 Info
Chargé de cours et de TD : Luca De Feo http://defeo.lu/.
Cours : Mardi 8h30–10h30
TD : Mercredi 8h30–12h45 (groupe A), 13h30–17h45 (groupe B)
Agenda (tout)
Semaine 1 (25/01/2016)
- Leçons :
- URLs
- HTTP
- HTML
- Formulaires HTML
- CSS
- TDs :
- HTML, CSS et formulaires
Semaine 2 (02/02/2016)
Semaine 3 (08/02/2016)
- Leçons :
- PHP
- Frameworks Web
- Langages de templates
- Templates sans logique
- PHP orienté aux objets
- TDs :
- Le réflecteur (version pour Silex)
- Le réflecteur (version pour Node)
Semaine 4 (15/02/2016)
- Leçons :
- Maintien d'état
- Sessions
- Stockage Persistant
- Injections SQL
- TDs :
- Templates, données, état (version pour Silex)
- Templates, données, état (version pour Node)
Semaine 5 (22/02/2016)
- Leçons :
- XSS
- Applications asynchrones
- JSON
- Vol de session
- TDs :
- Templates, données, état (version pour Silex)
- Templates, données, état (version pour Node)
- Comptes utilisateur et AJAX (version pour Silex)
- Comptes utilisateur, AJAX, Server push (version pour Node)
Semaine 6 (07/03/2016)
- Leçons :
- AJAX cross-domain
- CSRF et Clickjacking
- Mitigation d'attaques
- Communication bidirectionnelle
- JavaScript asynchrone
- Le ver XSS Samy
- TDs :
- Comptes utilisateur et AJAX (version pour Silex)
- Comptes utilisateur, AJAX, Server push (version pour Node)
ATTENTION : TD groupe B le jeudi 13h30–17h45
Semaine 7 (14/03/2016)
- Leçons :
- Le Web
Modalités d’évaluation
- 30% Questionnaires;
- 80% Projet final.
Liste des leçons
Archives
Éditions précédentes de ce cours :
Liens utiles
Pour les TDs
- Mes CodePens, qui démontrent comment exécuter les passages délicats de certains TDs.
- Les validateurs HTML http://validator.w3.org/ et CSS http://jigsaw.w3.org/css-validator/.
Documentation
- 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 framework Express pour Node.js.
Associations de développeurs
- Le site de l’Association francophone des utilisateurs de Symfony http://afsy.fr/.
- Les initiations gratuites de NodeSchool Paris http://nodeschool.io/paris/.
- Le groupe français des utilisateurs de Node.js.
Autres
- Les ressources pédagogiques de B. Pesquet sur OpenClassrooms, et encore d’autres : PHP, Silex, JavaScript, …
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.
- Mozilla Developer Network. Ressources HTML.
- En anglais https://developer.mozilla.org/en-US/docs/Web/HTML, et en français https://developer.mozilla.org/fr/docs/Web/HTML
- Mozilla Developer Network. Ressources CSS.
- En anglais https://developer.mozilla.org/en-US/docs/Web/CSS, et en français https://developer.mozilla.org/fr/docs/Web/CSS
- 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
- Marijn Haverbeke. Eloquent JavaScript.
- No Starch Press 2014. Disponible en ligne en anglais http://eloquentjavascript.net/. Bel ouvrage sur JavaScript et le DOM. La première édition est aussi disponible en français http://fr.eloquentjavascript.net/, et à la BU (côte 005.71jaS HAV).
- 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.
- 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.
- M. Zalewski. The Tangled Web.
- No Starch Press 2011. ISBN 978-1-593-27388-0. http://lcamtuf.coredump.cx/tangled/. Côte BU 005.8 ZAL. Traité complet sur la sécurité des applications web. Dérivé de l’ouvrage précédent, mais plus complet et plus à jour.
- Mozilla Developer Network. Sécurité Web.
- https://developer.mozilla.org/en-US/docs/Web/Security
- 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.
- 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.
- 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.