Prog Web Serveur 13
Framework de Programmation de Serveur Web : Ruby-on-Rails
Le contenu de cette page n’a pas encore ete actualise pour l’année 2013–2014…
Ce cours est une introduction aux Frameworks de Programmation d’Applications pour Serveur Web. Plus précisément, le Framework étudié dans ce cours est Ruby on Rails (noté RoR).
Références
Voici les ouvrages de référence que je recommande pour ce cours (en anglais, mais un peu de pratique ne peut pas faire de mal!) :
- Livre support du cours: Ruby on Rails 3 Tutorial: Learn Rails by Example (M. Hartl, Addison Wesley, 2e ed, Dec 2010).
3 Exemplaires en commande au centre de documentation.Suite à une erreur d’impression, le livre est en cours de réimpression chez l’éditeur. En attendant, une version HTML est mise gratuitement à disposition par l’auteur (Attention, la mesure est certainement temporaire). - Pour ceux qui veulent approfondir, dans la même collection: Rails 3 Way, The (2nd Edition) (O. Fernandez, Addison Wesley, 2e ed, Dec 2010).
1 exemplaire en commande au centre de documentation.
Pour ceux qui veulent investir, notez cette offre promo pour les deux ouvrage precedents, au format Kindle, sur amazone … - Un autre ouvrage recent bien fait et pas trop cher (au format Kindle) : Learning Rails 3 (E. Dumbill, S. St. Laurent, E. J Gruber, O’Reilly, Juil 2012)
1 exemplaire en commande au centre de documentation.
Dans ce qui suit, “RoR3Tuto” est une abbréviation qui désigne le livre support du court ci-dessus (Ruby on Rails 3 Tutorial).
Copyright
Les cours et les exercices pratiques sont en accès libre. De nombreux passages sont tirés de l’ouvrage de M. Hartl cité ci-dessus et sont sujets à des Copyright, que nous reproduisons ci-après de facon littérale:
The MIT License Copyright (c) 2012 Michael Hartl Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/* * ---------------------------------------------------------------------------- * "THE BEER-WARE LICENSE" (Revision 42): * Michael Hartl wrote this code. As long as you retain this notice you * can do whatever you want with this stuff. If we meet some day, and you think * this stuff is worth it, you can buy me a beer in return. * ---------------------------------------------------------------------------- */
Programme
Le programme du cours suivra sensiblement le plan du livre RoR3Tuto, et nous essaierons de traiter un chapitre du livre chaque semaine, mais comme c’est la première année, il est difficile de prévoir exactement le rythme auquel nous progresserons.
En TP, comme il y a deux groupes d’étudiants inscrits à cette option, nous ferons des séances de TP de 3h une semaine sur deux. En conséquence chaque groupe n’aura TP qu’une semaine sur deux (mais cours normalement toutes les semaines)
- Debut des cours: Vendredi 14 sept (PV01)
- Debut des TP (groupe 1) : Vendredi 21 Sept (PV 314)
- Debut des TP (groupe 2) : Vendredi 28 Sept (PV 314)
Modalités de CC
Vous aurez 3 controles et un mini-projet:
- (Coeff: 2x 20% ) 2 QCM ou interrogations rapides (20 mins, à la fin du cours) portant sur les cours précédents, autour des 4e et 7e semaine (annoncés au minimum 8j à l’avance)
- (Coeff: 20%) 1 TP noté, choisi au hasard (pas forcément le même pour chaque groupe), plutôt en fin de semestre
- (Coeff: 40%) 1 mini-projet individuel à rendre à la fin du semestre.
Planning des seances
date | Cours | TP | Groupe TP |
JJ-MM-YYYY | Cours0 Cours1 | - | - |
JJ-MM-YYY | Cours2 | TP1-2 | 1 |
JJ-MM-YYY | Cours3 | TP1-2 | 2 |
JJ-MM-YYY | Cours4 | TP3-4 | 1 |
JJ-MM-YYY | Cours5 | TP3-4 | 2 (+ 1 pour QCM) |
JJ-MM-YYY | Cours6 (v2) | TP5-6 | 1 |
JJ-MM-YYY | Cours7 (v2) | TP5-6 | 2 |
JJ-MM-YYY | Cours8 | TP7-8 | 2 |
JJ-MM-YYY | Cours9 | TP7-8 | 1 |
JJ-MM-YYY | Cours10 | TP9-10 | 2 & 1 (à la suite de 9h45 à 12h45) |
JJ-MM-YYY | Cours11 (incomplet) | (TP: vendredi 7) | |
JJ-MM-YYY | (Pas de cours) | TP11 TP noté | 1 & 2 (en parallèle) |
JJ-MM-YYY | Cours 12: Hobo (pdf) + démo | Accompagnement Projet | Groupe 1: 9h45 - 11h15 |
JJ-MM-YYY | Accompagnement Projet | Groupe 2: 11h15 - 12h45 |
Notes d’installation
Cette page contient mes notes d’installation d’une machine virtuelle vmware à l’aide de la commande vmplayer en salle machine. Des solutions sont données pour toutes les erreurs rencontrées lors des premières séances de Travaux Pratiques. Une copie de l’image resultante sera fournie lors des prochains TP, mais les étudiants sont fortement invités à essayer de contruire leur propre image et à bien comprendre les solutions proposées…
Quelques liens utiles
- La doc de RSpec
- Très compacte. La doc du sous-paquetage expectations, en particulier, est très utile.
- LA doc de Capybara
- Cette page présente quelques exemples utiles.