1893 avis : 5/5 ⭐️⭐️⭐️⭐️⭐️

Wordpress développement

Developpeur wordpress

devise authentification for rails

Installer Devise sur une app rails (authentification)

Qu’est ce que Devise ?

Devise est une gem (librairie ruby) disponible dans la ruby gem, qui vous permet d’ajouter l’authentification et l’enregistrement d’utilisateurs sur votre application. Il est primordiale d’avoir Devise ! En effet, Devise vous permettra d’avoir accès a de nouvelles méthodes. Nous avons alors comme nouvelles notions le current_user, if user_sign_in? etc.

Application rails basique

Pour créer notre application afin de faire un test sur l’authentification, je suis parti sur un template basique de rails :

rails new appname --webpack=stimulus -d postgresql

Pour les élèves du wagon vous avez un template prédéfini pour vous : (accessible que si vous êtes inscrit à la formation de développement web).

rails new \
  -d postgresql \
  -j webpack \
  -m https://raw.githubusercontent.com/lewagon/rails-templates/master/minimal.rb \
NAME-OF-MY-MYAPP
rails new devise authentification

Configurer notre application avant l’installation de devise

Nous allons dans un premier temps, lancer la compilation de nos gems, lancer la création de notre base de donnée. Pour cela lancer dans le terminale :

bundle
rails db:reset # drop la db, créée une nouvelle DB + lance le ficher seed

Lancer un serveur rails + webpack (pour compiler le javascript)

Avant de pouvoir accéder à notre application rails (ne contenant aucun controller ni model), ne pas oublier de lancer le serveur webpack :

yarn build --watch
rails serveur

Prenons connaissance de notre application

Premièrement nous allons regarder le fichier route et aller sur le localhost afin de voir la page générée par rails.

routes rails

Générer un controller pages pour afficher une page

Nous allons générer un controller avec une route par défaut afin d’avoir une page d’accueil personnalisée avant l’installation de DEVISE sur notre application rails.

Pour cela lancer la commande :

rails g controller pages

Une fois notre commande lancée, nous devons modifier le fichier route par :

modifier une route en rails

Nous crééons ensuite une méthode vide dans le fichier controlleur pages :

controller pages rails

Nous devons ensuite créer un fichier view : index.html.erb :

créer un fichier html erb pour rails
view in rails

En relançant notre serveur voici ce que nous devons voir :

Installer devise

Premièrement nous allons aller dans le gemfile, et ajouter la ligne de code suivante :

gem 'devise'

Puis nous allons lancer l’installation des gems sur notre application rails. Pour cela nous connaissons la commande :

bundle # bundle == bundle install ++ bundle update
installer devise gem ruby on rails

Configuration automatiquement devise

Pour lancer la configuration par défaut de devise, il nous suffit de lancer la commande suivante dans le terminale :

rails g devise:install

Il nous suffit maintenant de suivre les 4 étapes données par devise :

Vérifier que votre fichier developement.rb contient bien :

config.action_mailer.default_url_options = { host: "localhost", port: 3000 }

(sinon l’ajouter manuellement)

Ajouter la ligne de configuration pour la production :

config.action_mailer.default_url_options = { host: "remplacerparvotreurldeproduction"}
  • Ajouter les flashs messages dans votre application.html.erb
  • Pour ajouter les deux messages flashs de devise :
<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>

Rendez-vous dans le fichier application.html.erb et les ajouter dans le body

flash message devise installation rails

Adapter le controller

Pour commencer nous allons modifier le controller application en ajoutant cette ligne de code :


before_action :authenticate_user!
before_action :configure_permitted_parameters, if: :devise_controller?

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:first_name, :last_name])

    devise_parameter_sanitizer.permit(:account_update, keys: [:first_name, :last_name])
 end
devise application controller

Configurer les views par défaut de devise (automatiquement)

Afin de générer automatiquement les views de devise, nous devons lancer la commande :

rails g devise:views
devise générations des views rails

