Leanpub Header

Skip to main content

Créer votre framework web en Ruby

Vous souhaitez comprendre le fonctionnement interne d'un framework web ? Vous voulez écrire votre propre framework web mais vous ne savez pas par où commencer ? Ce livre vous dévoile les dessous des frameworks web, élément après élément, grâce à une réalisation concrète.

Free With Membership

With Membership

Free!

$12.99

You pay

$12.99

Author earns

$10.39
$

...Or Buy With Credits!

You can get credits monthly with a Reader Membership
PDF
EPUB
WEB
108
Readers
369
Pages
56,808Words
About

About

About the Book

Le framework web, quel qu'il soit, est l'outil de base du travail quotidien de nombreux développeurs et de nombreuses développeuses. Avec ce livre vous apprendrez tout de son fonctionnement et de ses rouages internes.

Vous aborderez en pratique la plupart des éléments qui composent les frameworks web :

  • Les notions de bases, que sont le routage, les contrôleurs, les vues et les modèles.
  • Des ORM (Object-relational mapping) comme Sequel, DataMapper ou Active record. Dans cet ouvrage nous utiliserons Sequel.
  • La gestion des templates et de leur disposition dans la page web avec des moteurs tel que ERB, Haml, Markaby ou Liquid.
  • La gestion des API, avec le format Json ou le format XML.
  • Le protocole HTTP avec ses réponses, ses requêtes, ses codes de retour.
  • Le flash, comme dans Ruby on Rails.
  • Les bases de données Sqlite et Postgresql, les notions de migration et de CRUD.
  • Des éléments moins glamour comme la gestion des logs, des redirections, du cache, ou encore des différents environnements de travail (development et production).
  • Des éléments beaucoup plus sexy comme les générateurs à la Ruby on Rails, les DSL, ou le déploiement dans le cloud sur Heroku.
  • Les notions de backend et de frontend pour former une seule et même application.

Il y aura quelques éléments spécifiques à Ruby, comme l'interface Rack et ses middlewares, le Gemfile et les gems, et le binding.

Pour tirer pleinement profit de ce livre, vous aurez besoin de quelques connaissances préliminaires en programmation. Si vous avez écrit deux ou trois sites web, quelque soit le langage, quelque soit le framework, vous possédez déjà les compétences requises pour utiliser ce livre au mieux. Comme le titre le précise, nous allons écrire un framework web en Ruby, il vous sera donc utile d'avoir déjà une certaine connaissance du langage Ruby. Si ça n'est pas le cas, rassurez vous, Ruby est un langage qui s'apprend facilement et rapidement et vous pourrez très bien l'apprendre en même temps que que vous lirez ce livre.

Author

About the Author

Xavier Nayrac

Xavier Nayrac est un développeur autodidacte qui a écrit ses premiers programmes sur l'ordinateur ZX81 en 1983. Adolescent, il gagne ses premiers francs dans l'industrie informatique en écrivant pour son père un programme de probabilité destiné à trouver les gagnants du tiercé. Depuis ses premiers sites web en PHP dans les années 90s jusqu'à son poste actuel d'expert technique, il a vu passer de nombreux frameworks web, tous différents, et en même temps tous identiques. 

Contents

Table of Contents

Avant-propos

  1. Code source
  2. Comment contacter l’auteur
  3. À qui s’adresse ce livre
  4. Crédits images
  5. Change log

Introduction

  1. Partie I : Éléments basiques d’un framework web

1 - Les bases de Rack

  1. Première rencontre
  2. Décryptage d’une ligne de log
  3. Application attendue par Rack
  4. Données et metadonnées
  5. Emplacement du config.ru

2 - Une route + un contrôleur + une vue = une application

  1. Une route
  2. Lexique français/anglais des termes de routage
  3. Un petit truc pour débugger
  4. Un contrôleur
  5. objet#méthode
  6. Une vue
  7. Erreur 500
  8. Une application

3 - Des routes + des controlleurs + des vues = un framework

  1. Des routes
  2. Des contrôleurs
  3. Des vues
  4. DRY : Don’t Repeat Yourself
  5. Un framework
  6. Envoyer des messages avec send
  7. Généralisons encore
  8. Le pourquoi de l’héritage

4 - Le Gemfile

  1. DSL, ou Domain Specific Language
  2. Source
  3. Gem
  4. Bundle
  5. Versions
  6. L’opérateur pessimiste
  7. Trouver la dernière version d’une gem
  8. Le Gemfile final

5 - Les bases de la base de données Sqlite3

  1. Sqlite3 avec Ruby
  2. Précisions sur les types de données
  3. Sqlite3 sur la ligne de commande
  4. DB Browser for Sqlite
  5. Conclusion

6 - Modèle de données avec Sequel

  1. Partie physique et partie conceptuelle ?
  2. Installer Sequel
  3. Utiliser Sequel pour récupérer les données
  4. Le modèle Article

