ruby et son écosystème (french)
DESCRIPTION
Ruby Ecosystème : le language, ses outils, librairies, frameworks, interpréteurs, ...TRANSCRIPT
![Page 1: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/1.jpg)
Ruby et son écosystèmeLe language, ses frameworks, en entreprise, sa communauté, …
Michael BensoussanLouis Cuny
Ruby et son écosystème Michael Bensoussan Louis Cuny
![Page 2: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/2.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
• Libre.• Language interprété, orienté objet et multi-paradigme
(Wikipedia).• Language né au Japon en 1993.• Première release en 1995.• Inspiré de plusieurs courants Perl, Smalltalk, Eiffel et Lisp.
Histoire
![Page 3: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/3.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Qui utilise Ruby ?
![Page 4: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/4.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Features
![Page 5: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/5.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
L’incontournable !
![Page 6: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/6.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Tout est objet !
![Page 7: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/7.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Tout est objet !
![Page 8: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/8.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Quelques classes de base String
Array
Hash
![Page 9: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/9.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Quelques classes de base Integer (Fixnum, Bignum)
Float
Ranges
![Page 10: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/10.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Quelques classes de base TrueClass, FalseClass, NilClass
Ne signifient pas la meme chose
![Page 11: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/11.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Dynamically typed
![Page 12: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/12.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Strongly typed
![Page 13: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/13.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Méthodes et paramètres Tout les paramètres sont passés par référence sur les objets
Une valeur par défaut peux-etre spécifié pour les paramètres
La valeur retournée est la dernière valeur évaluée
![Page 14: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/14.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Ruby juge un objet sur ce qu’il est capable de faire pas sur un type défini statiquement
Duck Typing
![Page 15: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/15.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Classes
![Page 16: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/16.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Héritage
![Page 17: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/17.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Modules Les modules sont des classes non instanciables Permet d’organiser l’espace de nom en structure arborescente
![Page 18: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/18.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Modules Pas d’héritage multiple en ruby
mais utilisation des Mixin !
Un Mixin étend les compétences d’une classe en lui ajoutant une série de méthodes
![Page 19: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/19.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Modules, exemple: Enumerable RDOC: The Enumerable mixin provides collection classes with several traversal and
searching methods, and with the ability to sort. The class must provide a method each, which yields successive members of the collection.
![Page 20: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/20.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Les blocs de code sont incontournables en Ruby
Blocs
Bloc = fragment de code avec contexte d’exécution
C’est un objet comme les autres (classe Proc)
Peut-être passé en paramètre et accepte lui aussi des paramètres
![Page 21: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/21.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Outils
![Page 22: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/22.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
interactive ruby shell
IRB
![Page 23: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/23.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Comme ‘make’ mais en Ruby !
Rake
![Page 24: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/24.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Gestion de package ruby
Gems
Gère les dépendances, les mises à jour, installe les librairies, exécutables et documentation
![Page 25: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/25.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Gems
![Page 26: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/26.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Gems, Libraries, Plugins
![Page 27: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/27.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Tests
![Page 28: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/28.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
unit testing framework : En programmation informatique, le test unitaire est un procédé permettant de s'assurer du fonctionnement correct d'une partie déterminée d'un logiciel (Wikipedia)
Rspec
![Page 29: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/29.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
![Page 30: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/30.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Interpréteurs
![Page 31: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/31.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Interpréteurs
![Page 32: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/32.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
FrameworksWebs
![Page 33: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/33.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Sinatra est un framework minimaliste pour créer des applications web sans efforts
Sinatra
A inspiré de nombreux autres frameworks dans de nombreux languages ; PHP (Slim, fitzgerald, frank.php), Perl (Dancer, Sinatra on Perl), javascript (express, samy), Scala (scalatra), Python (nicedog, web.py) …
![Page 34: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/34.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Sinatra
![Page 35: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/35.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Sinatra
![Page 36: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/36.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails Framework web basé sur 3 principes fondamentaux :
Convention Over Configuration DRY (don’t repeat yourself) REST
Il est basé sur une architecture MVC
![Page 37: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/37.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails
![Page 38: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/38.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails : Modèles
Générer un model
Editer la migration (db/migrations/201009021356_create_users.rb)
Les modèles sont les classes assurant la gestion des données.
![Page 39: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/39.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails : Modèles Le modèle (app/models/user.rb)
![Page 40: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/40.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails : Console Rails surcharge irb pour lui rajouter des fonctionnalités propres a Rails
![Page 41: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/41.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails : Controlleur Les contrôleurs réagissent aux actions des utilisateurs, ils vont chercher les
données dans la base et les mettent à disposition aux vues.
![Page 42: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/42.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails : Vues Les vues déterminent comment sont affichées les informations à l'utilisateur.
![Page 43: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/43.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Ressources Site Officiel : http://ruby-lang.org _why Guide to Ruby : http://mislav.uniqpath.com/poignant-guide/ Sinatra site officiel : http://www.sinatrarb.com/ Ruby On Rails tutorial : http://guides.rubyonrails.org/
Rspec site officiel : http://rspec.info/
Intégration continue avec Integrity : http://integrityapp.com/ Rubygems : http://rubygems.org/
Github : http://github.com/
![Page 45: Ruby et son écosystème (french)](https://reader033.vdocuments.net/reader033/viewer/2022052507/558e67371a28ab92218b46f3/html5/thumbnails/45.jpg)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Questions ?
[email protected]@letitcast.com