Application PDF tout-en-un Android — 100 % locale, sans tracker, sans compte.
PDF Tech regroupe 23 outils PDF dans une seule application Flutter Android. Tous les traitements s'effectuent sur l'appareil. Aucune donnée n'est transmise à un serveur, sauf action explicite de l'utilisateur (partage, export Google Drive optionnel, vérification de mise à jour anonyme).
Version actuelle : 1.11.2.
23 outils intégrés :
- Lecteur PDF (zoom, recherche, signets, table des matières, mode nuit, reprise de page)
- Fusionner plusieurs PDFs
- Diviser un PDF
- Protéger par mot de passe (chiffrement AES-256)
- Déchiffrer / supprimer un mot de passe
- Pivoter des pages
- Ajouter un filigrane texte
- Créer un PDF (titres, listes, code, images, liens)
- Compresser un PDF
- Signature électronique manuscrite
- Remplir un formulaire PDF
- OCR — reconnaissance de texte (ML Kit Latin, modèle local)
- Supprimer des pages
- Réorganiser des pages
- Exporter les images d'un PDF
- Modifier les métadonnées (titre, auteur, sujet, mots-clés)
- Numéroter les pages
- Tampon (Bates, brouillon, etc.)
- En-tête / pied de page
- Extraire les images d'un PDF
- Comparer deux PDFs
- Convertir Images → PDF
- Annoter un PDF
- Anti path-traversal :
canonicalFile+ liste blancheallowedRootscôté Kotlin pour tout accèsfile://. - Magic-bytes + cap 200 Mo : validation du type réel des fichiers ouverts (sniffing en-tête, pas seulement extension).
- FileProvider restrictif :
file_paths.xmllimité aux dossiers nécessaires,grantUriPermissionsciblé. - Build release durci : keystore dédié via
key.properties, signing v2/v3, R8 + shrinking + obfuscation. - Network Security Config strict :
usesCleartextTraffic="false", NSC ne whiteliste que les domaines GitHub et Google nécessaires. - Pas de backup ADB :
allowBackup="false",dataExtractionRulesvide. - RASP léger : avertissement à l'utilisateur si root / debug actif.
Politique de signalement : voir SECURITY.md. Vérification SHA-256 publiée pour chaque APK release.
| Permission | Justification |
|---|---|
INTERNET |
Vérification de mise à jour via API GitHub Releases publique (HTTPS, anonyme). Activée également si l'utilisateur choisit Google Drive (optionnel). |
MANAGE_EXTERNAL_STORAGE |
Permettre à l'utilisateur de parcourir et d'ouvrir des PDFs hors sandbox de l'app (Téléchargements, Documents, WhatsApp Documents, etc.). Sans cette permission, le Play Store de fichiers PDF est limité au scoped storage. |
READ_MEDIA_IMAGES n'est pas demandée : la sélection d'images (outil Images → PDF) passe par le SAF / file_picker qui octroie l'accès via URI éphémère.
GitHub Releases — latest — APK signé, distribué hors Play Store.
Site officiel : files-tech.com/pdf-tech
100 % local. Aucune télémétrie, aucune collecte de données, aucun partage. Code source ouvert sous Apache 2.0 — auditable.
Voir PRIVACY.md (EN) / PRIVACY.fr.md (FR) et TERMS.md / TERMS.fr.md.
Prérequis : Flutter stable, Android SDK, JDK 17.
git clone https://github.com/gitubpatrice/files_tech_core.git
git clone https://github.com/gitubpatrice/PDF-TECH.git pdf_tech
cd pdf_tech
flutter pub get
flutter build apk --releasePour produire un APK signé release, créer android/key.properties :
storePassword=…
keyPassword=…
keyAlias=…
storeFile=/chemin/absolu/vers/keystore.jksSans ce fichier, flutter build apk --release retombe sur la signature debug (build local de test uniquement).
Apache License 2.0 — voir aussi NOTICE et THIRD_PARTY_NOTICES.md.