★ À maîtriser
include représente une action obligatoire incluse dans un cas d'utilisation (ex. réserver nécessite d'être authentifié), tandis que extend représente un comportement optionnel (ex. mot de passe oublié depuis la connexion).Compléments
alt représente une alternative, utilisé par exemple pour distinguer les cas « données valides » et « données invalides » lors de l'inscription ou de la création d'une annonce.★ À maîtriser
Compléments
fork/join, et un merge node est un point de fusion qui regroupe plusieurs chemins alternatifs.★ À maîtriser
Compléments
abstract.0..* signifie zéro ou plusieurs occurrences, comme un vendeur pouvant avoir 0..* animaux.+ signifie public, - privé, # protégé et ~ package.Utilisateur, Vendeur, Animal, Reservation, Avis, Espece et Race.★ À maîtriser
1,1 signifie une participation obligatoire et unique, 0,N signifie optionnelle et multiple, et 1,N signifie au moins une occurrence et potentiellement plusieurs.favorites relie users et animals.1,N en MLD, on ajoute la clé étrangère du côté N ; dans Compawgnon, animals contient seller_id car un vendeur peut publier plusieurs animaux.Compléments
1,1 en MLD, on ajoute une clé étrangère unique ; dans Compawgnon, sellers.user_id est une clé étrangère unique vers users.id.reservations.status, seller_id, species_id, city ou created_at améliorent les recherches dans le catalogue, les réservations et l'administration.favorites utilise plutôt un id et une contrainte unique user_id + animal_id.★ À maîtriser
DELETE CASCADE supprime les lignes liées, tandis que SET NULL conserve la ligne mais vide la clé étrangère.Compléments
seller_id ou les réservations d'un utilisateur via buyer_id.nom_entite_id, par exemple seller_id, animal_id, buyer_id, species_id, breed_id.User, Animal, Seller, Reservation, Review sont des entités Doctrine ORM.AnimalRepository contient la recherche filtrée du catalogue avec Doctrine QueryBuilder.AuthService gère l'inscription et les mots de passe, MailService les emails, UploadService les fichiers, AuditService les logs.AuthService, Symfony injecte l'EntityManager, le hasher de mot de passe, les repositories et le service mail.RegisterDTO, ForgotPasswordDTO, ResetPasswordDTO ou les DTO d'annonce permettent de valider les entrées API avant la logique métier.★ À maîtriser
persist() prépare l'entité à être enregistrée par Doctrine, tandis que flush() exécute réellement les requêtes SQL.AnimalRepository construit les requêtes tandis qu'un service métier vérifie les règles de création ou publication d'annonce.AnimalRepository, les requêtes utilisent leftJoin et addSelect pour charger espèce, race, vendeur et média de couverture en une requête maîtrisée.Compléments
OneToMany côté parent et ManyToOne côté enfant, par exemple Seller possède plusieurs Animal et chaque Animal référence un Seller.ManyToMany avec une table de jointure, mais dans Compawgnon les favoris sont gérés explicitement par une entité Favorite pour plus de contrôle.JWTCreatedListener enrichit le JWT et AccountDisabledListener bloque les comptes désactivés.doctrine:migrations:migrate.use... qui mutualise une logique React ; dans Compawgnon, useAuth ou useAnimalFilters encapsulent la logique d'authentification ou de filtres du catalogue.★ À maîtriser
Compléments
LoginForm ou AnimalCard sont écrits en JSX/TSX.GET /api/animals, POST /api/auth/register, POST /api/me/reservations.AuthService, MailService, UploadService, AuditService, et l'injection de dépendances aide au découplage.AnimalRepository contient les requêtes du catalogue et ChatMessageRepository contient les requêtes MongoDB de messagerie.★ À maîtriser
Compléments
master et succès de la CI, le CD peut déployer sur le serveur Hetzner.docker-compose.prod.yml lance les services comme frontend, backend, MySQL et MongoDB.★ À maîtriser
Compléments
setParameter, validations DTO et des tests dédiés.CORS_ALLOW_ORIGIN est configuré pour autoriser le domaine frontend de production.page, limit, total, total_pages.★ À maîtriser
ROLE_USER, ROLE_SELLER, ROLE_ADMIN autorisent les accès.PUT remplace une ressource complète, tandis que PATCH modifie partiellement ; dans Compawgnon, les actions comme accepter une réservation ou modifier un profil utilisent plutôt PATCH.200 succès, 201 créé, 204 pas de contenu, 400 requête invalide, 401 non authentifié, 403 interdit, 404 introuvable, 422 validation, 500 erreur serveur.Compléments
UserPasswordHasherInterface hashe les mots de passe avant stockage dans password_hash.| Aspect | MLD | MPD |
|---|---|---|
| Définition | Structure logique des tables et relations | Ajoute types SQL, index, contraintes et détails propres au SGBD |
| Exemple Compawgnon | Tables, clés étrangères, clés primaires | VARCHAR, JSON, DATETIME, UNIQUE, FK, index |
| Aspect | Scrum | Kanban |
|---|---|---|
| Fonctionnement | Sprints structurés | Flux continu |
| Approche Compawgnon | Pas utilisée directement | Tâches à faire, en cours, terminées, corrigées après tests |
Teste tes connaissances sur Questions techniques projet Compawgnon avec 30 questions à choix multiples et corrections détaillées.
1. Dans un diagramme de cas d'utilisation UML, que représente un acteur ?
2. Quelle proposition correspond correctement à la signification d'un comportement `include` dans un cas d'utilisation ?
Mémorisez les concepts clés de Questions techniques projet Compawgnon avec 78 flashcards interactives.
Qu'est-ce qu'un acteur en diagramme de cas d'utilisation ?
Un rôle externe qui interagit avec l'application.
Quels sont les acteurs principaux de Compawgnon ?
Le visiteur, l'utilisateur connecté, le vendeur et l'administrateur.
Que signifie « include » dans un cas d'utilisation ?
Une action obligatoire intégrée au cas d'utilisation.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches