Projet annuel b2 localodrive

Projet annuel b2 localodrive

Mise en service : 15/12/2024 Mise à jour de l'article : 10/07/2025 En-cours

Vue d'ensemble

Projet web développé dans le cadre de la deuxième année de formation bac +3 (Licence/Bachelor en Informatique). Application de gestion de fichiers locaux inspirée de Google Drive mais fonctionnant en local, mettant en pratique les concepts avancés de développement web.

Objectifs du Projet

  • Architecture MVC : Implémentation d'une architecture Model-View-Controller robuste
  • Gestion de fichiers : Upload, téléchargement, organisation en dossiers
  • Interface utilisateur : Design moderne et responsive
  • Base de données : Stockage des métadonnées et gestion des utilisateurs
  • Sécurité : Authentification et autorisation des accès
  • Tests unitaires : Validation du code avec tests automatisés
  • Technologies Utilisées

    Backend

  • PHP 8.x : Langage principal du projet
  • MySQL : Base de données relationnelle
  • Architecture MVC : Séparation des responsabilités
  • Sessions PHP : Gestion de l'authentification
  • Frontend

  • HTML5/CSS3 : Structure et style
  • JavaScript : Interactions utilisateur
  • Bootstrap : Framework CSS pour le responsive
  • AJAX : Requêtes asynchrones
  • Outils de Développement

  • Git : Gestion de versions
  • Visual Studio Code : Éditeur de code
  • Docker : Conteneurisation pour le développement
  • Composer : Gestion des dépendances PHP
  • PHPUnit : Tests unitaires
  • Postman : Tests d'API
  • Fonctionnalités Implémentées

    1. Authentification

  • Inscription et connexion utilisateurs
  • Gestion des sessions sécurisées
  • Récupération de mot de passe
  • Authentification à deux facteurs (2FA)
  • 2. Gestion des Fichiers

  • Upload de fichiers multiples
  • Création de dossiers
  • Navigation dans l'arborescence
  • Recherche de fichiers
  • Prévisualisation des fichiers (images, PDF, etc.)
  • 3. Interface Utilisateur

  • Design responsive avec Bootstrap 5
  • Drag & drop pour l'upload
  • Prévisualisation des fichiers
  • Menu contextuel
  • Notifications en temps réel
  • 4. Administration

  • Gestion des utilisateurs
  • Statistiques d'utilisation
  • Logs d'activité
  • Gestion des permissions
  • 5. API REST

  • Endpoints pour l'upload/téléchargement
  • Authentification par token JWT
  • Documentation Swagger
  • Tests automatisés
  • Architecture Technique

    Structure MVC

    ```

    LocalODrive/

    ├── models/ # Logique métier

    ├── views/ # Templates d'affichage

    ├── controllers/ # Contrôleurs

    ├── public/ # Fichiers publics

    ├── config/ # Configuration

    └── uploads/ # Stockage des fichiers

    ```

    Base de Données

  • Table users : Informations utilisateurs
  • Table files : Métadonnées des fichiers
  • Table folders : Structure des dossiers
  • Table shares : Partage de fichiers
  • Défis Rencontrés

    1. Sécurité

  • Validation des uploads de fichiers
  • Protection contre les injections SQL
  • Gestion sécurisée des sessions
  • 2. Performance

  • Optimisation des requêtes SQL
  • Gestion de la mémoire pour les gros fichiers
  • Pagination des résultats
  • 3. Interface Utilisateur

  • Design responsive pour tous les écrans
  • Expérience utilisateur intuitive
  • Gestion des erreurs utilisateur
  • Résultats Obtenus

    Compétences Acquises

  • Maîtrise de l'architecture MVC et des patterns de conception
  • Développement web sécurisé et bonnes pratiques
  • Gestion de projet informatique avec méthodologies agiles
  • Travail en équipe et collaboration
  • Présentation technique et documentation
  • Tests unitaires et intégration continue
  • API REST et documentation technique
  • Évolutions Possibles

    Phase 2 - Améliorations

  • Synchronisation cloud avec chiffrement
  • API REST complète pour applications mobiles
  • Chiffrement des fichiers en transit et au repos
  • Partage avancé avec permissions granulaires
  • Intégration avec des services tiers (Google Drive, Dropbox)
  • Phase 3 - Extension

  • Application mobile React Native
  • Intégration avec d'autres services via webhooks
  • Workflow de validation et approbation
  • Analytics avancées et reporting
  • Microservices architecture

Conclusion

Ce projet de deuxième année bac +3 a été l'occasion de mettre en pratique les concepts avancés de développement web acquis pendant la formation. L'architecture MVC robuste, combinée aux tests unitaires et à l'approche professionnelle du développement, a permis de créer une application modulaire, maintenable et évolutive. Les défis techniques rencontrés ont renforcé les compétences en développement sécurisé et en gestion de projet informatique.

Projet réalisé dans le cadre de la deuxième année de licence/bachelor en informatique - 2024