Débutez avec Ruby on Rails

Découvrez Ruby on Rails en codant un clone de Product Hunt. Maîtrisez enfin le backend et donnez vie à vos idées !

A propos de ce cours

  • Reprenez les bases du langage ruby et jouez avec l’API Product Hunt pour récupérer des données.
  • Découvrez les notions clefs d’architecture logicielle (MVC) pour comprendre comment Rails est construit.
  • Apprenez à modéliser votre base de données.
  • Créez un clone de Product Hunt en suivant la méthodologie utilisée dans les startups (schéma de la base de données, maquette, user stories et implémentation).
  • Comprenez les bases de Rails mais aussi ses bonnes pratiques (pour soigner le frontend, déployer sur Heroku, etc..)
  • Utilisez de nombreuses librairies ruby et intégrez un login, un upload d’images, etc..

A qui ce cours est-il destiné ?

  • Première expérience en HTML/CSS
  • Entrepreneurs Tech
  • Product Managers
  • Développeurs Front-End
  • Développeurs Rails débutant

Formule tout compris

  • 21 cours vidéos & leur quiz
  • 11 heures d'explication
  • 281 objectifs à accomplir
  • Des réponses à vos questions par les profs du Wagon

Ce que vous allez apprendre

  • Fondamentaux du langage ruby
  • Bases de l’architecture objet (MVC)
  • Modélisation d’une base de données SQL
  • Méthodologie de travail d’une startup
  • Connexion à des APIs Web en ruby
  • Fondamentaux de Rails
  • Implémentation d’un login
  • Implémentation d’un upload d’image
  • Versionning avec git
  • Déploiement sur Heroku
Forum debutez avec ruby on rails

Bien plus qu'un cours en ligne, une communauté tech

Pose tes questions à des professionnels qui te répondront chaque semaine: Sébastien (ex-Google et CTO du Wagon), Martin (data-scientist chez Airbnb), Boris (CEO-fondateur du Wagon).

Bien mieux que StackOverflow ou que n'importe quel cours de code en ligne, on te donnera des explications simples, des morceaux de code et des liens vers les dernières ressources pour rester à la page.

Rejoins une communauté tech d'une grande qualité pour apprendre dix fois plus vite.

Profs pédagogues et sympas, interface agréable. Que du plaisir en plus d'être hyper efficace ! Tout est expliqué de A à Z, contrairement à Codecademy ou à des tutos youtube.
11291089?v=4
J'apprécie le style clair et direct des vidéos. Je suis très impressionnée par le progrès que j'ai fait en quelques jours par rapport à ce que j'ai appris ailleurs pendant plusieurs semaines.
12845838?v=3
Superbe initiative et bonnes ressources proposées. Keep going, votre modèle très qualitatif vaut vraiment le premium versus d'autres Mooc moins onéreux :) beaucoup plus convivial et interactif.
13301177?v=3
Les modules sont très bien faits. Les quizs sont super. Je suis totale néophyte en code donc le "pas à pas" est vraiment bien calé pour moi !
12221304?v=3

Le Programme

1 Installer Rails sur son ordinateur

Les bons outils font les bons artisans. Installez rapidement
tout ce qu’il faut pour coder dans de bonnes condition !

  • Bienvenue !

    00:00
  • Mac - Version du système

    00:25
  • Mac - Outils de ligne de commande

    01:00
  • Mac - Homebrew

    02:01
  • Mac - Oh-my-zsh

    03:36
  • Mac - git & GitHub

    04:53
  • Mac - Ruby

    08:38
  • Mac - Terminal Pro

    09:28
  • Mac - Postgresql

    09:57
  • Mac - Rails!

    11:00
  • Mac - Vérification du setup

    11:50
  • Mac - Sublime Text

    13:06
  • Cloud9 - Introduction

    17:49
  • Cloud9 - Créer un projet

    19:11
  • Cloud9 - git & GitHub

    22:31
  • Cloud9 - Postgresql

    03:07
  • Cloud9 - Ruby

    25:40
  • Cloud9 - Rails

    27:15
  • Cloud9 - Vérification

    28:47
  • Vous êtes prêt(e) !

    34:08