Dernière étape, ajouter le model user à votre application

Pour ajouter la table User afin que devise puisse fonctionner sur votre application rails, vous devez lancer la commande :

rails g devise User
rails db:migrate # pour ajouter le fichier de migration à votre schema.rb et votre base de donnée

Important !! Activer les turbos devise sur rails 7

Dans le fichier : config/initializers/devise.rb, ajouter le code ci-dessous :

config.navigational_formats = ['*/*', :html, :turbo_stream]

Vérifier que Devise est bien installé sur votre application

Pour vérifier que la configuration de devise s’est bien déroulée, je vous invite à tester vos routes :

localhost:3000/users/sign_in ainsi que la route localhost:3000/users/sign_up

devise sign_in rails
devise sign_up rails

Pour aller plus loin (optionnel)

Devise est un outil très puissant permettant également d’autoriser ou non l’accès à vos pages en étant connecté ou non. Pour n’autoriser que les utilisateurs connectés sur votre application. Vous devrez ainsi, vous rendre dans le fichier ApplicationController et ajouter cette ligne de code :

before_action :authenticate_user!
obliger l'inscription devise rails

Autoriser certaine page de votre application rails sans connection

Il est très commun de trouver sur un site web, la page d’accueil (home page), libre d’accès sans devoir vous connecter. Pour cela il faudra ajouter une autorisation à chaque page que vous souhaitez rendre disponible à vos utilisateurs non connecté. Afin de réaliser cela, ajouter dans le controller concernée (pour notre exemple, la page d’accueil) :

# controlleur pages
skip_before_action 
skip_before_action  devise rails

Comme l’indique l’image nous avons spécifier à notre controller pages, d’exclure la vérification de l’authentification d’un utilisateur via devise uniquement pour la méthode et le fichier index (soit notre page d’accueil). Vous pouvez bien sûr inclure plus de méthode et ainsi ajouter cette ligne sur les contrôleurs de votre choix.

Lien du repo github concerné : https://github.com/alexisjps/demo-install-devise

Articles dans la thématique Wordpress :
SEO local, Google Maps, Optimisation locale, Annuaire local, Stratégie de localisation, Mots clés géolocalisés, Optimisation pour les moteurs de recherche locaux, Géolocalisation des mots-clés, Visibilité locale, Publicité géolocalisée, Positionnement local, Marketing local, Contenu localisé, SEO local WordPress, Visibilité sur les moteurs de recherche locaux, Annonce locale, Gestion des avis locaux, Réputation locale, Référencement WordPress local, Campagne de référencement local.
Comment améliorer votre SEO local sur WordPress

Vous avez une entreprise locale et vous souhaitez améliorer votre visibilité en ligne ? Le référencement local sur WordPress est la clé pour attirer des clients potentiels dans votre région. Dans cet article, je vais vous donner des conseils pratiques pour optimiser votre SEO local sur votre site WordPress. En.

Lire l'article
Extension SEO WordPress, Outils SEO WordPress, Optimisation SEO WordPress, Plugins référencement WordPress, Améliorer SEO WordPress, Longue traîne WordPress, SEO interne WordPress, Visibilité WordPress, Techniques SEO WordPress, Pluggin SEO WordPress
Les meilleurs plugins SEO pour WordPress en 2025

Saviez-vous que le référencement naturel est crucial pour le succès de votre site WordPress en 2025 ? Les plugins SEO peuvent grandement vous aider à optimiser votre visibilité en ligne et à atteindre un meilleur classement dans les résultats des moteurs de recherche. Dans cet article, je vais vous présenter.

Lire l'article
Optimiser son site WordPress pour le SEO mobile

Vous souhaitez améliorer le référencement de votre site WordPress pour les recherches effectuées sur mobile ? Vous êtes au bon endroit ! L’optimisation du SEO mobile est devenue essentielle de nos jours, compte tenu de l’importance croissante de l’utilisation des smartphones et des tablettes pour naviguer sur internet. Dans cet.

Lire l'article