Ruby on rails

De wiki jackbot
Révision datée du 5 novembre 2021 à 10:59 par Jackbot (discussion | contributions) (Page créée avec « Category:Informatique Ruby on rails est un framework web libre écrit en Ruby. Il est basé sur l'architecture Modèle-Vue-Contrôleur (MVC). Il a pour but de respecte… »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Ruby on rails est un framework web libre écrit en Ruby. Il est basé sur l'architecture Modèle-Vue-Contrôleur (MVC). Il a pour but de respecter deux principes fondamentaux de la programmation

  • DRY : Don't repeat yourself, ne vous répétez pas
  • Convention Over Configuration, Convention plutôt que configuration

Les générateurs

Ruby on Rails vient avec bon nombres de scripts appelé des générateurs, qui on pour but d'aider au développement en créant les fondations d'une nouvelle application Rails.

$ rails new blog

Va ainsi crée toute une arborescence :

$ tree -d -L 2
.
└── blog
    ├── app
    ├── bin
    ├── config
    ├── db
    ├── lib
    ├── log
    ├── node_modules
    ├── public
    ├── storage
    ├── test
    ├── tmp
    └── vendor
  • app contient les models, views, helpers, mailers, channels, jobs, et assets pour l'application.
  • bin contient les scripts permettant démarrer de l'application, ainsi que d'autres script pour définir, mettre à jour, déployer ou exécuter l'application.
  • config contient la configuration des routes, bases de données et autres.
  • db contient sans surprise la base de données, ainsi que les migrations.
  • lib contient les modules pour l'application.
  • log contient simplement les logs.
  • public contient des fichiers statiques ainsi que des ressources compilées. Quand l'application est lancée, ce dossier est exposé tel quel.
  • storage stockage actif de fichier.
  • test contient les tests unitaires
  • tmp contient des fichiers temporaires
  • vendor contient des gems externe

On y trouve également les fichiers suivant :

  • Gemfile qui permet de spécifier les dépendances
  • package.json qui permet de spécifier les dépendances vis à vis de npm


Conventions

Si on a apprit un langage tel que le C ou le C++, lire un tuto sur le ruby on rails est très déroutant, car on voit apparaître des passages de ce type :

ruby script/generate scaffold Contact name:string email:string

Sans réellement savoir ce qu'il se passe