Skip to content

Repository files navigation

APDF — Éditeur PDF moderne (100% navigateur)

Application web d'édition PDF entièrement côté client. Aucun serveur, aucun cloud — vos fichiers restent sur votre appareil.

Fonctionnalités

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

Stack technique

  • 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

Structure du projet

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

Installation et lancement

Prérequis

  • Node.js 18+
  • npm ou yarn

Étapes

# 1. Cloner / accéder au projet
cd apdf

# 2. Installer les dépendances
npm install

# 3. Lancer en développement
npm run dev

L'application s'ouvre sur http://localhost:5173

Build production

npm run build
npm run preview

Installation PWA

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

Utilisation

  1. Ouvrir un PDF — Glissez un fichier sur l'écran d'accueil ou cliquez pour sélectionner
  2. Naviguer — Cliquez sur une miniature dans la barre latérale gauche
  3. Éditer — Sélectionnez un outil dans la barre supérieure et dessinez sur la page
  4. Réorganiser — Glissez les miniatures pour réordonner les pages
  5. Exporter — Cliquez sur "Exporter" pour télécharger le PDF modifié

Confidentialité

  • ✅ Aucune donnée envoyée à un serveur
  • ✅ Traitement 100% local dans le navigateur
  • ✅ Sauvegarde uniquement dans IndexedDB de votre navigateur
  • ✅ Fonctionne hors-ligne (PWA)

Licence

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages