Aller au contenu
Taneship

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.

Ce que les deux kits vous donnent

Taneship Free a été construit pour reprendre le kit officiel fonctionnalité par fonctionnalité. Avec l’un comme avec l’autre, votre projet démarre avec :

  • Inscription, connexion avec limitation des tentatives, déconnexion
  • Vérification de l’e-mail et réinitialisation du mot de passe
  • Confirmation du mot de passe avant les pages sensibles
  • Double authentification avec codes de récupération
  • Passkeys, pour se connecter et pour confirmer un mot de passe
  • Profil, changement de mot de passe et suppression du compte
  • Un thème clair, sombre ou système
  • Un tableau de bord derrière une barre latérale, construit avec shadcn/ui
  • Des routes typées avec Laravel Wayfinder, et le React Compiler
  • La licence MIT

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èreTaneship FreeStarter kit React officiel de Laravel
FrameworkLaravel 13, Inertia 3, React 19Laravel 13, Inertia 3, React 19
PHP8.58.3 ou plus récent
TypeScriptTypeScript 7TypeScript 5
OutillageVite+ 1 : Vite, Vitest, Oxlint, OxfmtVite+ 0.3 : Vite, Oxlint, Oxfmt
Composantsshadcn/ui sur Base UIshadcn/ui sur Radix UI
Création d’un projetUn template GitHub : gh repo create --templateL’installeur de Laravel : laravel new
Retrait d’une fonctionnalitéVous supprimez son codeUne question à l’installation retire les fonctionnalités d’authentification que vous ne sélectionnez pas
Mises en pageUne mise en page d’application avec barre latérale, une mise en page d’authentificationBarre 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èreTaneship FreeStarter kit React officiel de Laravel
Emplacement de la logiqueapp/Actions, une classe par opération : RegisterUser, VerifyEmail, ResetPasswordLe package laravel/fortify, complété par deux classes dans app/Actions/Fortify
Routesroutes/identity.php, dans votre applicationEnregistrées par le package
Contrôleursapp/Http/Controllers/Auth, avec les seules méthodes de ressourceDans le package
Modifier un comportementVous modifiez l’actionPar la configuration, les callbacks et les contrats de Fortify
Double authentificationDes actions de votre application, sur pragmarx/google2faFortify
PasskeysDes actions de votre application, sur web-auth/webauthn-lib et @simplewebauthn/browserFortify et @laravel/passkeys
Correctifs de sécuritéVous les reportez à la main depuis les versions de Taneshipcomposer 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èreTaneship FreeStarter kit React officiel de Laravel
Niveau Larastan10, le maximum7
Baselines et commentaires d’exclusionAucun, et un test les rejetteAucune règle
Refactoring automatiséRector, avec les règles LaravelAucun
Formatage du PHPPintPint
Types stricts et classes finalesExigés dans chaque fichier, vérifiés par un testNon exigés
Couverture de types100 % exigésNon mesurée
Lint TypeScriptOxlint avec analyse des types : any, les assertions non nulles et @ts-ignore sont des erreursOxlint avec analyse des types, et ses règles par défaut
Hooks GitIls corrigent les fichiers indexés et vérifient le message de commitAucun

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èreTaneship FreeStarter kit React officiel de Laravel
FrameworkPest 5PHPUnit 12 par défaut
Tests fonctionnelsChaque action et chaque routeLes pages d’authentification et de réglages
Tests d’architectureCouches, nommage, types stricts, classes finales, code inutilisé, clés de traductionAucun
Tests dans un navigateurChaque page en mode clair et en mode sombre, et les parcours critiques, avec PlaywrightAucun
Accessibilitéaxe analyse chaque page : aucun problème, quel que soit son niveau d’impactNon testée
Couverture de tests90 % au minimum, sinon le build échoueNon mesurée
Tests unitaires du front-endVitestAucun
Bases de données testéesSQLite, PostgreSQL et MySQLSQLite

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èreTaneship FreeStarter kit React officiel de Laravel
Rendu côté serveurActif 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é serveurEn option : un script build:ssr séparé produit le bundle serveur
ThèmeEnregistré sur le compte : il suit l’utilisateur d’un appareil à l’autreEnregistré dans le navigateur : un cookie et localStorage
Textes de l’interfaceDans des fichiers de traduction, prêts pour d’autres languesÉcrits dans les composants, en anglais
Langues de droite à gauchePrê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 sensNon 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
LighthouseAu moins 95 sur mobile pour les pages publiques, vérifié en CINon 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èreTaneship FreeStarter kit React officiel de Laravel
ConventionsAGENTS.md : stack, structure, nommage, tests et limitesAucun fichier de conventions dans le dépôt
Laravel BoostInclus, pour son serveur MCPAbsent du dépôt : l’installeur de Laravel peut l’ajouter
Ce qui arrête une dériveLarastan niveau 10, les tests d’architecture et les seuils de couverture font échouer le buildLarastan 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èreTaneship FreeStarter kit React officiel de Laravel
WorkflowsQuatre : contrôles qualité, Lighthouse, messages de commit, audits des dépendancesUn : lint, vérifications de types et tests
EnvironnementPHP 8.5 et Node.js 24PHP 8.3 et Node.js 22
Dépendancescomposer audit et npm audit à chaque push, et chaque semaineDependabot, pour les GitHub Actions
Messages de commitConventional Commits, vérifiés à chaque commit et en CIAucune 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;
    }
}
L’action d’inscription de Taneship Free, telle qu’elle est livrée.

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.

Taneship Free
gh repo create my-app --template taneship/taneship --private --clonecd my-appcomposer setupcomposer dev
Les seeders créent un utilisateur de démonstration pour vous connecter.
Le kit officiel de Laravel
laravel new my-appcd my-appcomposer dev
L’installeur demande un starter kit : choisissez React.

Questions 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.