neckfireandClaude Opus 5 0c1b9f5670
Build & Deploy / build (push) Successful in 20s
Page admin : appelle l'API au lieu du front, et resynchronise le rôle
Admin.tsx faisait ses 8 appels en relatif (`/admin/users?token=…`), donc vers
le nginx du front et non vers l'API. Le fallback SPA répondait index.html en
HTTP 200 : le res.json() partait en erreur de parsing — « The string did not
match the expected pattern » sous Safari. Les appels passent désormais par
API_URL, comme le reste du front.

App.tsx ne lisait le user que depuis localStorage, instantané pris au login :
une promotion en admin n'y apparaissait jamais et AdminRoute éjectait le compte
de /admin jusqu'à reconnexion. Le profil est resynchronisé depuis /me au
montage.

Restent 404 côté API : /admin/scrapers/logs et /admin/scrapers/run, que la page
appelle mais que le backend n'expose pas (les scrapers tournent via le cron
hôte). Le panneau affichera une erreur franche au lieu d'une erreur de parsing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 16:13:55 +02:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is enabled on this template. See this documentation for more information.

Note: This will impact Vite dev & build performances.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])
S
Description
RegWatch — veille réglementaire
Readme
254 KiB
Languages
TypeScript 64%
CSS 35%
JavaScript 0.4%
Dockerfile 0.4%
HTML 0.2%