Description du scénario
Un nouveau lecteur (étudiant ou membre) visite le portail de bibliothèque en ligne pour créer un compte. Il fournit des informations personnelles (nom, courriel, mot de passe), le système vérifie l’unicité (par exemple, le courriel n’est pas déjà enregistré), crée le compte dans la base de données et envoie un courriel de bienvenue/activation. Après une inscription réussie, l’utilisateur recherche un livre par titre/auteur, consulte sa disponibilité et le réserve s’il est disponible (en posant une réservation). Si le livre est indisponible, le système propose de l’alerter lorsqu’il deviendra disponible. Le processus se termine par un message de confirmation affiché sur l’interface utilisateur.
Ce flux est courant dans les systèmes de bibliothèque universitaire ou publique et illustre l’inscription de l’utilisateur + l’interaction avec les ressources principales.
Concepts clés dans les diagrammes de séquence UML (Relevant à cet exemple)
Ligne de vie — Ligne pointillée verticale pour les participants (par exemple :Utilisateur, :Navigateur, :ApplicationBibliothèque).
Message — Flèches pour les appels : synchrones (pleine avec tête remplie →), réponse (pointillée <–), création d’objet (flèche pointillée vers une nouvelle ligne de vie avec «créer»).
Barre d’activation — Indique quand un objet est en cours de traitement (activer/désactiver).
Fragment alt — Logique conditionnelle (par exemple : [inscription réussie] vs [courriel déjà existant]).
Fragment opt — Comportement facultatif (par exemple : [l’utilisateur choisit de réserver immédiatement]).
Boucle — Pour les actions itératives (par exemple : affiner la recherche si aucun résultat).
Acteur — L’utilisateur humain (figure en traits).
Messages de retour — Flèches pointillées transportant les résultats en retour.
Le temps s’écoule du haut vers le bas.
Participants (lignes de vie) :
Lecteur (Acteur)
Navigateur (Frontend/UI)
ApplicationBibliothèque (couche application/contrôle)
BaseUtilisateurs (Base de données pour les comptes)
BookCatalogue (Base de données/service pour les livres et les réservations)
ServiceEmail (Service de notification externe)
Ce script PlantUML représente entièrement le cas d’étude. Il inclut la création de compte, la validation, l’envoi de courriel, la recherche/réservation de livre après inscription avec un alt pour la disponibilité, et l’option de notification.
@startuml
titre Diagramme de séquence de la bibliothèque en ligne – Inscription d’un nouvel utilisateur et réservation de livre
skinparam monochrome vrai
skinparam ombre faux
skinparam alignementMessageSequence centre
numérotationAuto “[0]”
acteur Usager
participante « Navigateur » comme UI
participante « LibraryApp » comme App
participante « UserDB » comme UserDB
participante « BookCatalog » comme Catalogue
participante « EmailService » comme Email
Usager -> UI : Accéder à la page d’inscription
activer UI
UI -> App : soumettreInscription(nom, courriel, motDePasse)
activer App
App -> UserDB : vérifierExistenceCourriel(courriel)
activer UserDB
UserDB –> App : existe = faux / vrai
désactiver UserDB
alt Courriel déjà existant
App –> UI : retournerErreur(« Le courriel est déjà enregistré. Veuillez vous connecter ou utiliser un autre courriel. »)
UI –> Usager : Afficher le message d’erreur
‘ Supprimé : détruire App → non nécessaire + causait un problème de parseur dans la branche alt
autre Inscription valide
App -> UserDB : createUserAccount(nom, email, motDePasseHaché)
activer UserDB
UserDB –> App : userId, compteCréé
désactiver UserDB
App -> Email : sendWelcomeEmail(userId, email, lienActivation)
activer Email
Email –> App : emailEnvoyé
désactiver Email
App -> UI : returnSuccess(“Compte créé ! Vérifiez votre email pour l’activation.”, userId)
UI –> Patron : Afficher succès & rediriger vers connexion/tableau de bord
‘ Flux de réservation de livre après inscription
opt L’utilisateur passe à la réservation d’un livre
Patron -> UI : Rechercher un livre (titre ou auteur)
UI -> App : searchBooks(requête)
activer App
App -> Catalog : queryBooks(requête)
activer Catalog
Catalog --> App : listeLivres (avec disponibilité)
désactiver Catalog
alt Livres trouvés
boucle Affiner la recherche si nécessaire
App --> UI : displayResults(listeLivres)
UI --> Patron : Afficher la liste des livres
Patron -> UI : Sélectionner un livre & demander la réservation
UI -> App : reserveBook(idLivre, userId)
fin
App -> Catalog : checkAvailability(idLivre)
Catalog --> App : disponible = vrai/faux
alt Disponible
App -> Catalog : placeHold(idLivre, userId, dateRéservation)
activer Catalog
Catalog --> App : holdPlaced, reservationId
désactiver Catalog
App --> UI : displayConfirmation("Livre réservé ! Récupérez-le quand disponible.")
UI --> Patron : Afficher le message de succès
sinon Non disponible
App --> UI : offerNotification("Livre indisponible. Être informé quand disponible ?")
Patron -> UI : Confirmer la notification
UI -> App : subscribeNotification(idLivre, userId)
App -> Catalog : addToWaitlist(idLivre, userId)
Catalog --> App : waitlistAdded
App --> UI : confirm("Notification configurée.")
fin
sinon Aucun livre trouvé
App --> UI : displayNoResults("Aucun résultat. Essayez des mots-clés différents.")
fin
désactiver App
fin
fin
désactiver UI
@enduml
Comment utiliser ce code PlantUML
Collez dans https://www.plantuml.com/plantuml/uml/ pour un rendu instantané.
Dans Visual Paradigm Desktop: Nouveau diagramme de séquence → Outils → Importer → PlantUML → coller → générer et éditer visuellement.
Dans VP Online ou Chatbot IA: Utilisez comme base dans les invites ou importez pour un affinement par IA.
Personnaliser : ajouter des couleurs (skinparam sequenceArrowThickness 2), stéréotypes des participants (<<base de données>>), ou supprimer monochrome pour une sortie stylisée.