2 Les bases du langage Ruby

Exécutez du code Ruby sur son ordinateur, découvrez les types
de données, les variables, les conditions et les méthodes.

  • Introduction

    00:00
  • Comment exécuter du code Ruby

    00:25
  • Prise en main de irb

    00:52
  • Fichier de code source *.rb

    01:53
  • Exécuter un fichier *.rb avec ruby

    03:18
  • Afficher avec puts

    03:46
  • Les types de données

    04:13
  • Le type Fixnum

    05:07
  • Le type Float

    07:43
  • Les booléens true et false

    08:32
  • Le type String

    09:54
  • Méthodes de String

    10:42
  • Concaténation de deux String

    13:14
  • Interpolation dans une String

    14:13
  • Les variables

    16:34
  • Affectation et incrément de age

    17:46
  • Utilisation de plusieurs variables

    21:33
  • Les méthodes destructives (!)

    23:15
  • Algorithme de calcul d’une somme

    24:30
  • Flux d’exécution

    27:20
  • Le mot-clé if

    27:53
  • Le mot-clé else

    28:03
  • Le mot-clé elsif

    28:18
  • La logique booléenne

    28:43
  • Les méthodes

    37:39
  • Notion de paramètre

    38:59
  • Notion d’argument

    39:16
  • Live-code d’une méthode #full_name

    39:22
  • Conclusion

    44:27

3 Tableaux, Hashes et Itérateurs

