Skip to content

Projet à réaliser en Ruby, gestion d'une bibliothèque de média avec utilisateurs

Notifications You must be signed in to change notification settings

flodavid/Ruby-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projet d’un site avec Ruby On Rails

Accueil du projet

github.com/flodavid/Ruby-project

Etat du projet

<img src=“https://codeclimate.com/github/flodavid/Ruby-Project/badges/gpa.svg” />

Chapitre 1 :

Versions :

  • ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux] et [x64-mingw32]

  • rake 10.5.0

  • rails 4.2.5.1

  • rspec 3.4.2

  • blueprint : v1.0.1-8

  • bootstrap

Chapitre 3 :

Les tests correspondent à une version plus récente de rails par rapport au tutoriel. Ainsi, j’utilise “assert_response” et “assert_select” au lieu de “response.should be_success” (ou de “expect(response).to have_http_status(:success)”) et de “response.should have_selector(…)”.

De plus j’ai utilise une variable “@base_title”, définie à l’aide de “def setup”, plutôt que “before(:each) do”, cette variable est utilisée en interpolation en lieu et place d’une concaténation.

Chapitre 4 :

  • Fichier “example_user.rb” crée pour le chapitre 4, inutile au projet.

Chapitre 5 :

  • Format du logo jpg au lieu de png et définition d’une variable logo.

  • Utilisation de la gem Bootstrap (boostrap-sass 3.3.6)

  • Utilisation de la gem capybara et

    "require 'capybara/rails' config.include Capybara::DSL"
    

ceci afin de pouvoir utiliser visit et have_title

Chapitre 6 :

  • Gem annotate-models n’existe pas, utilisation de la gem annotate_models (0.0.4),

je n’ai pas réussi à utiliser ‘annotate’ dans le terminal.

  • Ajout d’un ‘password’ et création des test correspondants (taille et non vide)

  • Utilisation de la gem bcrypt pour le hash de mots de passe

A Voir

??? ** L’utilisation de “has_secure_password” dans user aurait évité de nombreux tests

Chapitre 7 :

  • Utilisation des versions 4.5.0 et 4.6.0 des gems factory_girl et factory_girl_rails

  • Au vu de l’utilisation de versions récentes de FactoryGirl, il a fallut utiliser

    "FactoryGirl.define do" dans factories.rb et "FactoryGirl.create(:user)" dans les tests 'user'

Chapitre 8 :

  • Parties html différentes et ajout de css afin d’utiliser bootstrap

  • Création et utilisation d’une méthode “def user_params”

  • Modifications faites au niveau des tests d’intégration RSpec, de nombreuses méthodes

étaient “deprecated”, j’ai donc du adapter. J’ai tout de même utilisé

end.should not_to ...

car ne pas utiliser should dans ce cas entrainait de trops nombreux changements, ne pouvant pas simplement remplacer par ‘expect’ dans ce cas-ci

Chapitre 9 :

  • Le fichiers ‘routes.rb’ étant définit différement - j’utilise via … -, j’ai dû adapter

les “routes”, j’ai donc une route ‘signin’ avec ‘get’ et une autre avec ‘post’, pour l’affichage de la page de connexion et la requête de connexion.

  • Ajout de “//= require bootstrap” dans le fichier ‘app/assets/javascripts/application.js’

Ajouts :

  • Utilisation de Bootstrap pour la mise en page.

  • Les pages sont valides XHTML et

  • Ajout du lien vers le validateurs W3C (nécessite que le site soit déployé sur un serveur web)

  • Ajout d’un lien permettant de m’envoyer un e-mail sur la page Contact

  • Ajout d’un lien vers ma page de projet Github sur la page A propos

Autres

  • Toutes les pages sont valides HTML5, j’ai utilisé le validateur W3C pour les vérifier.

En revanche, elles ne sont pas valides XHTML 1.0. En effet, bootstrap s’appuie sur certaines balises HTML5 (header, footer, nav, …), puisque c’était ma première utilisation de bootstrap, je ne savais pas comment concilier les deux (simplement). De plus, le code HTML généré par rails contient parfois certaines propriétés propres au HTML5, des attributs ‘data-…’ par exemple et je ne savais pas non plus comment empêcher leur utilisation. J’ai donc choisi de mettre en commentaire la mention XHTML 1.0 dans le fichier ‘app/views/layouts/application.html.erb’.

A Voir

( “require rails_helper” au lieu de “require spec_helper” dans les fichiers de tests ???)

A Voir

(“RSpec.describe ”LayoutLinks“, type: :request do” au début des fichiers test ???)

Things you may want to cover:

  • System dependencies

  • Configuration

  • Database creation

  • Database initialization

  • How to run the test suite

  • Services (job queues, cache servers, search engines, etc.)

  • Deployment instructions

Please feel free to use a different markup language if you do not plan to run rake doc:app.

About

Projet à réaliser en Ruby, gestion d'une bibliothèque de média avec utilisateurs

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published