docuMMC
Présentation
Il s'agit d'adapter pour l'entreprise de créer un gestionnaire de documentation, qui permettra aux salariés de gérer/créer puis consulter/rechercher dans une documentation partagée.
Outils de développement
- PHP/Mysql
- Doctrine pour le mappage relationnel/Objet
- CodeIgniter pour la mise en place MVC
Documents
Script de la base de données
Diagramme de cas d'utilisation
Gérer Utilisateurs / Gérer Mondes
Travail fourni
Modèle
Travail sur 3 classes métiers:
- Utilisateur
- Monde
- Groupe
- Un Monde peut contenir zéro, un, ou plusieurs Utilisateurs
- Un Utilisateur appartient à un Monde
- Un Groupe peut contenir zéro, un, ou plusieurs Utilisateurs
- Un Utilisateur appartient à un groupe
Vue
Voici les vues utilisées:
| Méthodes | Description | 
|---|---|
| VAdmin | Page principal avec utilisateurs et mondes | 
| VAddUser | Vue permettant l'ajout d’un nouvel utilisateur | 
| VAddMonde | Vue permettant l'ajout d'un nouveau monde | 
| VUpdateUser | Modification d'un utilisateur existant | 
| VUpdateMonde | Modification d'un monde existant | 
Contrôleur
La gestion des Utilisateurs et Mondes est effectuée dans le contrôleur CAdmin . Le contrôleur possède plusieurs méthodes:
| Méthodes | Description | 
|---|---|
| index | Méthode appelée par défaut qui appelle la fonction resfresh | 
| refresh | Appelée par l'index, cette méthode est utilisé pour l’affichage initial et le rafraîchissement après une modification | 
| deleteUser | Supprimer un utilisateur | 
| deleteMonde | Supprimer un monde | 
| viewAddUser | Affichage vue VAddUser | 
| addUser | Ajouter un utilisateur | 
| viewAddMonde | Affichage vue VAddMonde | 
| addMonde | Ajouter un monde | 
| viewUpdateUser | Affichage vue VUpdateUser | 
| updateUser | Modification d’un utilisateur | 
| viewUpdateMonde | Affichage vue VUpdateMonde | 
| updateMonde | Modification d'un monde | 
Librairie
Appelée dans le constructeur : $this→load→library('Modelutils');
Utilisation de la librairie ModelUtils, plusieurs fonctions ont été créées.
- getAllUsers (Récupère tous les utilisateurs)
- getUserWithId (Récupère un utilisateur avec son Id)
- getAllMondes (Récupère tous les mondes)
- getMondeWithId (Récupère un monde avec son Id)
- getMondeWithLibelle (Récupère un monde avec son libellé)
- getAllGroupes (Récupère tous les groupes)
- getAllDomaines (Récupère tous les domaines)
- getGroupeWithId (Récupère un monde grâce à son Id)
- getGroupeWithLibelle (Récupère un groupe avec son libelle)
<?php
class ModelUtils{
    private $ci;
    public function __construct(){
        $this->ci =& get_instance();
    }
    public function getAllUsers(){
        $query = $this->ci->doctrine->em->createQuery("SELECT u FROM Utilisateur u");
        return $query->getResult();
    }
    public function getUserWithId($param){
        $query = $this->ci->doctrine->em->createQuery("SELECT u FROM Utilisateur u WHERE u.id='".$param."'");
        return $query->getSingleResult();
    }
    public function getAllMondes(){
        $query = $this->ci->doctrine->em->createQuery("SELECT m FROM Monde m");
        return $query->getResult();
    }
    public function getMondeWithId($param){
        $query = $this->ci->doctrine->em->createQuery("SELECT m FROM Monde m WHERE m.id='".$param."'");
        return $query->getSingleResult();
    }
    public function getMondeWithLibelle($param){
        $query = $this->ci->doctrine->em->createQuery("SELECT m FROM Monde m WHERE m.libelle='".$param."'");
        return $query->getSingleResult();
    }
    public function getAllGroupes(){
        $query = $this->ci->doctrine->em->createQuery("SELECT g FROM Groupe g");
        return $query->getResult();
    }
    public function getAllDomaines(){
        $query = $this->ci->doctrine->em->createQuery("SELECT d FROM Domaine d");
        return $query->getResult();
    }
    public function getGroupeWithId($param){
        $query = $this->ci->doctrine->em->createQuery("SELECT g FROM Groupe g WHERE g.id='".$param."'");
        return $query->getSingleResult();
    }
    public function getGroupeWithLibelle($param){
        $query = $this->ci->doctrine->em->createQuery("SELECT g FROM Groupe g WHERE g.libelle='".$param."'");
        return $query->getSingleResult();
    }
    
}

 127.0.0.1
 127.0.0.1