Allez sur chat.visual-paradigm.com.
Utilisez une requête détaillée (ou collez le code PlantUML ci-dessus comme point de départ) :
Générez un diagramme de séquence UML pour une bibliothèque en ligne : un nouvel utilisateur s’inscrit avec son nom/email/mot de passe, le système vérifie l’unicité de l’email, crée un compte dans la base de données, envoie un email de bienvenue. Ensuite, l’utilisateur recherche/réserve un livre – s’il est disponible, il est mis en attente, sinon une notification de liste d’attente est proposée. Inclure un alt pour un email en double, un opt pour la réservation après inscription, une boucle pour le raffinement de la recherche.
L’IA produit un diagramme visuel + du code PlantUML. Itérez :
« Ajouter des barres d’activation et des notes pour les opérations sur la base de données. »
« Rendre BookCatalog un service externe avec un stéréotype. »
Exporter le code PlantUML pour les étapes suivantes.
Lancer Visual Paradigm Bureau.
Créer ou importer un diagramme de séquence (coller le code PlantUML → générer).
Outils > Applications > Outil d’affinement du diagramme de séquence.
Invitation/affinement : « Affinez cette séquence d’inscription/réservation de bibliothèque en architecture en couches : séparez les couches UI/Vue, Contrôleur, Service (par exemple UserService, ReservationService), et Repository/BD. »
L’IA étend les lignes de vie (par exemple, LibraryApp → RegistrationController → UserService → UserRepository ; ajoute des appels détaillés comme hashPassword(), validateInput()).
Modifier : ajouter des notes, des stéréotypes (<>, <>), ajuster les fragments.
Accéder online.visual-paradigm.com → Créer une page OpenDocs (« Système de bibliothèque – Intégration et réservation »).
Insérer un diagramme : utilisez la génération par IA ou importez une version PlantUML ou améliorée.
Intégrer : ajoutez des sections de texte (récit de cas d’utilisation, préconditions comme « utilisateur non connecté », postconditions « compte actif + réservation effectuée »).
Partager : invitez l’équipe à donner des commentaires, suivez les versions.
Sur le bureau : affinez la mise en page (alignement automatique), activez le numérotage hiérarchique, ajoutez les types de retour (par exemple :User user).
Lier les modèles : tracer vers le diagramme de cas d’utilisation (« Inscrire un nouveau lecteur », « Réserver un livre »).
Exporter : PNG/PDF pour les spécifications, projet .vpp pour le contrôle de version.
Cette nouvelle étude de cas fournit un exemple frais et axé sur l’éducation tout en mettant en avant les outils d’IA de Visual Paradigm pour une modélisation UML rapide et précise. Transformez le code PlantUML pour le visualiser immédiatement – si vous souhaitez des variantes (par exemple, ajouter une étape d’approbation par le bibliothécaire), n’hésitez pas à demander !
