Logo Lanfrica

Fihobiana87/madadocs

Domaine:

digital infrastructure

Type de record:

software
Créateur:
Fih
Hôte:
Une plateforme de modèles de documents adaptés à Madagascar.(cv, lm, facture, devis,...) # MadaDocs MadaDocs est une application web légère pour créer des documents administratifs et professionnels malgaches (CV, lettres, demandes, factures) en quelques minutes, sans complexité inutile. Conçue pour tourner sur un hébergement mutualisé gratuit (InfinityFree) : PHP + MySQL uniquement, aucune dépendance lourde. ## Stack technique - PHP 8.1+ (testé avec PHP 8.5), MVC maison (aucun framework lourd) - MySQL / MariaDB via PDO (SQLite supporté en local pour le développement) - Dompdf (vendorisé, pas besoin de Composer sur l'hébergement) - HTML5, CSS custom (aucun framework CSS), JavaScript vanilla - IA optionnelle via l'API Groq (gratuite), remplaçable par un autre fournisseur ## Structure du projet ``` /app /Controllers Contrôleurs HTTP /Core Noyau (routeur, DB, session, CSRF, auth, rendu PDF, client IA...) /Models Accès aux données (PDO, requêtes préparées) /views Vues PHP (layouts, pages, vues PDF) /helpers Fonctions globales (env, config, e(), csrf_field()...) /public Racine web (à publier telle quelle sur l'hébergement) /assets CSS / JS / images index.php Front controller .htaccess Réécriture d'URL + blocage de fichiers sensibles /config Configuration (app, database, ai) /storage Logs et PDF générés (jamais exposé publiquement) /vendor Dompdf et dépendances (vendorisées, à committer) database.sql Schéma + données de départ (catégories et modèles de documents) routes.php Table de routes ``` ## Installation locale (développement) 1. `composer install` si vous ajoutez des dépendances (Dompdf est déjà vendorisé dans le dépôt). 2. Copiez `.env.example` en `.env` et complétez les valeurs. Pour tester sans MySQL, utilisez : ``` DB_DRIVER=sqlite DB_SQLITE_PATH=chemin/vers/storage/madadocs.sqlite ``` puis importez `database.sql` adapté (voir script de dev) ou une base MySQL locale avec `database.sql` tel quel. 3. Générez une clé d'applicati …