{"id":29672915,"url":"https://github.com/paulpascal/versioning_ml_web_app","last_synced_at":"2026-02-05T20:32:42.451Z","repository":{"id":286052517,"uuid":"960197323","full_name":"paulpascal/versioning_ml_web_app","owner":"paulpascal","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-05T23:52:38.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-22T21:17:26.727Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paulpascal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-04T02:49:45.000Z","updated_at":"2025-04-05T23:52:41.000Z","dependencies_parsed_at":"2025-04-04T04:25:07.497Z","dependency_job_id":"eb1a1a6c-aa24-4fe7-b652-3f3efb2019a4","html_url":"https://github.com/paulpascal/versioning_ml_web_app","commit_stats":null,"previous_names":["paulpascal/versioning_ml_web_app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/paulpascal/versioning_ml_web_app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulpascal%2Fversioning_ml_web_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulpascal%2Fversioning_ml_web_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulpascal%2Fversioning_ml_web_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulpascal%2Fversioning_ml_web_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paulpascal","download_url":"https://codeload.github.com/paulpascal/versioning_ml_web_app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulpascal%2Fversioning_ml_web_app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29133397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T19:36:52.185Z","status":"ssl_error","status_checked_at":"2026-02-05T19:35:40.941Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-22T21:09:20.720Z","updated_at":"2026-02-05T20:32:42.437Z","avatar_url":"https://github.com/paulpascal.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Application Web de Gestion de Données de Machine Learning\n\n## 📝 Description\n\nCette application web permet aux utilisateurs de gérer et d'entraîner des modèles de machine learning à travers une interface utilisateur intuitive. Elle intègre des fonctionnalités de versioning des données et des modèles avec DVC, ainsi qu'un pipeline d'intégration continue avec Jenkins.\n\n## 🎯 Fonctionnalités\n\n- 📤 Upload de données (formats CSV, XLSX, XLS)\n- 🔄 Préparation et prétraitement des données\n- 🤖 Sélection et entraînement de modèles de machine learning\n- 📊 Visualisation des résultats d'entraînement\n- 🔄 Versioning des données et modèles avec DVC\n- 🔄 Intégration continue avec Jenkins\n- 📱 Interface utilisateur moderne et responsive\n\n## 🛠️ Technologies Utilisées\n\n- **Backend**: Python, Flask\n- **Frontend**: HTML, CSS (Tailwind/DaisyUI)\n- **Base de données**: Pandas pour la gestion des données\n- **Machine Learning**: Scikit-learn\n- **Versioning**: Git, GitHub, DVC\n- **CI/CD**: Jenkins\n- **Stockage Cloud**: Google Drive (via Google Cloud Console)\n\n## 📋 Prérequis\n\n- Python 3.8+\n- Git\n- DVC\n- Compte Google Cloud avec accès à Google Drive\n- Jenkins (pour l'intégration continue)\n\n## 🔧 Installation\n\n1. **Cloner le repository**\n\n```bash\ngit clone [URL_DU_REPO]\ncd ml-web-app\n```\n\n2. **Créer un environnement virtuel**\n\n```bash\npython -m venv venv\nsource venv/bin/activate  # Sur Unix/macOS\n# ou\n.\\venv\\Scripts\\activate  # Sur Windows\n```\n\n3. **Installer les dépendances**\n\n```bash\npip install -r requirements.txt\n```\n\n4. **Configurer les variables d'environnement**\n   Créer un fichier `.env` à la racine du projet avec les variables suivantes :\n\n```env\nAPP_NAME=nom de l'application\nSECRET_KEY=votre_clé_secrète\nMAX_CONTENT_LENGTH=16777216  # 16MB en bytes\nUPLOAD_FOLDER=data/raw       # path vers les donnees a versionner par DVC\nMODEL_FOLDER=models          # path vers les models a versionner par DVC\nDVC_REMOTE_URL=remote dvc\nGOOGLE_APPLICATION_CREDENTIALS=chemin/vers/votre/fichier-credentials.json\n```\n\n5. **Configurer DVC**\n\n```bash\ndvc init\ndvc remote add -d myremote gdrive://[ID_DU_DOSSIER_GDRIVE]\n```\n\n## 🚀 Utilisation\n\n1. **Démarrer l'application**\n\n```bash\npython -m app.main\n```\n\n2. **Accéder à l'application**\n\n- Ouvrir un navigateur et aller à `http://localhost:5000`\n\n3. **Utiliser l'application**\n   - Uploader un fichier de données\n   - Sélectionner les features et le target\n   - Choisir le modèle et les paramètres\n   - Lancer l'entraînement\n   - Visualiser les résultats\n   - Sauvegarder le modèle\n\n## 🧪 Tests\n\n### Prérequis pour les Tests\n\n- Avoir installé toutes les dépendances\n- Avoir configuré l'environnement virtuel\n- Avoir configuré les variables d'environnement\n\n### Exécution des Tests\n\n1. **Lancer tous les tests**\n\n```bash\npytest\n```\n\n2. **Lancer les tests avec couverture**\n\n```bash\npytest --cov=app tests/\n```\n\n3. **Lancer les tests avec rapport HTML**\n\n```bash\npytest --cov=app --cov-report=html tests/\n```\n\n4. **Lancer les tests en mode verbeux**\n\n```bash\npytest -v\n```\n\n### Structure des Tests\n\nLes tests sont organisés dans le dossier `tests/` avec la structure suivante :\n\n```\ntests/\n├── test_data_handler.py    # Tests pour la gestion des données\n└── test_model_handler.py   # Tests pour la gestion des modèles\n```\n\n## 🤝 Contribution\n\nLes contributions sont les bienvenues ! Voici comment contribuer :\n\n1. Fork le projet\n2. Créer une branche pour votre feature (`git checkout -b feature/feature_name`)\n3. Commit vos changements (`git commit -m 'Add some feature_name'`)\n4. Push vers la branche (`git push origin feature/feature_name`)\n5. Ouvrir une Pull Request\n\n## 👥 Contributeurs\n\n### Équipe de Développement\n\n| Nom                               | \n| --------------------------------- | \n| Paul Alognon-Anani                | \n| Castelnau Godefroy Ondongo        | \n| Amadou Tidiane Diallo             | \n| Mayombo Abel M.O                  | \n| Joan-Yves Darys Anguilet          | \n\n## 📚 Spécifications du Projet\n\n### Objectifs\n\n- Versioning du code source avec Git et GitHub\n- Versioning des données et modèles avec DVC\n- Mise en place d'un pipeline CI avec Jenkins\n\n### Fonctionnalités Requises\n\n- Upload de données (CSV, XLSX, XLS)\n- Sélection et entraînement de modèles ML\n- Visualisation des résultats\n- Versioning des données et modèles\n- Tests automatisés","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulpascal%2Fversioning_ml_web_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulpascal%2Fversioning_ml_web_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulpascal%2Fversioning_ml_web_app/lists"}