Application web d'édition PDF entièrement côté client. Aucun serveur, aucun cloud — vos fichiers restent sur votre appareil.
| Fonctionnalité | Description |
|---|---|
| Import PDF | Glisser-déposer ou sélection de fichier |
| Miniatures | Toutes les pages en barre latérale |
| Prévisualisation HQ | Rendu haute qualité via PDF.js |
| Texte | Ajouter du texte sur une page |
| Formes | Rectangle, cercle, ligne |
| Dessin libre | À main levée |
| Surlignage | Zones de surbrillance |
| Images | Import et placement d'images |
| Réorganisation | Glisser-déposer des pages |
| Suppression | Supprimer des pages |
| Rotation | Pivoter à 90° |
| Fusion | Fusionner plusieurs PDF |
| Extraction | Extraire des pages sélectionnées |
| Zoom | 25% à 400% |
| Undo/Redo | Historique des actions |
| Export | Télécharger le PDF modifié |
| Auto-save | IndexedDB + localStorage |
| Mode sombre | Thème clair/sombre |
| Bonus OCR | Tesseract.js côté navigateur |
| Bonus Signature | Dessin à la souris |
| Bonus Compression | Optimisation PDF |
| Bonus Mot de passe | Protection PDF |
| Bonus Comparaison | Comparer deux PDF |
| Bonus PWA | Installable sur desktop/mobile |
- React 18 + TypeScript
- Vite 6 — build ultra-rapide
- Tailwind CSS 3 — design system
- pdf.js — rendu des pages
- pdf-lib — manipulation et export PDF
- Zustand — gestion d'état
- Dexie — IndexedDB pour la sauvegarde
- Tesseract.js — OCR navigateur
- Framer Motion — animations
- Lucide React — icônes
apdf/
├── public/ # Assets statiques + PWA
├── src/
│ ├── components/
│ │ ├── editor/ # Canvas d'édition
│ │ ├── layout/ # Toolbar, Sidebar, Welcome
│ │ ├── modals/ # Fusion, Extraction, OCR, etc.
│ │ └── ui/ # Composants réutilisables
│ ├── hooks/ # useAutoSave, useHistory
│ ├── lib/ # Configuration PDF.js
│ ├── services/ # pdfService, storage, OCR
│ ├── stores/ # Zustand stores
│ └── types/ # Types TypeScript
├── index.html
├── package.json
├── tailwind.config.js
└── vite.config.ts
- Node.js 18+
- npm ou yarn
# 1. Cloner / accéder au projet
cd apdf
# 2. Installer les dépendances
npm install
# 3. Lancer en développement
npm run devL'application s'ouvre sur http://localhost:5173
npm run build
npm run previewEn production (npm run build && npm run preview), ouvrez l'application dans Chrome/Edge et cliquez sur l'icône d'installation dans la barre d'adresse pour l'installer comme application native.
- Ouvrir un PDF — Glissez un fichier sur l'écran d'accueil ou cliquez pour sélectionner
- Naviguer — Cliquez sur une miniature dans la barre latérale gauche
- Éditer — Sélectionnez un outil dans la barre supérieure et dessinez sur la page
- Réorganiser — Glissez les miniatures pour réordonner les pages
- Exporter — Cliquez sur "Exporter" pour télécharger le PDF modifié
- ✅ Aucune donnée envoyée à un serveur
- ✅ Traitement 100% local dans le navigateur
- ✅ Sauvegarde uniquement dans IndexedDB de votre navigateur
- ✅ Fonctionne hors-ligne (PWA)
MIT