Bootstrap - Modal Demo

Qu'est-ce qu'un Modal ?

Bonjour, futurs développeurs web ! Aujourd'hui, nous allons plonger dans le monde passionnant des modals de Bootstrap. En tant que votre enseignant bienveillant en informatique, je suis là pour vous guider dans cette aventure, étape par étape. Alors, prenez votre boisson favorite, asseyez-vous confortablement, et mettons-nous en route pour cette aventure modal !

Bootstrap - Modals Demo

Définition et Objectif

Un modal, en termes de développement web, est comme une fenêtre contextuelle qui apparaît au-dessus de la page actuelle. C'est un excellent moyen de présenter du contenu sans quitter la vue actuelle. Imaginez que vous lisez un article et que soudain vous voulez plus d'informations sur un terme spécifique. Au lieu d'ouvrir une nouvelle page, un modal peut apparaître avec les détails supplémentaires, vous permettant de rapidement revenir à votre lecture. Génial, non ?

Bootstrap, notre ami fidèle dans la conception web, propose un excellent composant modal qui est à la fois facile à utiliser et hautement personnalisable. Explorons comment l'implémenter !

Structure de Base du Modal

Structure HTML

Commençons par la structure HTML de base d'un modal Bootstrap :

<div class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Titre du Modal</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Fermer">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>Le texte du corps du modal va ici.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
<button type="button" class="btn btn-primary">Enregistrer les modifications</button>
</div>
</div>
</div>
</div>

Décomposons cela :

  1. Le <div> le plus externe avec la classe modal est le conteneur pour notre modal complet.
  2. À l'intérieur, nous avons un modal-dialog qui centre le contenu du modal.
  3. Le modal-content div contient le contenu réel de notre modal.
  4. Nous avons ensuite trois sections principales :
  • modal-header : Contient le titre et le bouton de fermeture.
  • modal-body : Où va le contenu principal.
  • modal-footer : Généralement contient des boutons d'action.

Déclencher le Modal

Maintenant, comment faire apparaître ce modal ? Nous avons besoin d'un déclencheur ! Cela est généralement un bouton :

<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
Lancer le modal de démonstration
</button>

Notez data-toggle="modal" et data-target="#exampleModal". Cela indique à Bootstrap quoi faire (basculer un modal) et quel modal afficher (celui avec l'ID "exampleModal").

N'oubliez pas d'ajouter un id à votre modal qui correspond au data-target :

<div class="modal" id="exampleModal" tabindex="-1" role="dialog">
<!-- Contenu du modal ici -->
</div>

Personnaliser Votre Modal

Tailles

Bootstrap vous permet de changer facilement la taille de votre modal. Ajoutez simplement une classe au modal-dialog div :

<!-- Modal de petite taille -->
<div class="modal-dialog modal-sm">...</div>

<!-- Modal de grande taille -->
<div class="modal-dialog modal-lg">...</div>

<!-- Modal de taille extra-large -->
<div class="modal-dialog modal-xl">...</div>

Modal Centré

Vous souhaitez que votre modal soit parfaitement centré ? Ajoutez la classe modal-dialog-centered :

<div class="modal-dialog modal-dialog-centered">...</div>

Modal Défilable

Si le contenu de votre modal est long, vous pouvez le rendre défilable :

<div class="modal-dialog modal-dialog-scrollable">...</div>

Ajouter des Fonctionnalités avec JavaScript

Bien que les attributs de données de Bootstrap soient parfaits pour des fonctionnalités de base, parfois vous avez besoin de plus de contrôle. C'est là que JavaScript entre en jeu !

// Afficher le modal
$('#exampleModal').modal('show');

// Cacher le modal
$('#exampleModal').modal('hide');

// Basculer le modal
$('#exampleModal').modal('toggle');

Vous pouvez également écouter des événements de modal :

$('#exampleModal').on('shown.bs.modal', function () {
console.log('Le modal est maintenant visible !');
});

Exemple Pratique : Un Modal de "Confirmation de Suppression"

Mettons tout cela en pratique avec un exemple du monde réel. Imaginez que nous construisons une application de liste de tâches et que nous voulons confirmer avant de supprimer une tâche :

<!-- Bouton de suppression -->
<button type="button" class="btn btn-danger" data-toggle="modal" data-target="#deleteModal">
Supprimer la Tâche
</button>

<!-- Modal -->
<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="deleteModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="deleteModalLabel">Confirmer la Suppression</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Fermer">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
Êtes-vous sûr de vouloir supprimer cette tâche ? Cette action ne peut pas être annulée.
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="button" class="btn btn-danger" id="confirmDelete">Supprimer</button>
</div>
</div>
</div>
</div>

Et voici un peu de JavaScript pour gérer la suppression :

$('#confirmDelete').on('click', function() {
// Le code pour supprimer la tâche va ici
console.log('Tâche supprimée !');
$('#deleteModal').modal('hide');
});

Conclusion

Félicitations ! Vous venez d'apprendre les ficelles des modals de Bootstrap. De la structure de base à la personnalisation et même un exemple pratique, vous êtes maintenant équipé pour ajouter cette fonctionnalité puissante à vos projets web.

Souvenez-vous, la pratique rend parfait. Essayez de créer différents types de modals, expérimentez avec les tailles et les positions, et surtout, amusez-vous ! Qui sait, vous pourriez devenir le "Maître des Modals" parmi vos amis programmeurs.

Bonne programmation, et que vos modals apparaissent toujours au bon moment !

Credits: Image by storyset