117 lines
2.8 KiB
Markdown
117 lines
2.8 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
## Développement
|
|
|
|
1. Mettez vos fichiers Next.js dans le dossier `src/` (créez `src/app/` ou `src/pages/` selon votre structure Next.js)
|
|
|
|
2. Lancez le mode développement:
|
|
|
|
```bash
|
|
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 uniquement
|
|
- `npm run dev:electron` - Electron uniquement
|
|
- `npm run build` - Build complet (Next.js + Electron)
|
|
- `npm run start` - Lancer l'app compilée
|
|
- `npm run package:mac` - Packager pour macOS
|
|
- `npm run package:win` - Packager pour Windows
|
|
- `npm run package:linux` - Packager pour Linux
|
|
- `npm run package` - Packager pour toutes les plateformes
|
|
|
|
## Build de production
|
|
|
|
1. Compilez tout:
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
2. Packagez pour votre plateforme:
|
|
|
|
```bash
|
|
# 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 Electron
|
|
- `images.unoptimized: true` - Images non optimisées
|
|
- `trailingSlash: true` - Compatibilité Electron
|
|
|
|
## Sécurité
|
|
|
|
Le preload script utilise:
|
|
- `contextIsolation: true`
|
|
- `nodeIntegration: false`
|
|
- `sandbox: 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
|
|
|
|
1. Créez votre structure Next.js dans `src/`
|
|
2. Ajoutez vos pages dans `src/app/` ou `src/pages/`
|
|
3. Testez avec `npm run dev`
|
|
4. Personnalisez `electron/main.ts` selon vos besoins
|
|
5. Ajoutez des APIs dans `electron/preload.ts` si nécessaire
|