Ce projet a été réalisé en deuxième année de BTS SIO avec la spécialité SLAM, en collaboration avec un binôme. L'objectif était de développer un intranet pour la mairie de Getcet S/Mer, permettant de gérer les différents rôles des utilisateurs, tels que Maire, Secrétaire, Épicier et Commerçant, en utilisant le pattern MVC.
En tant que chef de projet, j'étais chargé de superviser le développement de l'application et d'assurer la coordination entre les différentes parties. Le projet visait à fournir :
Du 11/10/24 au 29/11/24
Durée : 1 mois (Terminé)
Le projet répond aux besoins spécifiques de chaque rôle utilisateur :
Le projet intègre plusieurs concepts avancés :
Le système de connexion est sécurisé grâce à l'utilisation de requêtes préparées et d'un chiffrement des mots de passe. Voici un extrait de code montrant cette approche :
$login = $_REQUEST['login'];
$mdp = $_REQUEST['mdp'];
$mdp = md5($mdp); // Chiffrement du mot de passe
$verif = $pdo->testConnexionEmploye($login, $mdp);
if ($verif == 0) {
ajouterErreur("Login ou mot de passe incorrect");
include("vues/v_erreurs.php");
include("vues/v_connexion.php");
} else {
// Récupérer les informations de l'employé
$employe = $pdo->getInfosEmploye($login, $mdp);
$_SESSION['role'] = $employe['role'];
}
Le module d'enregistrement des dons extérieurs comporte plusieurs vérifications pour garantir la validité des informations saisies :
$idCommerce = $_REQUEST['idCommerce'] ?? null;
$refProduit = $_REQUEST['refProduit'] ?? null;
$dateduDon = $_REQUEST['dateduDon'] ?? null;
$prixOrigine = $_REQUEST['prixOrigine'] ?? null;
$qte = $_REQUEST['qte'] ?? null;
// Vérification des champs obligatoires
if (empty($idCommerce) || empty($refProduit) || empty($dateduDon) || empty($prixOrigine) || empty($qte)) {
$errorMessage = "Tous les champs doivent être remplis.";
include('vues/v_messageErreurDons.php');
break;
}
// Enregistrer le don
$pdo->ajouterDon($idCommerce, $refProduit, $dateduDon, $prixOrigine, $qte);
$successMessage = "Le don a été enregistré avec succès.";
Ce projet m'a permis de développer mes compétences en tant que chef de projet, notamment dans la gestion d'une équipe et la coordination du travail. J'ai également appris à utiliser des outils et des méthodes pour sécuriser les données des utilisateurs et à m'assurer que les rôles et permissions sont correctement gérés au sein de l'application.
Pour l'avenir, plusieurs évolutions pourraient être envisagées :
Le plus grand défi pour moi a été de garder un œil sur l'ensemble du projet en tant que chef de projet, tout en coordonnant les tâches avec mon binôme. La nécessité de regrouper et de maintenir le code de manière cohérente a également été un défi important, en particulier pour s'assurer que chaque module s'intègre bien avec les autres.