Une application iOS qui permet d'importer des fichiers EPUB, de les découper en chapitres, d'extraire le texte brut (sans balises HTML), et de les présenter comme une liste d'articles avec possibilité de copier le contenu de chaque chapitre.
- Importation de fichiers EPUB depuis Files, iCloud Drive et autres providers
- Découpage automatique en chapitres basé sur la table des matières
- Extraction du texte brut sans balises HTML
- Interface minimaliste et élégante optimisée pour la lecture
- Copie facile du contenu de chaque chapitre
- Support du mode sombre et personnalisation de la taille de police
- Gestion efficace de la mémoire pour les livres volumineux
L'application utilise une architecture MVVM (Model-View-ViewModel) pour une séparation claire des responsabilités :
- Models : Définition des structures de données pour les livres et chapitres
- Views : Interface utilisateur en SwiftUI
- ViewModels : Logique de présentation et traitement des données
- Services : Traitement des EPUB et gestion des fichiers
- Swift 5.9 et SwiftUI pour l'interface utilisateur
- FolioReaderKit pour le parsing des EPUB
- SwiftSoup pour le nettoyage du HTML
- Combine pour la gestion des flux de données réactifs
- FileProvider pour l'accès aux fichiers
- Clonez ce dépôt
- Ouvrez le projet dans Xcode 15 ou supérieur
- Exécutez
swift package resolvepour installer les dépendances - Compilez et exécutez l'application sur un appareil ou simulateur iOS
- iOS 15.0 ou supérieur
- Xcode 15 ou supérieur
- Swift 5.9 ou supérieur
EPUBReader/
├── Models/
│ ├── Book.swift
│ └── Chapter.swift
├── Views/
│ ├── HomeView.swift
│ ├── BookDetailView.swift
│ ├── ChapterView.swift
│ └── SettingsView.swift
├── ViewModels/
│ ├── BookLibraryViewModel.swift
│ ├── BookDetailViewModel.swift
│ └── ChapterViewModel.swift
├── Services/
│ ├── EPUBService.swift
│ └── FileService.swift
└── EPUBReaderApp.swift
- Lancez l'application
- Appuyez sur le bouton "+" pour importer un fichier EPUB
- Sélectionnez un livre dans la bibliothèque pour voir ses chapitres
- Sélectionnez un chapitre pour le lire
- Utilisez le bouton "Copier tout" pour copier le contenu du chapitre
Vous pouvez personnaliser l'application via l'écran Paramètres :
- Changer entre le mode clair et sombre
- Ajuster la taille de police par défaut
- Effacer le cache si nécessaire