> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Sujets avancés

> Fonctionnalités impossibles à comprendre sans lire le code du framework et guides avancés pour les développeurs de packages. Design patterns, explications d'implémentation interne et connaissances nécessaires au développement de packages y sont réunis.

## Vue d'ensemble

Cette section couvre l'implémentation interne de Laravel que la documentation officielle seule ne suffit pas à saisir, ainsi que des sujets avancés spécifiques au développement de packages. En parcourant le code source, elle présente des patterns de conception concrets et des méthodes d'extension.

## Développement de packages

<CardGroup cols={2}>
  <Card title="Développement de packages Laravel" icon="package" href="/fr/advanced/package-development">
    Des fondations du développement de packages autour du service provider jusqu'à la publication de configurations, vues et migrations.
  </Card>

  <Card title="Tester des packages Laravel avec Orchestra Testbench" icon="flask" href="/fr/advanced/package-testing">
    Construisez un environnement de test avec Orchestra Testbench et validez service providers, façades et base de données.
  </Card>

  <Card title="Développer un package avec Testbench Workbench" icon="wrench" href="/fr/advanced/package-workbench">
    Créez un environnement de vérification proche d'une vraie application, avec routes, migrations et services démarrés.
  </Card>

  <Card title="Gestion de la compatibilité de versions de package" icon="code-branch" href="/fr/advanced/package-versioning">
    Stratégie de maintenance de package face aux montées de version de Laravel et PHP, et matrices de test GitHub Actions.
  </Card>

  <Card title="GeneratorCommand — implémenter des commandes make: personnalisées" icon="terminal" href="/fr/advanced/generator-command">
    Découvrez comment implémenter des commandes `make:` propres à votre package en héritant de GeneratorCommand.
  </Card>
</CardGroup>

## Intérieur du framework

<CardGroup cols={2}>
  <Card title="Structure d'application depuis Laravel 11" icon="sitemap" href="/fr/advanced/app-structure">
    Vision d'ensemble du Slim Application Skeleton et implémentation interne, de Application::configure() à ApplicationBuilder.
  </Card>

  <Card title="Trait Macroable" icon="puzzle-piece" href="/fr/advanced/macroable">
    Fonctionnement et patterns d'utilisation du trait Macroable pour ajouter des méthodes personnalisées aux classes Laravel existantes.
  </Card>

  <Card title="Trait Conditionable" icon="git-branch" href="/fr/advanced/conditionable">
    Implémentation interne des méthodes when()/unless() et patterns pour concevoir des API fluides.
  </Card>

  <Card title="Illuminate\\Support\\Manager — anatomie du système de drivers" icon="layers" href="/fr/advanced/manager">
    La classe cœur du système de drivers hérité de Laravel 4.0. De l'enregistrement d'un driver personnalisé au MultipleInstanceManager.
  </Card>

  <Card title="Pattern Pipeline" icon="arrow-right-arrow-left" href="/fr/advanced/pipeline">
    Fonctionnement de la classe Illuminate\Pipeline\Pipeline et pattern pour chaîner plusieurs étapes de traitement.
  </Card>

  <Card title="Trait InteractsWithData" icon="database" href="/fr/advanced/interacts-with-data">
    Conception d'un trait pour doter vos propres classes d'une API d'accès aux données lors du développement d'un package.
  </Card>

  <Card title="Helper tap() et trait Tappable" icon="hand-point-right" href="/fr/advanced/tap">
    Utilisation et patterns d'implémentation du helper tap() et du trait Tappable de Laravel.
  </Card>

  <Card title="Attributs PHP" icon="tag" href="/fr/advanced/php-attributes">
    Comment utiliser les attributs PHP introduits et renforcés dans Laravel 13 pour déclarer la configuration des jobs et modèles.
  </Card>
</CardGroup>

## Eloquent en profondeur

<CardGroup cols={2}>
  <Card title="Casts personnalisés d'Eloquent" icon="arrows-rotate" href="/fr/advanced/eloquent-casts">
    Casts personnalisés implémentant l'interface CastsAttributes. Pattern Value Object, casts entrants et Castables.
  </Card>

  <Card title="Observers Eloquent et événements de modèle" icon="eye" href="/fr/advanced/eloquent-observers">
    Mécanisme des événements déclenchés par les modèles Eloquent et gestion centralisée via des classes Observer.
  </Card>

  <Card title="Scopes Eloquent" icon="filter" href="/fr/advanced/eloquent-scopes">
    Fonctionnement des scopes locaux et globaux. De l'implémentation interne de SoftDeletingScope aux cas d'usage pratiques.
  </Card>

  <Card title="Collection Deep Dive" icon="layer-group" href="/fr/advanced/collection-deep-dive">
    Décryptage de l'implémentation des Collections Laravel : histoire, structure de classes, PHPDoc Generics et méthode de lecture.
  </Card>

  <Card title="Messages d'ordre supérieur des collections" icon="message" href="/fr/advanced/higher-order-messages">
    Fonctionnement et usage pratique des messages d'ordre supérieur (Higher-order Messages) des collections.
  </Card>
</CardGroup>

## MCP et IA

<CardGroup cols={2}>
  <Card title="Créer un serveur MCP avec Laravel" icon="server" href="/fr/advanced/mcp-server">
    Construire un serveur MCP prêt pour la production avec le package laravel/mcp. De l'implémentation d'outils, ressources et prompts jusqu'à l'authentification.
  </Card>

  <Card title="Créer un provider personnalisé pour l'AI SDK" icon="robot" href="/fr/advanced/ai-sdk-custom-provider">
    Décryptage du code source de Laravel AI SDK et implémentation d'un provider personnalisé pour un service IA non pris en charge nativement.
  </Card>

  <Card title="Créer un agent personnalisé Boost" icon="wand-magic-sparkles" href="/fr/advanced/boost-custom-agent">
    Plongée dans l'architecture d'extension de Laravel Boost et création d'un agent personnalisé.
  </Card>
</CardGroup>

## Authentification, validation et autres

<CardGroup cols={2}>
  <Card title="Implémenter un guard d'authentification personnalisé" icon="shield" href="/fr/advanced/custom-auth-guard">
    Comment créer un guard d'authentification personnalisé en implémentant les interfaces Guard et StatefulGuard, expliqué au niveau du code source.
  </Card>

  <Card title="Règles de validation personnalisées" icon="check-circle" href="/fr/advanced/custom-validation-rules">
    Comment étendre la validation avec des objets de règle ou des closures, jusqu'à leur implémentation interne.
  </Card>

  <Card title="Personnalisation de la limitation de débit" icon="gauge" href="/fr/advanced/rate-limiting">
    Plongée dans la façade RateLimiter et implémentation de limitations personnalisées par utilisateur, plan ou adresse IP.
  </Card>

  <Card title="Tests avancés avec Pest" icon="vial" href="/fr/advanced/testing-pest">
    Utilisation avancée de Pest : Expectation API, datasets, fakes et Mockery, présentée de façon structurée.
  </Card>
</CardGroup>


## Related topics

- [Sujets avancés](/fr/advanced/index.md)
- [Tests avancés avec Pest](/fr/advanced/testing-pest.md)
- [Welcome](/index.md)
- [Casts personnalisés Eloquent](/fr/advanced/eloquent-casts.md)
- [PHP FFI](/fr/advanced/ffi.md)
