|
|
---
|
|
|
layout: post
|
|
|
title: "TP3 de web ruby - les joyeux de la couronne web"
|
|
|
categories: ruby-2a
|
|
|
---
|
|
|
|
|
|
# Les joyeux de la couronne (web)
|
|
|
|
|
|
Ce TP a pour but de vous faire créer une premiere application rails et d'en découvrir les premiers concepts, en particulier :
|
|
|
|
|
|
* L'arborescence d'une application Ruby on Rails
|
|
|
* Les outils en ligne de commande
|
|
|
* Les routes
|
|
|
* Les modèles
|
|
|
* Les controllers
|
|
|
* (....)
|
|
|
|
|
|
## Préliminaires
|
|
|
|
|
|
Si la commande n'est pas donnée, c'est qu'elle dans le cours ou le lien fourni.
|
|
|
|
|
|
(....)
|
|
|
|
|
|
## Installation de rails
|
|
|
|
|
|
Vérifier la version de sqlite et de ruby sur votre système
|
|
|
|
|
|
Installer la gem rails (comme a déjà installé rspec) sauf qu'il n'est pas utile d'ajouter quoi que ce soit dans PATH
|
|
|
|
|
|
## The Rails Command Line
|
|
|
|
|
|
Pour les étapes suivantes nous allons nous servir des outils en ligne de commande fournis par rails :
|
|
|
|
|
|
https://guides.rubyonrails.org/command_line.htm
|
|
|
|
|
|
### Création de l'application
|
|
|
|
|
|
Créer une application rails portant le nom "jdlc"
|
|
|
|
|
|
Observez les fichiers qui sont créés et les dépendances installées
|
|
|
|
|
|
Allez dans le dossier jdlc, vous êtes à la racine de l'application.
|
|
|
|
|
|
Vous retrouvez l'arborescence décrite dans le cours, visitez là.
|
|
|
|
|
|
### Lancement de l'application
|
|
|
|
|
|
`bin/rails server` lance un serveur web sur le port 3000.
|
|
|
|
|
|
C'est fait votre application fonctionne !
|
|
|
|
|
|
Les logs de l'application sont affichés dans le terminal.
|
|
|
|
|
|
Allez voir à quoi elle ressemble avec votre navigateur préféré sur http://localhost:3000
|
|
|
|
|
|
### Modifier la page d'accueil
|
|
|
|
|
|
On va commencer par personnaliser la page d'accueil.
|
|
|
|
|
|
Créer un controller `HomeController` avec une action `welcome`.
|
|
|
|
|
|
Servez vous du générateur décrit dans la documentation (`bin/rails generate`)
|
|
|
|
|
|
Modifier config/routes.rb pour faire pointer la racine (/) sur l'action `welcome` de `HomeController`
|
|
|
|
|
|
Retournez dans le navigateur et rafraichissez la page (F5)
|
|
|
|
|
|
Modifiez maintenant la vue concernée avec un contenu simple tel que :
|
|
|
|
|
|
```
|
|
|
<h1>Les joyeux de la couronne</h1>
|
|
|
|
|
|
<p>Bienvenue !</p>
|
|
|
```
|
|
|
|
|
|
Retournez dans le navigateur et rafraichissez la page (F5)
|
|
|
|
|
|
Affichez la source HTML de la page
|
|
|
|
|
|
Vous remarquerez que la vue ne contient que le `<body>` de la page HTML.
|
|
|
|
|
|
Si vous souhaitez modifier le layout, pour modifier la balise `<title>` par exemple, vous le trouverez dans `app/views/layouts/application.html.erb`
|
|
|
|
|
|
### Ajouter des créatures
|
|
|
|
|
|
Créez un modèle Creature dotée:
|
|
|
- d'un nom (name) en chaine de caractère
|
|
|
- d'un nombre de points de vie (health_points) en entier
|
|
|
|
|
|
Observez les fichiers créés
|
|
|
|
|
|
Retournez dans le navigateur et rafraichissez la page (F5) : que se passe t’il ?
|
|
|
|
|
|
Allez voir le fichier de migration indiqué sur la page.
|
|
|
|
|
|
(Explication rapides des migrations rails)
|
|
|
|
|
|
Lancer les migrations
|
|
|
|
|
|
Modifier le modèle pour ajouter une méthode to_label à Créature pour la conversion de la créature en texte : "Nom (pv)"
|
|
|
|
|
|
### Tester
|
|
|
|
|
|
Expliquer #create (lien vers la doc? ou c'est comme le new mais ça créé en base)
|
|
|
|
|
|
Expliquer la console
|
|
|
|
|
|
Tester de créer des créature et la methode to_label en console (bin/rails c)
|
|
|
|
|
|
Observation de requêtes SQL qui passent
|
|
|
|