b4eafca3bc4d884473ca3ce2d6f9439901e3a726
- Implement `remove-inline-scripts.js` to externalize Next.js inline scripts, enhancing CSP compliance. - Add models for `Book`, `Character`, `Story`, `Editor`, `System`, and `BookSerie` with relevant properties and utilities. - Include macOS entitlements plist for app development with advanced permissions. - Add utility functions to handle script hashing, cookie management, and content formatting.
EritorsScribe - Electron + Next.js
Application Electron avec Next.js et TypeScript.
Structure du projet
eritorsscribe/
├── electron/ # Code Electron (main process)
│ ├── main.ts # Point d'entrée principal
│ └── preload.ts # Script preload (bridge sécurisé)
├── src/ # Mettez vos fichiers Next.js ici (app/, pages/, components/, etc.)
├── dist/ # Fichiers compilés Electron
├── out/ # Export statique Next.js
├── build/ # Configuration electron-builder
└── release/ # Binaires packagés
Installation
Les dépendances sont déjà installées. Si besoin:
npm install
Développement
-
Mettez vos fichiers Next.js dans le dossier
src/(créezsrc/app/ousrc/pages/selon votre structure Next.js) -
Lancez le mode développement:
npm run dev
Cela va:
- Démarrer Next.js sur http://localhost:3000
- Lancer Electron qui charge cette URL
- Recharger automatiquement au changement
Scripts disponibles
npm run dev- Développement (Next.js + Electron)npm run dev:next- Next.js uniquementnpm run dev:electron- Electron uniquementnpm run build- Build complet (Next.js + Electron)npm run start- Lancer l'app compiléenpm run package:mac- Packager pour macOSnpm run package:win- Packager pour Windowsnpm run package:linux- Packager pour Linuxnpm run package- Packager pour toutes les plateformes
Build de production
- Compilez tout:
npm run build
- Packagez pour votre plateforme:
# macOS
npm run package:mac
# Windows
npm run package:win
# Linux
npm run package:linux
# Toutes les plateformes
npm run package
Les binaires seront dans le dossier release/.
Versions installées
- Electron: 39.x (dernière version stable)
- Next.js: 16.x
- React: 19.x
- TypeScript: 5.9.x
- electron-builder: 26.x
Configuration Next.js
Le fichier next.config.ts est configuré avec:
output: 'export'- Export statique pour Electronimages.unoptimized: true- Images non optimiséestrailingSlash: true- Compatibilité Electron
Sécurité
Le preload script utilise:
contextIsolation: truenodeIntegration: falsesandbox: true
Pour exposer des APIs au renderer, modifiez electron/preload.ts.
Multi-plateforme
- macOS: Build sur Mac (requis pour signing)
- Windows: Build sur n'importe quelle plateforme
- Linux: Build sur n'importe quelle plateforme
Prochaines étapes
- Créez votre structure Next.js dans
src/ - Ajoutez vos pages dans
src/app/ousrc/pages/ - Testez avec
npm run dev - Personnalisez
electron/main.tsselon vos besoins - Ajoutez des APIs dans
electron/preload.tssi nécessaire
Description
Languages
TypeScript
99.1%
CSS
0.7%
JavaScript
0.2%