Créer votre framework web en Ruby
Gratuit !
Avec l'adhésion
$12.99
Prix suggéré

Créer votre framework web en Ruby

À propos du livre

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.

À propos de l'auteur

xavier nayrac
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. 

Table des matières

  •  
    • Avant-propos
      • Code source
      • Comment contacter l’auteur
      • À qui s’adresse ce livre
      • Crédits images
      • Change log
    • Introduction
  • Partie I : Éléments basiques d’un framework web
    • 1 - Les bases de Rack
      • Première rencontre
      • Application attendue par Rack
      • Emplacement du config.ru
    • 2 - Une route + un contrôleur + une vue = une application
      • Une route
      • Un contrôleur
      • Une vue
      • Une application
    • 3 - Des routes + des controlleurs + des vues = un framework
      • Des routes
      • Des contrôleurs
      • Des vues
      • Un framework
      • Généralisons encore
    • 4 - Le Gemfile
      • Source
      • Gem
      • Bundle
      • Versions
      • L’opérateur pessimiste
      • Trouver la dernière version d’une gem
      • Le Gemfile final
    • 5 - Les bases de la base de données Sqlite3
      • Sqlite3 avec Ruby
      • Sqlite3 sur la ligne de commande
      • DB Browser for Sqlite
      • Conclusion
    • 6 - Modèle de données avec Sequel
      • Installer Sequel
      • Utiliser Sequel pour récupérer les données
      • Le modèle Article
    • 7 - Template et binding
      • Définition d’un template
      • Binding
      • Un premier template
      • Layout
    • 8 - CRUD
      • Encore un blog
      • Les 7 actions conventionnelles
      • Index
      • Show
      • Delete
      • Conclusion temporaire
    • 9 - CRUD (suite)
      • new
      • create
      • edit & update
      • Avec ou sans slash ?
      • Avant d’en finir
      • Conclusion
    • 10 - Les assets (CSS, JavaScript, images)
      • Définition
      • CSS
      • JavaScript
      • Les images
      • Inclure plusieurs fichiers
      • Conclusion
    • 11 - 500, 404 et favicon
      • Le dossier public
      • Erreur 500
      • Erreur 404
      • Favicon
      • Comment rafraîchir un @!$$#@ de favicon !
    • 12 - Templates partiels
      • Partager un partiel entre plusieurs templates
      • Un partiel dans le layout principal
      • Envoyer de l’information au template principal
    • 13 - Notice
      • De quoi parle-t-on ?
      • D’abord la surface des choses
      • Un premier essai de création
      • Une session pour la mémoire
      • Une classe Notice
      • Conclusion
    • 14 - Un DSL pour les routes
      • Un DSL, c’est quoi ?
      • Une version super simple mais controversée
      • Une seconde version
      • Conclusion
  • Partie II : Éléments avancés d’un framework web
    • 15 - La base de données Postgresql
      • Installation
      • Configuration
      • Création de la base de données
      • Création de la table posts
      • Utiliser Postgresql dans notre framework
      • Vers un framework multi base
      • Conclusion
    • 16 - Déploiement sur Heroku
      • Création d’une application sur Heroku
      • Première tentative de déploiement
      • Création de la table posts
      • Conclusion
    • 17 - Migrations
      • Introduction
      • Une première migration
      • Ajouter une seconde migration
    • 18 - Middlewares Rack
      • Introduction
      • Structure d’un middleware
      • TrailingSlashRemover
      • humans.txt
      • API switcher
      • Notice
      • Conclusion
    • 19 - Le cache HTTP
      • Cache HTTP ?
      • Mettre en cache pour combien de temps ?
      • Comment mettre en œuvre le cache HTTP ?
      • Un cache HTTP par défaut
      • Un cache HTTP à la demande
      • À la demande ou par défaut
      • Conclusion
    • 20 - Des logs
      • Log des requêtes HTTP
      • Un log pour la base de données
      • Log personnalisé
      • Conclusion
    • 21 - Autres moteurs de template (HAML, markaby, liquid)
      • Introduction
      • HAML
      • Markaby
      • Liquid
      • Conclusion
    • 22 - API (JSON, XML)
      • Les citations de Pulp Fiction
      • Expérimentons !
      • Mise à jour des données
      • Vers un framework «API friendly»
      • La gestion des erreurs
      • Et XML dans tout ça ?
      • Conclusion
    • 23 - Environnements
      • Introduction
      • Rechargement automatique
      • Logs
      • Base de données
      • CSS
    • 24 - Un générateur
      • Rake et les arguments
      • Création des 7 actions
      • Écriture du fichier
      • Avec des actions personnalisées
      • Conclusion
  • Partie III : Un exemple d’application
    • 25 - Présentation de l’application
      • Introduction
      • Les APIs externes utilisées
      • Notre framework
    • 26 - Un backend/API
      • Création des fichiers de base
      • Création d’un User
      • Création d’une collection
      • Visualiser un user
      • Lister les collections
      • Supprimer une collection
      • Boostrap des gifs
      • Lister les gifs d’une collection
      • Un gif au hasard avec Giphy
      • Ajout de l’API Tenor
      • Variables d’environnement
      • http://thecatapi.com/docs.html
      • Les erreurs
      • Déploiement en production
      • Conclusion
    • 27 - Un frontend
      • Introduction
      • Connexion
      • Liste des murs
      • CSS
      • Créer un mur
      • Afficher le contenu d’un mur
      • Menu
      • Supprimer un mur
      • Ajouter un gif
      • Supprimer un gif
      • Notice
      • JavaScript
    • 28 - Conclusion