7 - Template et binding

  1. Définition d’un template
  2. Binding
  3. Un premier template
  4. Layout

8 - CRUD

  1. Encore un blog
  2. Les 7 actions conventionnelles
  3. Index
  4. Show
  5. Query string
  6. Delete
  7. Conclusion temporaire

9 - CRUD (suite)

  1. new
  2. Formulaire web
  3. create
  4. edit & update
  5. Champ caché
  6. Avec ou sans slash ?
  7. Avant d’en finir
  8. Conclusion

10 - Les assets (CSS, JavaScript, images)

  1. Définition
  2. CSS
  3. JavaScript
  4. Les images
  5. Inclure plusieurs fichiers
  6. Conclusion

11 - 500, 404 et favicon

  1. Le dossier public
  2. robots.txt
  3. Erreur 500
  4. Erreur 404
  5. Favicon
  6. Comment rafraîchir un @!$$#@ de favicon !

12 - Templates partiels

  1. Partager un partiel entre plusieurs templates
  2. Lonesome operator &.
  3. Un partiel dans le layout principal
  4. Envoyer de l’information au template principal

13 - Notice

  1. De quoi parle-t-on ?
  2. D’abord la surface des choses
  3. Un premier essai de création
  4. Une session pour la mémoire
  5. Une classe Notice
  6. Conclusion

14 - Un DSL pour les routes

  1. Un DSL, c’est quoi ?
  2. Une version super simple mais controversée
  3. Is eval evil?
  4. Une seconde version
  5. Variables de classe
  6. Conclusion
  7. Partie II : Éléments avancés d’un framework web

15 - La base de données Postgresql

  1. Installation
  2. Configuration
  3. Création de la base de données
  4. Création de la table posts
  5. Utiliser Postgresql dans notre framework
  6. Vers un framework multi base
  7. Conclusion

16 - Déploiement sur Heroku

  1. PaaS
  2. Avant de continuer
  3. Création d’une application sur Heroku
  4. Première tentative de déploiement
  5. Création de la table posts
  6. Conclusion

17 - Migrations

  1. Introduction
  2. Une première migration
  3. Ajouter une seconde migration

18 - Middlewares Rack

  1. Introduction
  2. Structure d’un middleware
  3. TrailingSlashRemover
  4. humans.txt
  5. API switcher
  6. Notice
  7. Conclusion

19 - Le cache HTTP

  1. Cache HTTP ?
  2. Mettre en cache pour combien de temps ?
  3. Comment mettre en œuvre le cache HTTP ?
  4. Un cache HTTP par défaut
  5. Un cache HTTP à la demande
  6. À la demande ou par défaut
  7. Conclusion

20 - Des logs

  1. Log des requêtes HTTP
  2. Un log pour la base de données
  3. Log personnalisé
  4. Conclusion

21 - Autres moteurs de template (HAML, markaby, liquid)

  1. Introduction
  2. HAML
  3. Markaby
  4. Liquid
  5. Conclusion

22 - API (JSON, XML)

  1. Les citations de Pulp Fiction
  2. Expérimentons !
  3. Mise à jour des données
  4. Vers un framework «API friendly»
  5. La gestion des erreurs
  6. Et XML dans tout ça ?
  7. Conclusion

23 - Environnements

  1. Introduction
  2. Rechargement automatique
  3. Logs
  4. Base de données
  5. CSS

24 - Un générateur

  1. Rake et les arguments
  2. Création des 7 actions
  3. Écriture du fichier
  4. Avec des actions personnalisées
  5. shift
  6. custom
  7. Conclusion
  8. Partie III : Un exemple d’application

25 - Présentation de l’application

  1. Introduction
  2. Les APIs externes utilisées
  3. Notre framework

26 - Un backend/API

  1. Création des fichiers de base
  2. Création d’un User
  3. Création d’une collection
  4. Visualiser un user
  5. Lister les collections
  6. Supprimer une collection
  7. Parlons un petit peu de sécurité quand même
  8. Boostrap des gifs
  9. Lister les gifs d’une collection
  10. Un gif au hasard avec Giphy
  11. Ajout de l’API Tenor
  12. Variables d’environnement
  13. http://thecatapi.com/docs.html
  14. Les erreurs
  15. Déploiement en production
  16. Conclusion

27 - Un frontend

  1. Introduction
  2. Connexion
  3. Liste des murs
  4. Identification de l’utilisateur
  5. CSS
  6. Créer un mur
  7. Afficher le contenu d’un mur
  8. Menu
  9. Supprimer un mur
  10. Ajouter un gif
  11. Supprimer un gif
  12. Notice
  13. JavaScript
  14. Si vous ne connaissez pas JavaScript
  15. Si vous ne connaissez pas JavaScript II
  16. Si vous ne connaissez pas JavaScript III

28 - Conclusion

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub