Initiation aux Frameworks de Programmation Serveur -- RoR TP1-2
Dans les questions qui suivent, a chaque fois que vous terminez la question qui précède un Checkpoint, appelez l’enseignant chargé de TP pour lui montrer votre travail.
Premiere partie (Chapitre 1)
Installation VM (sur sa machine perso)
1. Installation des paquetages linux avec apt-get:
- libcurl4-openssl-dev
- libreadline-dev
- libssl-dev
- openssl
- zlib1g zlib1g-dev
- nodejs
- libsqlite3-dev
2. Installez le shell zsh et changer de shell:
- sudo qpt-get install zsh
- chsh Sans sudo !
- Choisir /bin/zsh
3. Installation de rbenv:
- Voir ici:
- $ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
- Ajouter ces lignes a la fin du fichier
.zshrc
- Voir ici:
export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"
- git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
4. Installer ruby
- Afficher lq liste des versions de ruby disponibles:
- rbenv install —list
- Choisir la derniere 1.9.3
- rbenv install 1.9.3-p484
- rbenv global 1.9.3-p384
5. Installer Rails et l’extension hobo
- gem install hobo
Installation vm sur une machine de la fac
Executer les commandes suivantes pour lancer la vm pre-configuree:
- cd /home/M1Systeme
- mkdir IFPS
- cd IFPS
- tar jxvf XU*
- vmplayer
Dans vmplayer, choisir ‘Open Virtual Machine’ et choisir le fichier vmx aue vous venez de desarchiver.
Pour se connecter:
- login: tprails
- password: tprqailsmm
Ensuite, changer le layout clavier:
- Dans menu Setting Manager
- Keyboard
- Layout
- Ajouter Francais
- Supprimer English/US
Checkpoint
Création première App
1. Créez la première app first_app
Essai de la première app
1. Lancer le serveur rails
2. Chargez la page dans votre navigateur
Checkpoint
Git
1. Commencez par la configuration globale de git
2. Intialisez la prise en charge de la première app par git
3. Editez le fichier .gitignore
4. Demandez a git
de prendre en charge les fichiers du projet first_app
5. Affichez l’etat de la staging area Checkpoint
Exemple de récupération avec git
1. Reproduisez l’exemple du cours (destruction/recup. du repertoire app/controllers
)
2. installez le programme gitk
à l’aide de la commande apt-get
3. lancez gitk
3. détruisez a nouveau le fichier que vous venez de récuperer
4. Rafraichissez le contenu de gitk
(F5)
5. Récuperez le fichier effacé
6. Vérifiez dans gitk
Initialisation GitHub
1. Créez un compte sur Github
Utilisez votre login unice, mais choisissez un autre mot de passe.
2. Configurez le memorisation des mots de passes sur github en suivant les instructions de configuration données sur le site github
3. Créez un nouveau dépôt sur Github pour l’application first_app
Pour éviter les conflits, créez un dépôt sans README et sans configuration pour .gitignore
.
Nous allons apprendre a gérer les conflits plus loin.
Checkpoint
Sauvegarde sur GitHub
1. Ajoutez github comme dépôt distant (remote) pour first_app
sous le nom origin
2. Sauvez la copie locale dans le dépôt
3. Rafraichissez la vue dans gitk
4. Modifiez un fichier local (par exemple README)
5. Sauvegardez la modification locale, puis propagez la sauvegarde sur le dépôt.
Jouons un peu avec github (exercice non décrit en cours)
1. Créez un répertoire temporaire $HOME/tmp
2. Créez une 2e copie de travail du projet first_app
dans le nouveau répertoire tmp
à partir de Github
Avant de pouvoir utiliser la commande git pull
il faut avoir initialise une “copie” locale vide du projet, et avoir défini l’alias origin
pour le dépôt distant…
Checkpoint
3. Faites une modification de fichier dans la version qui se trouve en tmp
4. Sauvegardez cette modification sur le dépôt
5. mettez à jour la version dans le répertoire initial (rails_project
)
6. Vérifiez que le fichier modifié à l’étape 3 ci-dessus a bien été mis a jour
Deuxième partie (Chapitre 2)
Construire tester et deployer demo_app
Reproduisez l’app demo en suivant les étapes présentées en cours.
Prenez bien le temps d’oberserver tous les fichiers générés par scaffold, et faitres des essais de créations , modification, suppression, avec ou sans les validations.
Checkpoint