Manipulez des listes d’élément avec Array et Hash, comprenez
les notions d’itération et de block avec #each.

  • Introduction

    00:00
  • Le type Array

    00:15
  • Création d’un tableau ([])

    01:00
  • Taille d’un tableau (#length)

    01:33
  • Accès à un élément ([i])

    01:58
  • Modification d’un élément

    03:29
  • Ajout d’éléments au tableau (<<)

    04:00
  • Itérateurs

    05:09
  • Le mot-clé .each

    05:33
  • Documentation de Array

    05:55
  • Le mot-clé for

    07:05
  • La technique idiomatique #each

    07:49
  • Le module Enumerable

    09:23
  • #each_with_index

    09:58
  • Autres itérateurs utiles

    11:05
  • Le type Hash

    12:54
  • Live-code avec Hash

    13:28
  • Exemple du dictionnaire

    14:03
  • Example d’une personne, john

    14:53
  • Accès à une valeur par [key]

    17:06
  • Le type Symbol

    18:02
  • Itération sur Hash

    21:53
  • Live-code d’itération

    22:30
  • La méthode Hash#eash

    23:14
  • Live-code - Seed avec Product Hunt

    24:53
  • Conclusion

    36:25

4 Ruby, le langage du "tout objet"

Appréhendez les notions de classe et d’instance, de variable d’instance et
de méthode d’instance, ainsi que l’héritage de classe.

  • Tout est objet !

    00:00
  • Classe / Instances

    00:30
  • Convention de nommage

    01:35
  • Tester dans irb avec require_relative

    03:20
  • Variables d’instance

    05:16
  • Méthodes d’instance

    08:50
  • Héritage

    15:57
  • Live-code Product Hunt

    22:36
  • Conclusion

    27:28

5 Le patron de conception MVC

Ruby on Rails est basé sur le design pattern MVC. Il est
donc fondamental de maîtriser ce concept pour avancer.

  • Introduction

    00:00
  • Modèle

    00:33
  • Début du live-code avec Task

    01:05
  • Controlleur et Vue

    04:54
  • Routeur

    29:04
  • Conclusion

    37:20

6 Travailler sur un produit tech

Faites le tour des étapes-clef de conception: mockup, schéma de la base de données, liste des user stories

  • Trois étapes-clef de conception

    00:00
  • Mockup de l’application sur Sketch

    00:42
  • Le schéma d’une base de données

    11:08
  • Table products et relation one-to-many

    11:47
  • Table upvotes et relation many-to-many

    12:57
  • Dessiner le schéma de sa base

    14:57
  • Qu’est ce qu’une user story ?

    20:50
  • Organiser ses user stories dans Trello

    21:37
  • Bilan du cours

    26:14

7 Premiers pas avec Rails

Créez votre première app et découvrez les trois briques MVC dans Rails. Utilisez le template du Wagon pour démarrer un projet avec la bonne configuration !

  • Introduction

    00:00
  • Historique et versions de Rails

    00:13
  • Convention over Configuration

    00:36
  • Open-Source et communauté ruby

    01:07
  • Commandes de base Rails

    01:38
  • Créer son app avec rails new

    02:32
  • Versionner son travail avec git

    06:26
  • Pousser son code sur Github

    07:27
  • Rappels sur git et Github

    09:29
  • MVC dans Rails

    09:35
  • Live-code - MVC dans Rails

    10:41
  • Le template du Wagon ?

    19:27
  • Live-code - template Rails du Wagon

    19:52
  • Bilan du cours

    25:17

8 Le routing dans Rails

Comprenez enfin HTTP, le protocole sur lequel est basé internet.
Définissez vos première routes dans Rails pour traiter les requêtes HTTP qui arrivent à votre site.

  • Rappel sur MVC dans Rails

    00:00
  • Qu’est-ce qu’une requête HTTP ?

    00:21
  • Les 4 éléments d’une requête

    01:05
  • Décortiquer des requêtes HTTP avec Chrome

    01:29
  • Le routing dans Rails

    06:31
  • Live-code - nos premières routes

    07:45
  • Générer un controlleur Products

    14:15
  • La convention Action / Vue

    17:52
  • ERB, Embedded Ruby

    18:40
  • Live-code - premiers templates ERB

    19:23
  • Live-code - jouer avec ruby dans ERB

    23:11
  • Live-code - variables d’instance

    26:05
  • Live-code - boucle each dans ERB

    28:23
  • Conclusion

    33:55

9 Les params dans Rails

Comment communiquer des paramètres pour qu’un site construise les bonnes pages (profil Facebook, résultats Airbnb) ?
Découvrez les params dans Rails.

  • Introduction

    00:00
  • Exemples de Facebook, Airbnb, Le Wagon

    00:07
  • Résumé sur les paramètres

    06:18
  • Le hash params dans Rails

    07:33
  • Live-code - ajout d’un filtre avec params

    07:53
  • Paramètre dans la route

    17:20
  • Récapitulatif

    27:18

10 Active Record

Découvrez Active Record, la librairie au coeur de Rails. Grâce à elle, ce sera un vrai bonheur de lire/écrire dans votre base de données grâce à des méthodes ruby très simples.

  • Introduction

    00:00
  • Convention de nommage Active Record

    00:13
  • Générer un modèle dans Rails

    01:25
  • Exécuter ses migrations

    02:06
  • La console Rails

    02:25
  • Méthode all

    02:31
  • Méthodes new et save

    02:46
  • Méthode find

    03:11
  • Live-code - le modèle Product

    03:50
  • Live-code - intégrer le modèle dans l’app

    16:05
  • Live-code - versionner avec Git

    21:18
  • Live-code - ajouter une migration

    22:30
  • Validations Active Record

    25:49
  • Live-code - validations sur Product

    27:15
  • commit et push

    34:34
  • Conclusion

    36:25

11 CRUD dans Rails

Create, Read, Update, Delete : des actions qu’on retrouve dans tous les sites. Découvrez les routes correspondantes dans Rails.

  • Introduction

    00:00
  • Que veut dire CRUD ?

    00:07
  • Le routing CRUD dans Rails

    00:44
  • Actions de lecture

    01:39
  • Actions de création

    03:04
  • Actions de modification

    05:26
  • Action de suppression

    07:46
  • La méthode resources

    09:17
  • Limiter les points d’entrée dans resources

    11:18
  • Coder toutes les actions du controller

    13:55
  • Les helpers Rails

    17:26
  • Les Prefix de routing

    17:57
  • Les liens link_to

    22:33
  • Récapitulatif

    30:27

12 CRUD - new et create

Implémentez les actions de création new et create, et apprenez à générer un formulaire Rails sécurisé avec Simple Form.

  • Introduction

    00:00
  • Coder l’action new

    01:04
  • Coder un formulaire HTML

    01:27
  • Formulaire HTML non sécurisé

    05:04
  • Mettre un point d’arrêt pour debugger

    06:32
  • Paramètres postés par un formulaire

    07:06
  • Paramètres imbriqués

    09:22
  • Design du formulaire avec Bootstrap

    11:17
  • Recoder son formulaire avec simple_form_for

    16:42
  • Clef de sécurité avec simple_form_for

    21:33
  • Implémenter le create

    25:39
  • Hacker un formulaire en ajoutant des champs

    25:40
  • Les strong params, un filtre de Rails

    27:45
  • Redirection avec redirect_to

    29:57
  • Ajout d’un lien vers le formulaire de création

    32:19
  • Validations et seed

    34:10
  • commit et push

    44:55
  • Conclusion

    45:37

13 CRUD - edit, update et destroy

Editer ou supprimer un produit ? Rien de plus simple maintenant qu’on sait en créer. Finissons d’Implémenter toutes les actions CRUD de Rails.

  • Introduction

    00:00
  • Actions edit et update

    00:11
  • Récupérer le produit à éditer

    00:55
  • Renvoyer le template d’édition

    01:04
  • Ré-utiliser le formulaire simple_form

    01:22
  • Requête faite par le formulaire d’édition

    02:55
  • Coder l’action update

    03:48
  • Coder l’action destroy

    06:39
  • Refacto du code

    11:25
  • Simplifier l’UX de ses vues

    11:50
  • Refacto du controller avec before_action

    15:50
  • Refacto des formulaires avec une partial

    17:48
  • Versionner son travail

    21:24
  • Conclusion sur CRUD

    22:19

14 Le frontend dans Rails

Dévouvrez le layout et les partial pour simplifier le code de vos vues. Ajoutez une navbar et designez toutes les pages de Wagon Hunt en 20 minutes.

  • Introduction

    00:00
  • Construction du layout

    00:13
  • Bannière de la page d’accueil

    01:00
  • Ajout d’une navbar

    06:07
  • Le fichier de layout application.html.erb

    06:35
  • Mettre sa navbar dans une vue partielle ERB

    07:24

15 User story de A à Z dans Rails

Reprenons toutes les briques de Rails pour ajouter une nouvelle user story : le filtre des produits par catégorie.

  • Introduction

    00:00
  • Objectif de la user story

    00:36
  • Impact sur le schéma de la DB

    00:45
  • Migration

    03:14
  • Ajout des validations

    04:44
  • Enrichir les formulaires de création et d’édition

    07:20
  • Ajouter un strong params dans le controlleur

    08:37
  • Inclure la catégorie dans la show view

    11:00
  • Recherche par catégorie sur la page d’accueil

    12:25
  • Logique de filtre dans la méthode index

    18:38
  • Versionner sa user story

    21:05
  • Conclusion

    22:30

16 Déploiement en production sur Heroku

Déployer son application Rails avec git sur une Platform as a Service comme Heroku.

  • Lancer rails s dans le cloud

    00:00
  • Prise en main de Heroku

    00:41
  • Installer la Heroku Toolbelt

    01:38
  • Création de l’application

    03:40
  • Déployer avec un git push

    06:20
  • Première erreur en production !

    09:27
  • Affichez les logs serveur

    09:57
  • Migration de la base de production

    11:05
  • Rails console en production

    13:08
  • Conclusion

    14:46

17 Utilisateurs et système d'authentification

L’intérêt d’une vraie application web avec un back-end est de permettre
à ses clients ou ses utilisateurs de s’inscrire et se connecter à un back-office
personnalisé.

  • Authentification

    00:00
  • Un point sur le schéma

    00:20
  • Installation de la gem devise

    00:59
  • Lancement du générateur devise

    02:20
  • Génération du modèle User

    04:43
  • Détail des modules du modèle

    06:45
  • Les routes de devise

    08:33
  • Inscription (Sign up)

    10:53
  • Connexion (Sign in)

    12:20
  • Impact sur la barre de navigation

    13:28
  • Designer les messages flash

    18:30
  • Modifier le code des vues devise

    22:37
  • Authentification par liste blanche

    26:32
  • Clé étrangère user_id dans products

    31:04
  • Ajout d’utilisateurs dans la seed

    35:29
  • Associer un User à la creation du Product

    38:25
  • Mise en production

    41:27
  • Conclusion

    46:15

18 Upload d'image côté utilisateur

Les images du site vont dans app/assets/images. Mais les images des utilisateurs (photo de profil, image du produit, etc.) sont uploadées ! Comment les gérer et les stocker ?

  • Introduction

    00:00
  • Présentation de Cloudinary

    00:40
  • Création de compte Cloudinary

    03:12
  • Configuration de l’appli Rails

    04:23
  • Upload de notre première image

    08:02
  • Le helper cl_image_tag

    09:59
  • Ajout d’un champ d’upload au formulaire

    13:18
  • Mise en production

    31:56
  • Conclusion

    37:07

19 Fonctionnalité d'upvote sur un produit

Toute la méthodologie nécessaire pour ajouter from scratch une nouvelle fonctionnalité à une app Rails.

  • Retour au schéma

    00:00
  • Table de jointure

    00:54
  • Génération du modèle Upvote

    01:35
  • Ne pas oublier les has_many

    02:45
  • Ajout d’upvotes au seed

    03:06
  • Compteur sur l’index des produits

    06:13
  • Routes nécessaires au vote

    06:56
  • MVC pour Upvotes#create

    08:22
  • MVC pour Upvotes#destroy

    17:30
  • Validation d’unicité sur Upvote

    20:37
  • CSS sur le lien d’upvote

    22:40
  • CSS voté / pas voté

    24:20
  • Mise en production

    29:38
  • Conclusion / Méthodologie

    33:26

20 Un peu d'AJAX au pays de Rails

Rendre une application web plus fluide avec AJAX, the Rails way.

  • Introduction

    00:00
  • Quel est le problème actuel ?

    00:09
  • Petit point sur l’existant

    01:15
  • Dans la vue : remote: true

    01:54
  • … dans le contrôleur : respond_to

    02:26
  • … et une vue .js.erb

    03:14
  • Récap

    03:42
  • Principe pour la réponse AJAX

    04:39
  • Factorisation dans un partial

    05:35
  • Code jQuery dans la vue .js.erb

    07:13
  • On refait la même, pour l’annulation de vote

    10:24
  • Un peu de CSS pour le .product-upvote

    12:53
  • Récap du flux

    14:07
  • Mise en production

    14:54
  • Conclusion

    16:41

21 Conclusion

Bravo d’être arrivé jusque là ! On vous encourage à aller plus loin avec Rails.

  • Conclusion

    00:00
Débutez avec Ruby on Rails
199 € accès à vie
  • 21 cours vidéos & leur quiz
  • 11 heures d'explication
  • 281 objectifs à accomplir
  • Des réponses à vos questions par les profs du Wagon
Déjà un compte GitHub ? Connectez-vous
ou regarder la première vidéo gratuitement.

Merci !

Paiement en cours