La garantie satisfaction de 60 jours à 100% de Leanpub

Dans les 60 jours suivant l'achat, vous pouvez obtenir un remboursement à 100% sur tout achat Leanpub, en deux clics.

Techniquement, c'est risqué pour nous, puisque vous aurez les fichiers du livre ou du cours dans tous les cas. Mais nous avons tellement confiance en nos produits et services, ainsi qu'en nos auteurs et lecteurs, que nous sommes heureux d'offrir une garantie de remboursement intégral pour tout ce que nous vendons.

Vous ne pouvez découvrir la qualité de quelque chose qu'en l'essayant, et grâce à notre garantie de remboursement à 100%, il n'y a littéralement aucun risque à le faire !

Alors, il n'y a aucune raison de ne pas cliquer sur le bouton Ajouter au panier, n'est-ce pas ?

Voir les conditions complètes...

Gagnez 8 $ sur un achat de 10 $, et 16 $ sur un achat de 20 $

Nous versons des redevances de 80 % sur les achats de 7,99 $ ou plus, et 80 % de redevances moins des frais fixes de 50 cents sur les achats entre 0,99 $ et 7,98 $. Vous gagnez 8 $ sur une vente de 10 $, et 16 $ sur une vente de 20 $. Ainsi, si nous vendons 5000 exemplaires non remboursés de votre livre à 20 $, vous gagnerez 80 000 $.

(Oui, certains auteurs ont déjà gagné beaucoup plus que cela sur Leanpub.)

En fait, les auteurs ont gagnéplus de 14 millions de dollars en écrivant, publiant et vendant sur Leanpub.

En savoir plus sur l'écriture sur Leanpub

Mises à jour gratuites. Sans DRM.

Si vous achetez un livre Leanpub, vous bénéficiez de mises à jour gratuites tant que l'auteur met à jour le livre ! De nombreux auteurs utilisent Leanpub pour publier leurs livres en cours de rédaction. Tous les lecteurs reçoivent des mises à jour gratuites, peu importe quand ils ont acheté le livre ou combien ils ont payé (même si c'était gratuit).

La plupart des livres Leanpub sont disponibles en PDF (pour ordinateurs) et en EPUB (pour téléphones, tablettes et Kindle). Les formats disponibles pour un livre sont indiqués dans le coin supérieur droit de cette page.

Enfin, les livres Leanpub n'ont aucune protection DRM absurde, vous pouvez donc les lire facilement sur n'importe quel appareil compatible.

En savoir plus sur les formats d'ebook Leanpub et où les lire

Écrire et publier sur Leanpub

Vous pouvez utiliser Leanpub pour écrire, publier et vendre facilement des livres numériques et des cours en ligne, qu'ils soient en cours ou terminés !

Leanpub est une plateforme puissante pour les auteurs sérieux, combinant un processus d'écriture et de publication simple et élégant avec une boutique axée sur la vente de livres numériques en cours de développement.

Leanpub est une machine à écrire magique pour les auteurs : écrivez simplement en texte brut, et pour publier votre livre numérique, cliquez simplement sur un bouton. (Ou, si vous produisez votre livre numérique à votre façon, vous pouvez même télécharger vos propres fichiers PDF et/ou EPUB et publier en un seul clic !) C'est vraiment aussi simple que ça.

En savoir plus sur l'écriture sur Leanpub