Index des guides pratiques
Index complet (généré automatiquement)
Tous les guides de ce répertoire, triés par nom de fichier. Régénérer avec composer howto:index.
| Guide | Title |
|---|---|
| ab-testing.md | How-to : Framework de tests A/B |
| access-token-management.md | How-to : Gestion des tokens d'accès avec NENE2 |
| account-lockout.md | Verrouillage de compte (Protection contre le brute-force) |
| activity-feed.md | How-to : API de fil d'actualité / timeline |
| add-custom-route.md | Ajouter une route personnalisée |
| add-database-endpoint.md | Ajouter un endpoint avec base de données |
| add-disposable-demo.md | How-to : Ajouter une démo jetable |
| add-domain-exception-handler.md | How-to : Ajouter un gestionnaire d'exception de domaine |
| add-health-check.md | Ajouter un health check |
| add-html-view.md | Ajouter des vues HTML |
| add-jwt-authentication.md | Ajouter l'authentification JWT |
| add-mcp-tools.md | Ajouter des outils MCP |
| add-optimistic-locking.md | How-to : Ajouter le contrôle de concurrence optimiste (ETag / If-Match) |
| add-pagination.md | Ajouter la pagination |
| add-rate-limiting.md | Ajouter la limitation de débit |
| add-second-entity.md | Ajouter une deuxième entité de domaine |
| admin-report-aggregation.md | How-to : Ajouter l'agrégation de rapports admin |
| aggregate-reporting.md | How-to : API de rapports agrégés |
| api-key-management.md | Gestion des clés API |
| api-usage-metering.md | How-to : Métrologie d'utilisation d'API et gestion des quotas |
| api-versioning.md | How-to : Versionnage d'API |
| application-caching.md | Guide d'implémentation du cache applicatif |
| approval-workflow.md | How-to : API de workflow d'approbation |
| article-relations-api.md | How-to : API de relations d'articles |
| article-versioning-api.md | How-to : API de versionnage d'articles |
| asset-checkout.md | How-to : Gestion de check-out / check-in d'actifs |
| audit-trail.md | HOWTO : Journal d'audit — Enregistrer qui a changé quoi |
| batch-api-partial-success.md | How-to : API de lot avec succès partiel |
| bearer-token-middleware.md | How-to : Middleware de token Bearer (Cas limites d'auth JWT) |
| bookmark-api.md | How-to : API de marque-pages |
| bookmark-system.md | Système de marque-pages |
| budget-tracking.md | How-to : API de suivi budgétaire |
| bulk-operations-partial-success.md | How-to : Opérations en lot avec sémantique de succès partiel |
| bulk-reorder-api.md | How-to : API de réorganisation en masse (ordre par glisser-déposer) |
| bulk-status-update.md | How-to : API de mise à jour de statut en lot |
| category-hierarchy-api.md | How-to : API d'arbre de hiérarchie de catégories |
| circuit-breaker.md | How-to : Disjoncteur (Circuit Breaker) |
| collection-api.md | How-to : API de collections (Listes curatives utilisateur) |
| comment-thread.md | How-to : API de fil de commentaires |
| contact-management.md | How-to : API de gestion des contacts |
| content-approval-workflow.md | How-to : Workflow d'approbation de contenu |
| content-collection.md | Collection de contenu |
| content-draft-lifecycle.md | How-to : Construire un cycle de vie de brouillon de contenu (Draft → Published → Archived) avec NENE2 |
| content-negotiation-api.md | How-to : Négociation de contenu — API JSON |
| content-negotiation.md | Négociation de contenu |
| content-pinning.md | Épinglage de contenu |
| content-relations.md | Relations de contenu — Liens auto-référentiels M:N typés |
| content-report-moderation.md | Signalement et modération de contenu |
| content-reporting.md | How-to : Système de signalement de contenu |
| content-scheduling.md | Planification de contenu — Publication temporisée avec états de cycle de vie |
| content-versioning.md | Guide d'implémentation du versionnage de contenu |
| coupon-discount-api.md | How-to : API de codes de réduction coupon |
| coupon-promo-code.md | Gestion des coupons et codes promo |
| coupon-redemption.md | How-to : API de rachat de coupon / code de réduction |
| cqrs-pattern.md | How-to : Pattern CQRS |
| credit-ledger.md | How-to : API de grand livre de crédits |
| csrf-and-json-api.md | CSRF et APIs JSON |
| csv-bulk-import.md | Guide d'implémentation de l'API d'import CSV en masse |
| csv-export-formula-injection.md | How-to : Prévenir l'injection de formule CSV / tableur à l'export |
| cursor-pagination.md | How-to : Pagination basée sur curseur |
| data-export-api.md | How-to : API d'export de données |
| data-masking.md | How-to : Ajouter le masquage de données |
| dead-letter-queue.md | How-to : File d'attente de messages morts (DLQ) |
| delegated-access-grants.md | How-to : Délégations d'accès |
| deploy-production.md | Déployer en production |
| direct-messaging-system.md | How-to : Construire un système de messagerie directe avec NENE2 |
| distributed-lock.md | How-to : Verrou distribué |
| distributed-locking.md | Verrouillage distribué |
| document-template-engine.md | How-to : Moteur de templates de documents |
| document-versioning.md | How-to : API de versionnement de documents |
| draft-publish-workflow.md | How-to : Workflow Brouillon → Publication → Archive |
| dynamic-filter-query.md | How-to : Requête de filtre dynamique (clause WHERE dynamique) |
| dynamic-sort-order-injection.md | How-to : Tri dynamique et filtrage avec prévention d'injection ORDER BY |
| emoji-reaction-system.md | How-to : Construire un système de réactions emoji avec NENE2 |
| emoji-reactions-api.md | How-to : API de réactions emoji |
| emoji-reactions-toggle.md | How-to : Réactions emoji avec bascule et compteurs groupés |
| encrypted-field-storage.md | How-to : Stockage de champs chiffrés |
| enforce-resource-ownership.md | How-to : Imposer la propriété des ressources (prévention IDOR) |
| etag-conditional-requests.md | ETag et requêtes conditionnelles |
| event-analytics-api.md | How-to : API d'analytique d'événements |
| event-analytics.md | How-to : API d'analytique d'événements |
| event-sourcing-cqrs-api.md | How-to : API Event Sourcing & CQRS |
| event-sourcing-ledger.md | How-to : Grand livre en Event Sourcing |
| event-sourcing.md | Event Sourcing (Basique) |
| event-ticket-booking.md | How-to : Réservation de billets d'événement |
| expense-tracker.md | How-to : API de suivi des dépenses |
| expense-tracking-api.md | How-to : API de suivi des dépenses |
| feature-flag-api.md | How-to : API de drapeaux de fonctionnalités |
| feature-flags.md | How-to : API de drapeaux de fonctionnalités |
| feedback-collection.md | How-to : API de collecte de commentaires |
| file-metadata-sharing.md | Guide d'implémentation de l'API de gestion et partage de métadonnées de fichiers |
| file-sharing-api.md | How-to : API de partage de fichiers |
| file-upload-metadata.md | How-to : API de métadonnées de téléversement de fichiers (VULN-A~L) |
| file-upload.md | Téléversement de fichier (base64 JSON) |
| fixed-window-rate-limiter.md | How-to : Limiteur de débit à fenêtre fixe |
| flash-sale-api.md | How-to : API de vente flash |
| flash-sale-system.md | Comment construire un système de vente flash avec NENE2 |
| follow-api.md | How-to : API Suivre / Ne plus suivre |
| ft-registry.md | Registre FT |
| game-score-leaderboard-api.md | How-to : API de score de jeu et classement |
| geolocation-api.md | How-to : API de géolocalisation |
| geolocation.md | Comment ajouter la recherche géolocalisée |
| group-member-management.md | How-to : Gestion des membres de groupe |
| group-membership-management.md | Comment construire la gestion des membres de groupe avec NENE2 |
| guest-order-system.md | Comment construire un système de commande invité (Panier → Commande → Articles de commande) avec NENE2 |
| habit-tracker.md | How-to : Suivi des habitudes |
| handle-timezones.md | How-to : Gestion des fuseaux horaires |
| hierarchical-data.md | How-to : Données hiérarchiques avec chemin matérialisé |
| idempotency-key-api.md | How-to : API de clé d'idempotence |
| idempotency-key.md | How-to : Clé d'idempotence (déduplication de requêtes) |
| idempotency.md | How-to : Pattern Idempotency-Key |
| implement-bulk-endpoint.md | How-to : Implémenter un endpoint de création en masse |
| implement-patch-endpoint.md | How-to : Implémenter un endpoint PATCH |
| inbound-webhook-gateway.md | How-to : Passerelle de webhooks entrants |
| inbound-webhook-receiver.md | Comment ajouter un récepteur de webhooks entrants |
| inventory-management.md | How-to : API de gestion des stocks |
| inventory-stock-management.md | How-to : Gestion des stocks d'inventaire |
| invitation-referral.md | How-to : API d'invitation / parrainage |
| invitation-system.md | How-to : Système d'invitation |
| iso-datetime-validation.md | Comment valider les datetimes ISO 8601 avec fuseau horaire |
| job-queue-with-retry.md | How-to : File de travaux en arrière-plan avec relance et idempotence |
| job-queue.md | File de travaux en arrière-plan avec relance et idempotence |
| json-merge-patch.md | How-to : JSON Merge Patch et détection de conflits ETag |
| jwt-authentication.md | How-to : Authentification JWT |
| jwt-tenant-isolation.md | How-to : Isolation multi-tenant JWT |
| leaderboard-ranking-api.md | How-to : API de classement (leaderboard) |
| leaderboard-ranking-system.md | Comment construire un classement (système de ranking) avec NENE2 |
| leaderboard-ranking.md | How-to : API de classement de jeu |
| leaderboard-scores.md | How-to : API de suivi de scores et leaderboard |
| live-penetration-testing.md | How-to : Test de pénétration en conteneur live |
| live-poll-system.md | How-to : Système de sondage en direct |
| magic-link-authentication.md | How-to : Authentification par magic link |
| mass-assignment-defence.md | How-to : Défense contre la mass assignment avec DTO explicite |
| mass-assignment.md | Défense contre la mass assignment |
| media-watchlist.md | How-to : API de liste de surveillance média |
| money-integer-arithmetic.md | How-to : Argent et arithmétique en entiers |
| multi-currency-money-ledger.md | How-to : Grand livre multi-devises avec centimes entiers |
| multi-currency-wallet.md | How-to : Portefeuille multi-devises |
| multi-step-workflow.md | How-to : Workflow multi-étapes |
| multi-tenant-isolation.md | How-to : Isolation multi-tenant |
| multi-value-tag-filter.md | How-to : API de filtre par tags multi-valeurs |
| multilingual-content.md | How-to : API de contenu multilingue |
| nested-json-validation.md | How-to : Validation JSON imbriquée |
| note-management-ownership.md | How-to : Gestion de notes avec propriété |
| note-management-with-tags.md | How-to : Gestion de notes avec tags |
| notification-inbox.md | How-to : API de boîte de réception de notifications |
| notification-queue.md | How-to : API de file de notifications |
| numeric-verification-code.md | How-to : Code de vérification numérique |
| oauth2-social-login.md | How-to : Connexion sociale OAuth2 |
| offset-cursor-pagination.md | How-to : Pagination par offset et curseur |
| one-time-secrets.md | How-to : API de secrets à usage unique et test d'attaque cracker ATK-01~12 |
| optimistic-concurrency-version.md | How-to : Contrôle de concurrence optimiste (champ version) |
| optimistic-lock-patch-version.md | How-to : Verrouillage optimiste avec PATCH + champ version |
| optimistic-locking-etag.md | How-to : Verrouillage optimiste avec ETag / If-Match |
| optimistic-locking.md | Verrouillage optimiste |
| order-management.md | How-to : API de gestion des commandes |
| otp-authentication.md | How-to : Système d'authentification OTP |
| pagination-boundary-attack.md | How-to : Attaque sur les bornes de pagination et injection de limite |
| pagination-limit-injection.md | How-to : Prévention des bornes de pagination et injection de limite |
| pagination.md | Pagination |
| password-auth-argon2id.md | How-to : Authentification par mot de passe avec Argon2id |
| password-hashing.md | How-to : Hachage de mot de passe |
| password-reset-flow.md | How-to : Flux de réinitialisation de mot de passe |
| password-reset.md | Flux de réinitialisation de mot de passe |
| passwordless-auth-magic-link.md | Authentification sans mot de passe (Magic Link) |
| patch-partial-update.md | How-to : Mise à jour partielle PATCH (JSON Merge Patch) |
| payment-webhook.md | Guide d'implémentation de réception de Webhook de paiement |
| personal-data-export.md | Export de données personnelles |
| pii-masking.md | How-to : API de masquage PII |
| pin-bookmark-ordering.md | How-to : Épingle / Signet avec tri |
| pin-verification-lockout.md | Vérification PIN et blocage |
| point-ledger-api.md | How-to : API de grand livre de points |
| point-loyalty-system.md | Système de fidélité par points |
| poll-survey.md | How-to : API de sondage / enquête |
| prevent-double-booking.md | Comment prévenir la double réservation (réservation et application de capacité) |
| price-history.md | How-to : API d'historique des prix de produit |
| privacy-consent-management.md | Comment implémenter la gestion du consentement vie privée |
| product-catalog.md | How-to : API de catalogue de produits (ATK-01~12) |
| product-review-system.md | Système d'avis et d'évaluation de produits |
| project-task-management.md | How-to : Gestion de projets et de tâches avec ressources imbriquées |
| quality-tools.md | Outils de qualité |
| quota-management.md | How-to : API de gestion des quotas |
| rate-limiting.md | Limitation de débit |
| rating-review-api.md | How-to : API d'évaluation et d'avis |
| rbac-jwt-auth.md | How-to : RBAC + Authentification JWT |
| rbac.md | How-to : Contrôle d'accès basé sur les rôles (RBAC) |
| refresh-token-pattern.md | How-to : Pattern de token de rafraîchissement |
| refresh-token-rotation.md | How-to : Rotation de token de rafraîchissement JWT |
| request-deduplication.md | Comment ajouter la déduplication de requêtes |
| request-scoped-state.md | Comment passer un état scopé par requête entre les middlewares et les handlers |
| reservation-availability-api.md | How-to : API de réservation et de disponibilité |
| resource-booking.md | How-to : Système de réservation de ressources |
| resource-reservation-booking.md | How-to : API de réservation de ressources et de créneaux |
| resource-reservation.md | How-to : API de réservation de ressources / créneaux horaires |
| scheduled-publish-article.md | How-to : Publication programmée d'articles |
| scheduled-reminders.md | How-to : API de rappels programmés |
| search-autocomplete.md | Guide d'implémentation de recherche plein texte et d'autocomplétion API |
| secret-vault.md | How-To : API de coffre-fort à secrets personnel |
| service-status-page.md | How-To : API de page de statut de service |
| session-management.md | Comment construire un gestionnaire de sessions multi-appareils |
| session-token-management.md | How-to : API de gestion de sessions / tokens (ATK-01~12) |
| shift-management.md | How-to : API de gestion des plannings |
| shopping-cart-api.md | How-to : API de panier d'achat |
| signed-url-download.md | How-to : URL signée pour les téléchargements sécurisés |
| signed-urls.md | URLs signées |
| sliding-window-rate-limiter.md | How-to : Limiteur de débit à fenêtre glissante |
| slug-management.md | Gestion des slugs — Slugs d'URL uniques avec résolution de collision et historique |
| slug-url-history.md | How-to : Gestion des slugs d'URL avec historique |
| soft-delete-restore-permanent.md | How-to : Suppression douce, restauration et suppression permanente |
| soft-delete-trash-purge.md | How-to : Suppression douce, corbeille et purge permanente |
| soft-delete-trash-restore.md | How-to : API de suppression douce, corbeille et restauration |
| soft-delete.md | Suppression douce (suppression logique) |
| sql-injection-defence.md | How-to : Défense contre l'injection SQL |
| sql-injection.md | Défense contre l'injection SQL |
| sql-orderby-injection.md | Comment prévenir l'injection SQL ORDER BY |
| sqlite-fts5-search.md | How-to : Recherche plein texte SQLite FTS5 |
| state-machine-audit-log.md | How-to : Machine à états avec journal d'audit |
| state-machine-workflow-api.md | How-to : API de workflow à machine à états |
| step-workflow-approval.md | How-to : Workflow par étapes avec approbation |
| subscription-plan-management.md | How-to : Gestion des plans d'abonnement |
| subscription-plan.md | How-to : API de gestion des abonnements / plans (VULN-A~L) |
| system-announcement-management.md | Comment construire la gestion des annonces système |
| tag-label-api.md | How-to : API de tags / étiquettes |
| tagging-system.md | Système de tagging (M:N) |
| tenant-isolation-idor.md | How-to : Isolation de tenant et prévention IDOR |
| tenant-isolation.md | How-to : Isolation de tenant et prévention IDOR cross-tenant |
| threaded-comments-api.md | How-to : API de commentaires en fil |
| threaded-comments.md | Commentaires en fil |
| time-tracking.md | How-to : API de suivi du temps |
| timezone-aware-scheduling.md | How-to : Planification d'événements avec gestion des fuseaux horaires |
| token-lifecycle-api.md | How-to : Gestion du cycle de vie des tokens API |
| totp-authentication.md | Guide d'implémentation de l'authentification à deux facteurs TOTP |
| transaction-scope-pattern.md | How-to : Pattern de portée de transaction |
| transactions.md | Transactions de base de données |
| unicode-aware-text-api.md | How-to : API de texte avec gestion Unicode |
| upvote-downvote-api.md | How-to : API vote positif / vote négatif |
| url-bookmark-api.md | How-to : API de marque-pages URL avec filtrage par tag |
| url-shortener-ssrf-prevention.md | How-to : Raccourcisseur d'URL avec prévention SSRF |
| url-shortener-ssrf.md | API raccourcisseur d'URL et prévention SSRF |
| use-bearer-auth.md | Comment utiliser l'authentification par token Bearer |
| use-fts5-search.md | Utiliser la recherche plein texte FTS5 de SQLite |
| use-postgresql.md | Comment utiliser PostgreSQL |
| use-transactions.md | Utiliser les transactions de base de données |
| use-window-functions.md | How-to : Utiliser les fonctions de fenêtre SQLite |
| user-follow-system.md | Comment construire un système de suivi d'utilisateurs avec NENE2 |
| user-invitation.md | Système d'invitation d'utilisateurs |
| user-preferences-api.md | How-to : API de préférences utilisateur |
| user-preferences-management.md | Gestion des préférences utilisateur |
| user-profile-api.md | How-to : API de profil utilisateur |
| user-profile-management.md | Gestion du profil utilisateur |
| validate-unicode-input.md | Comment valider les entrées Unicode |
| voting-system.md | Système de vote (vote positif / vote négatif) |
| waitlist-management.md | Gestion de liste d'attente |
| waitlist-system.md | How-to : Système de liste d'attente |
| webhook-delivery-api.md | How-to : API de livraison de webhooks |
| webhook-delivery-system.md | How-to : Système de livraison de webhooks |
| webhook-delivery.md | Livraison de webhooks sortants |
| webhook-signature-verification.md | How-to : Vérification de signature de webhook avec HMAC-SHA256 |
| webhook-signature.md | Vérification de signature de webhook |
| wish-list-api.md | How-to : API de liste de souhaits (Évaluation de sécurité VULN-A~L) |
| wishlist-management.md | Gestion de liste de souhaits |