Taneship Free face au starter kit React officiel de Laravel
Les deux kits sont gratuits, sous licence MIT, et livrent les mêmes fonctionnalités sur Laravel 13, Inertia 3 et React 19. Ils diffèrent par l’endroit où vit le code de l’authentification, et par la part du code qu’un outil vérifie. Cette page les compare fichier par fichier.
Comparaison du 28 septembre 2026 : commit 717b8f5 du kit officiel, et branche main de Taneship Free.
Lequel choisir
Taneship Free
Choisissez Taneship Free si
- Vous voulez lire et modifier chaque ligne de l’authentification, sans package entre vous et le code.
- Vous voulez l’analyse statique à son maximum dès le premier commit : Larastan niveau 10, sans baseline.
- Des agents de code écrivent une partie de votre code, et vous voulez que des outils rejettent ce qui enfreint une règle.
- Vous voulez que chaque page soit rendue côté serveur et testée dans un navigateur.
- Vous envisagez Taneship Pro ou Teams : Free est le code dont ils partent.
Starter kit React officiel de Laravel
Choisissez le kit officiel si
- Vous voulez un kit maintenu par l’équipe de Laravel et documenté sur laravel.com.
- Vous préférez une authentification qui reste dans un package : composer update apporte les correctifs de Laravel Fortify.
- Vous voulez sélectionner les fonctionnalités d’authentification quand laravel new crée le projet.
- Vous êtes en PHP 8.3 ou 8.4.
- Vous voulez un choix de mises en page : barre latérale ou en-tête, et trois designs pour les pages de connexion.
Le comparatif détaillé
Sept domaines, de la stack à l’intégration continue. Chaque ligne vient des fichiers des deux dépôts.
Stack et création du projet
Les fondations sont les mêmes. Taneship fixe des versions plus récentes et demande un PHP plus récent. Le kit officiel s’installe avec l’installeur de Laravel et propose plus de mises en page.
| Critère | Taneship Free | Starter kit React officiel de Laravel |
|---|---|---|
| Framework | Laravel 13, Inertia 3, React 19 | Laravel 13, Inertia 3, React 19 |
| PHP | 8.5 | 8.3 ou plus récent |
| TypeScript | TypeScript 7 | TypeScript 5 |
| Outillage | Vite+ 1 : Vite, Vitest, Oxlint, Oxfmt | Vite+ 0.3 : Vite, Oxlint, Oxfmt |
| Composants | shadcn/ui sur Base UI | shadcn/ui sur Radix UI |
| Création d’un projet | Un template GitHub : gh repo create --template | L’installeur de Laravel : laravel new |
| Retrait d’une fonctionnalité | Vous supprimez son code | Une question à l’installation retire les fonctionnalités d’authentification que vous ne sélectionnez pas |
| Mises en page | Une mise en page d’application avec barre latérale, une mise en page d’authentification | Barre latérale ou en-tête, et trois mises en page d’authentification |
Code de l’authentification
C’est la plus grande différence. Le kit officiel délègue l’authentification à Laravel Fortify : les routes, les contrôleurs et la logique vivent dans vendor/, et votre application les configure par config/fortify.php et un service provider. Taneship n’a pas de Fortify : chaque opération est une action de votre application, appelée par un contrôleur que vous pouvez lire.
| Critère | Taneship Free | Starter kit React officiel de Laravel |
|---|---|---|
| Emplacement de la logique | app/Actions, une classe par opération : RegisterUser, VerifyEmail, ResetPassword | Le package laravel/fortify, complété par deux classes dans app/Actions/Fortify |
| Routes | routes/identity.php, dans votre application | Enregistrées par le package |
| Contrôleurs | app/Http/Controllers/Auth, avec les seules méthodes de ressource | Dans le package |
| Modifier un comportement | Vous modifiez l’action | Par la configuration, les callbacks et les contrats de Fortify |
| Double authentification | Des actions de votre application, sur pragmarx/google2fa | Fortify |
| Passkeys | Des actions de votre application, sur web-auth/webauthn-lib et @simplewebauthn/browser | Fortify et @laravel/passkeys |
| Correctifs de sécurité | Vous les reportez à la main depuis les versions de Taneship | composer update apporte les correctifs de Fortify |
Analyse statique et règles de code
Les deux kits utilisent Larastan et Pint. Taneship monte Larastan à son maximum, ajoute Rector, et transforme ses conventions en règles qui font échouer le build.
| Critère | Taneship Free | Starter kit React officiel de Laravel |
|---|---|---|
| Niveau Larastan | 10, le maximum | 7 |
| Baselines et commentaires d’exclusion | Aucun, et un test les rejette | Aucune règle |
| Refactoring automatisé | Rector, avec les règles Laravel | Aucun |
| Formatage du PHP | Pint | Pint |
| Types stricts et classes finales | Exigés dans chaque fichier, vérifiés par un test | Non exigés |
| Couverture de types | 100 % exigés | Non mesurée |
| Lint TypeScript | Oxlint avec analyse des types : any, les assertions non nulles et @ts-ignore sont des erreurs | Oxlint avec analyse des types, et ses règles par défaut |
| Hooks Git | Ils corrigent les fichiers indexés et vérifient le message de commit | Aucun |
Tests
Le kit officiel livre des tests fonctionnels pour ses pages d’authentification et de réglages. Taneship ajoute des tests d’architecture, des tests dans un navigateur et des seuils de couverture.
| Critère | Taneship Free | Starter kit React officiel de Laravel |
|---|---|---|
| Framework | Pest 5 | PHPUnit 12 par défaut |
| Tests fonctionnels | Chaque action et chaque route | Les pages d’authentification et de réglages |
| Tests d’architecture | Couches, nommage, types stricts, classes finales, code inutilisé, clés de traduction | Aucun |
| Tests dans un navigateur | Chaque page en mode clair et en mode sombre, et les parcours critiques, avec Playwright | Aucun |
| Accessibilité | axe analyse chaque page : aucun problème, quel que soit son niveau d’impact | Non testée |
| Couverture de tests | 90 % au minimum, sinon le build échoue | Non mesurée |
| Tests unitaires du front-end | Vitest | Aucun |
| Bases de données testées | SQLite, PostgreSQL et MySQL | SQLite |
Rendu, thème et textes de l’interface
Les deux kits affichent des pages React à travers Inertia. Taneship les rend côté serveur par défaut, enregistre le thème sur le compte, garde chaque texte dans un fichier de traduction et se lit aussi de droite à gauche.
| Critère | Taneship Free | Starter kit React officiel de Laravel |
|---|---|---|
| Rendu côté serveur | Actif par défaut : un seul build produit les bundles client et serveur, et les tests dans un navigateur vérifient que chaque page a été rendue côté serveur | En option : un script build:ssr séparé produit le bundle serveur |
| Thème | Enregistré sur le compte : il suit l’utilisateur d’un appareil à l’autre | Enregistré dans le navigateur : un cookie et localStorage |
| Textes de l’interface | Dans des fichiers de traduction, prêts pour d’autres langues | Écrits dans les composants, en anglais |
| Langues de droite à gauche | Prêt : le sens de la page suit la langue, les composants utilisent des classes CSS logiques, et la navigation au clavier comme les menus suivent ce sens | Non prévu : les composants utilisent des classes gauche et droite |
| En-têtes de sécurité | Envoyés par un middleware de l’application | À votre charge |
| Lighthouse | Au moins 95 sur mobile pour les pages publiques, vérifié en CI | Non mesuré |
Agents de code
Les deux kits fonctionnent avec des agents de code. Taneship écrit ses règles pour eux, puis laisse les outils rejeter ce qui en enfreint une.
| Critère | Taneship Free | Starter kit React officiel de Laravel |
|---|---|---|
| Conventions | AGENTS.md : stack, structure, nommage, tests et limites | Aucun fichier de conventions dans le dépôt |
| Laravel Boost | Inclus, pour son serveur MCP | Absent du dépôt : l’installeur de Laravel peut l’ajouter |
| Ce qui arrête une dérive | Larastan niveau 10, les tests d’architecture et les seuils de couverture font échouer le build | Larastan niveau 7 et les tests fonctionnels |
Intégration continue
Chaque kit livre ses workflows GitHub Actions. Le kit officiel en a un, qui lance le lint, les vérifications de types et les tests. Taneship en a quatre.
| Critère | Taneship Free | Starter kit React officiel de Laravel |
|---|---|---|
| Workflows | Quatre : contrôles qualité, Lighthouse, messages de commit, audits des dépendances | Un : lint, vérifications de types et tests |
| Environnement | PHP 8.5 et Node.js 24 | PHP 8.3 et Node.js 22 |
| Dépendances | composer audit et npm audit à chaque push, et chaque semaine | Dependabot, pour les GitHub Actions |
| Messages de commit | Conventional Commits, vérifiés à chaque commit et en CI | Aucune règle |
Un exemple : l’inscription
Dans le kit officiel, les routes et le contrôleur de Fortify reçoivent la requête. Ils appellent app/Actions/Fortify/CreateNewUser, une classe qui implémente un contrat de Fortify : elle valide un tableau de données et crée l’utilisateur. Fortify connecte ensuite l’utilisateur et le redirige.
Dans Taneship, routes/identity.php envoie la requête à RegistrationController. RegisterUserRequest la valide et renvoie un objet RegistrationData, l’action RegisterUser crée l’utilisateur, et le contrôleur le connecte. Quatre fichiers courts, tous dans votre application.
app/Actions/RegisterUser.php
<?php
declare(strict_types=1);
namespace App\Actions;
use App\Data\RegistrationData;
use App\Models\User;
use Illuminate\Auth\Events\Registered;
final readonly class RegisterUser
{
public function handle(RegistrationData $registration): User
{
$user = User::query()->create([
'name' => $registration->name,
'email' => $registration->email,
'password' => $registration->password,
]);
event(new Registered($user));
return $user;
}
}Essayez les deux en cinq minutes
Aucun des deux kits ne demande de clé tierce. Installez-les côte à côte, puis lisez leur code.
gh repo create my-app --template taneship/taneship --private --clonecd my-appcomposer setupcomposer devlaravel new my-appcd my-appcomposer devQuestions sur ce comparatif
Taneship est-il un fork du starter kit React de Laravel ?
Non. Taneship Free est écrit de zéro. Il reprend les fonctionnalités du kit officiel et partage sa stack : Laravel 13, Inertia 3, React 19, Wayfinder et shadcn/ui.
Taneship Free a-t-il toutes les fonctionnalités du kit officiel ?
Oui : inscription, connexion, vérification de l’e-mail, réinitialisation du mot de passe, confirmation du mot de passe, double authentification, passkeys, profil, changement de mot de passe, suppression du compte et choix du thème. Deux choses sont laissées de côté volontairement : les mises en page alternatives, qui sont des choix de présentation, et la question de l’installeur sur les fonctionnalités. Dans Taneship, vous supprimez le code dont vous ne voulez pas.
Pourquoi Taneship n’utilise-t-il pas Laravel Fortify ?
Fortify garde la logique de l’authentification dans un package et la pilote par la configuration et des callbacks. Taneship écrit l’authentification dans des actions et des contrôleurs de votre application, pour que vous la lisiez et la modifiiez comme le reste de votre code. La contrepartie : vous reportez à la main les correctifs de sécurité des versions de Taneship, là où composer update apporte ceux de Fortify.
Le starter kit React de Laravel gère-t-il le rendu côté serveur ?
Oui, en option : son script build:ssr produit le bundle serveur. Dans Taneship, le rendu côté serveur est actif par défaut : le build standard produit les deux bundles, et chaque test dans un navigateur vérifie que la page a été rendue côté serveur.
Larastan niveau 10 est-il plus contraignant que le niveau 7 ?
Il demande plus au code que vous écrivez : les niveaux 8 à 10 rejettent les appels sur des valeurs qui peuvent être nulles, et les opérations sur des valeurs dont le type est inconnu. Taneship passe le niveau 10 sans baseline : votre projet part de zéro erreur, et chaque erreur que vous rencontrez désigne une ligne de votre propre code.
Lequel des deux kits convient le mieux aux agents de code ?
Les deux fonctionnent avec Claude Code, Codex, Cursor et les autres. Taneship donne aux agents des conventions écrites dans AGENTS.md, puis vérifie ce qu’ils écrivent : Larastan niveau 10, les tests d’architecture, un seuil de couverture de 90 % et les tests dans un navigateur rejettent le code qui enfreint une règle, quel que soit son auteur.
Puis-je passer un projet du kit officiel à Taneship ?
Pas automatiquement : les deux kits organisent leur code différemment, et Taneship n’a ni installeur ni commande de mise à jour. Pour un projet à peine commencé, créez-en un nouveau depuis le template Taneship et déplacez-y votre code. Pour un projet plus ancien, prenez ce dont vous avez besoin : les contrôles qualité, les tests d’architecture et AGENTS.md se copient un par un.
Combien coûte Taneship ?
Taneship Free est gratuit et open source, sous licence MIT, comme le kit officiel. Taneship Pro et Taneship Teams, qui ajoutent ce qu’il faut à un SaaS pour vendre, sont des éditions payantes, annoncées comme bientôt disponibles.
Lisez les deux, puis décidez
Le kit officiel s’installe en une commande, et Taneship Free est un dépôt public. Le code est le meilleur argument de chacun.