Une route, dans le contexte d’un site web ou d’une application web, peut être analogiquement comparée à une adresse dans une ville.
C’est comme une adresse qui vous indique où trouver une page ou une fonctionnalité spécifique au sein de l’application ou du site web.
En somme, une route offre une navigation structurée et claire, permettant aux utilisateurs de se déplacer efficacement dans l’environnement numérique, tout comme une adresse les oriente dans une ville en identifiant un lieu précis.
Lorsque vous tapez une adresse web dans la barre d’adresse de votre navigateur, vous suivez en réalité une route. Cette route vous mène à une page web particulière sur le site :
- chemin/accueil
- chemin/contact
Comment fonctionne le routage ?
Techniquement une URL est associée à une fonction ou une classe qui sera exécutée lorsque l’utilisateur accèdera à cette URL.
Ainsi, les routes permettent de déterminer ce qui doit être exécuté lorsque l’utilisateur accède à cette URL.
Cela peut servir par exemple
- Pour afficher une page spécifique, telle que la page d’accueil, une page de produit ou une page de contact.
- Pour exécuter une action, telle que l’ajout d’un produit au panier ou la connexion d’un utilisateur.
- Pour filtrer les résultats d’une requête, telle que l’affichage des produits d’une catégorie donnée ou des articles d’un auteur donné.
Exemple dans React
La gestion des routes dans React est couramment effectuée en utilisant la bibliothèque « React Router ».
Installation de React Router qui permet de créer un système de route
yarn add react-router-dom
ou bien
npm -i react-router-dom
Configuration de React Router
A la racine dans App.jsx
// Importation des librairies
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom'; //React Router > v6
import './App.css'
function App() {
return (
<>
<Router>
<Routes>
</Routes>
</Router>
</>
)
}
export default App
Créer les composants
Ajouter un fichier Home.jsx dans src/components/ puis Contact.jsx
import React from 'react'
export default function Home() {
return (
<div>
<h1 className="text-center">Hello</h1>
</div>
)
}
Importer le composant enfant dans App.jsx
// Importation des librairies
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
//Importation des composants
import Home from './components/Home'
import Contact from './components/Contact'
// Importation des styles
import './App.css'
function App() {
return (
<>
<Router>
<Routes>
</Routes>
</Router>
</>
)
}
export default App
Affichage des routes
Dans votre composant App
(ou tout autre composant), vous pouvez utiliser le composant Route
pour afficher le contenu de la route
// Importation des librairies
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import reactLogo from './assets/react.svg'
import viteLogo from '/vite.svg'
// Importation des composants
import Home from './components/Home'
import Contact from './components/Contact'
import './App.css'
function App() {
return (
<>
<Router>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/contact" element={<Contact />} />
</Routes>
</Router>
</>
)
}
export default App
Exemple dans Symfony
Dans Symfony, les routes sont définies dans le fichier config/routes.yaml
. Chaque route est définie par une entrée YAML qui contient les éléments suivants :
path
: L’URL de la route.controller
: Le nom du contrôleur qui sera exécuté lorsque l’utilisateur accède à cette URL.action
: La méthode du contrôleur qui sera appelée.
# config/routes.yaml
home:
path: /
controller: App\Controller\HomeController
action: index
Dans Vue.js, les routes sont gérées à l’aide d’une bibliothèque appelée « Vue Router ». Cela permet d’ajouter la gestion des routes à votre application de manière modulaire, en séparant la configuration des routes dans un fichier distinct.