# Repository Pattern (Laravel) > Repository pattern (trade-offs, use cases), contracts, service layer, SOLID principles, dependency inversion, testability, when NOT to use - 20 questions d'entretien - Senior - [Questions d'entretien: Laravel](https://sharpskill.dev/fr/technologies/laravel/questions-entretien.md) ## 1. Qu'est-ce que le Repository Pattern dans Laravel ? **Réponse** Le Repository Pattern est un design pattern qui ajoute une couche d'abstraction entre la logique métier et la couche de données. Il encapsule la logique d'accès aux données dans des classes dédiées (repositories), permettant de séparer les responsabilités et de rendre le code plus testable. Contrairement à l'utilisation directe d'Eloquent dans les controllers, le repository centralise les requêtes complexes et facilite le changement de source de données sans impacter le reste de l'application. ## 2. Dans quel scénario le Repository Pattern apporte-t-il le plus de valeur ? **Réponse** Le Repository Pattern est particulièrement utile dans les applications complexes avec des requêtes sophistiquées et multiples sources de données. Il brille dans les projets d'entreprise où la logique d'accès aux données est complexe, réutilisée à plusieurs endroits, ou susceptible de changer (ex: migration de MySQL vers MongoDB). Pour des CRUD simples ou des petites applications, il peut constituer une sur-ingénierie inutile. ## 3. Quel est le principal trade-off du Repository Pattern ? **Réponse** Le principal trade-off est l'augmentation de la complexité du code et du nombre de fichiers à maintenir. Chaque repository ajoute au minimum 2 fichiers (interface + implémentation), ce qui peut rapidement devenir verbeux dans des applications simples. Laravel Eloquent est déjà une abstraction puissante qui résout 80% des cas d'usage, et ajouter une couche supplémentaire peut ralentir le développement sans bénéfice réel si les requêtes restent simples. ## 17 questions supplémentaires disponibles - Comment le Repository Pattern applique-t-il le principe SOLID de Dependency Inversion ? - Quel est l'avantage principal du Repository Pattern pour les tests ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Laravel - [Les bases de PHP](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/php-basics.md): 25 questions, Junior - [POO en PHP](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/php-oop-essentials.md): 20 questions, Junior - [Composer & Autoloading](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/composer-autoloading.md): 18 questions, Junior - [Fondamentaux Laravel](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/laravel-fundamentals.md): 20 questions, Junior - [Routing Laravel](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/laravel-routing.md): 20 questions, Junior - [Blade Templates](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/blade-templates.md): 18 questions, Junior - [Request & Response](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/request-response.md): 20 questions, Junior - [Eloquent ORM - Les bases](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/eloquent-orm-basics.md): 22 questions, Junior - [Eloquent Relationships](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/eloquent-relationships.md): 25 questions, Confirmé - [Migrations & Schema Builder](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/database-migrations.md): 20 questions, Confirmé - [Validation & Formulaires](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/validation-forms.md): 22 questions, Confirmé - [Authentication](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/authentication.md): 20 questions, Confirmé - [Authorization & Policies](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/authorization-policies.md): 18 questions, Confirmé - [API Resources & Authentication](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/api-resources-authentication.md): 26 questions, Confirmé - [Middleware](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/middleware.md): 18 questions, Confirmé - [Service Container & DI](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/service-container-di.md): 20 questions, Confirmé - [Queues & Jobs](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/queues-jobs.md): 22 questions, Confirmé - [Events & Listeners](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/events-listeners.md): 18 questions, Confirmé - [Notifications & Mail](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/notifications-mail.md): 20 questions, Confirmé - [File Storage](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/file-storage.md): 18 questions, Confirmé - [Testing & PHPUnit](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/testing-phpunit.md): 24 questions, Confirmé - [Caching](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/caching.md): 18 questions, Confirmé - [Livewire & Inertia](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/livewire-inertia.md): 20 questions, Confirmé - [Eloquent Advanced](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/eloquent-advanced.md): 24 questions, Senior - [Laravel Packages](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/laravel-packages.md): 20 questions, Senior - [Performance Optimization](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/performance-optimization.md): 22 questions, Senior - [Security Best Practices](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/security-best-practices.md): 22 questions, Senior - [Laravel Octane](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/laravel-octane.md): 18 questions, Senior - [Laravel Distributed Systems](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/laravel-distributed-systems.md): 22 questions, Senior - [Observability & Monitoring](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/observability-monitoring.md): 20 questions, Senior - [Deployment & DevOps](https://sharpskill.dev/fr/technologies/laravel/questions-entretien/deployment-devops.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/laravel/questions-entretien/repository-pattern