/**
  * Check session : if the user is not connected, redirect to connection page 
  */
 public function performAction($action)
 {
     if ($this->request->getSession()->checkAttributeExist("userId")) {
         parent::performAction($action);
     } else {
         $this->redirect("connection");
     }
 }
Пример #2
0
 function  __construct() {
   parent::__construct();
   $this->objet_periodes=new ClassPeriodes();
   $_SESSION['choix_evolution']=isset($_SESSION['choix_evolution'])?$_SESSION['choix_evolution']:'Catégories';
   $this->choix_evolution=isset($_POST['evolution'])?$_POST['evolution']:(isset($_GET['evolution'])?$_GET['evolution']:Null);
   if( $this->choix_evolution) $_SESSION['choix_evolution']=$this->choix_evolution;
   $this->current_onglet=isset($_SESSION['current_onglet']['id'])?$_SESSION['current_onglet']['id']:0;
   $this->temp=get_user_temp_directory();    
 }
 /**
  * Redéfinition permettant d'ajouter les infos clients aux données des vues 
  * 
  * @param type $donneesVue Données dynamiques
  * @param type $action Action associée à la vue
  */
 protected function genererVue($donneesVue = array(), $action = null)
 {
     $admin = null;
     // Si les infos client sont présente dans la session...
     if ($this->requete->getSession()->existeAttribut("admin")) {
         // ... on les récupère ...
         $admin = $this->requete->getSession()->getAttribut("admin");
     }
     // ... et on les ajoute aux données de la vue
     parent::genererVue($donneesVue + array('admin' => $admin), $action);
 }
Пример #4
0
 /** Constructeur du modèle
  * Constructeur privé, crée l'instance de PDO qui sera sollicitée pour toutes les méthodes de la classe
  */
 public static function seConnecter()
 {
     try {
         GsbModele::$driver = GsbConfig::$BdType . ':host=' . GsbConfig::$BdServeur . ';dbname=' . GsbConfig::$BdBase;
         GsbModele::$pdo = new PDO(GsbModele::$driver, GsbConfig::$BdUtilisateur, GsbConfig::$BdMotDePasse);
         GsbModele::$pdo->query("SET CHARACTER SET utf8");
         // règle les problème d'encodage
     } catch (Exception $e) {
         Controleur::erreurConnexionBdd("Erreur de connexion \n" . $e->getMessage());
     }
 }
 /**
  * Redéfinition permettant d'ajouter les infos clients aux données des vues 
  * 
  * @param type $donneesVue Données dynamiques
  * @param type $action Action associée à la vue
  */
 protected function genererVue($donneesVue = array(), $action = null)
 {
     $client = null;
     $nbArticlesPanier = 0;
     // Si les infos client sont présente dans la session...
     if ($this->requete->getSession()->existeAttribut("client")) {
         // ... on les récupère ...
         $client = $this->requete->getSession()->getAttribut("client");
         $panier = new Panier();
         $nbArticlesPanier = $panier->getNbArticles($client['idClient']);
     }
     // ... et on les ajoute aux données de la vue
     parent::genererVue($donneesVue + array('client' => $client, 'nbArticlesPanier' => $nbArticlesPanier), $action);
 }
Пример #6
0
 function  __construct() {
   parent::__construct();
   $this->objet_periodes=new ClassPeriodes();
   $this->periodes_calendrier=$this->objet_periodes->get_periodes_calendrier();
   $_SESSION['stats_choix']=isset($_POST['choix']) ? $_POST['choix'] :(isset($_GET['choix']) ? $_GET['choix'] : 'eleves');
   $this->id_calendrier=isset($_POST['id_calendrier'])? $_POST['id_calendrier']:(isset($_GET['id_calendrier'])? $_GET['id_calendrier']:null);
   $this->posted=isset($_POST['posted'])? $_POST['posted']:(isset($_GET['posted'])? $_GET['posted']:null);
   $this->month_selected=isset($_POST['month'])? $_POST['month']:(isset($_GET['month'])? $_GET['month']:null);
   $this->login=isset($_POST['login'])? $_POST['login']:(isset($_GET['login'])? $_GET['login']:null);
   $this->statut=isset($_SESSION['stats_choix'])? $_SESSION['stats_choix']:'eleves' ;
   $this->du=isset($_POST['du'])? $_POST['du']:(isset($_GET['du'])? $_GET['du']:Gepi_Date::get_date_begin_yearschool());
   $this->au=isset($_POST['au'])? $_POST['au']:(isset($_GET['au'])? $_GET['au']:date('d/m/Y'));
   $this->etab_all=isset($_POST['etab_all'])? $_POST['etab_all']:(isset($_GET['etab_all'])? $_GET['etab_all']:null);
   $this->eleve_all=isset($_POST['eleve_all'])? $_POST['eleve_all']:(isset($_GET['eleve_all'])? $_GET['eleve_all']:null);
   $this->pers_all=isset($_POST['pers_all'])? $_POST['pers_all']:(isset($_GET['pers_all'])? $_GET['pers_all']:null);
   $this->classes_selected=isset($_POST['classes'])? $_POST['classes']:(isset($_GET['classes'])? $_GET['classes']:null);
   $this->del_type=isset($_POST['del_type'])? $_POST['del_type']:(isset($_GET['del_type'])? $_GET['del_type']:null);
   $this->del=isset($_POST['del'])? $_POST['del']:(isset($_GET['del'])? $_GET['del']:null);    
 }
Пример #7
0
                        if ($i > 0) {
                            $leMedicamentPrecedant = $lesMedicaments[$i - 1];
                        }
                        if ($i + 1 < $lesMedicamentsTaille) {
                            $leMedicamentSuivant = $lesMedicaments[$i + 1];
                        }
                        break;
                        // Arrète le FOR
                    }
                }
            } else {
                $leMedicament = null;
            }
        }
        Vue::$title = "Details médicament";
        Controleur::composeVue("vues/medicament/details.php");
        break;
    case "saisir":
        break;
}
/*
// Action par default 'aucune' 
$action =  ( (isset($_REQUEST['action'])) ? $_REQUEST['action'] : null ) ;
include("vues/v_site_sommaire.php");
switch($action)
{



case "consulter":	
default:	
Пример #8
0
            <?php 
include 'header.php';
?>
        </header>
        <section>
            <div class="row">
                <div class="col-sm-6 col-sm-offset-3">
            <?php 
if (htmlentities(addslashes(isset($_POST['id'])))) {
    $news = $controleur->getNewsId($_POST['id']);
    echo "<form method='POST' action='updateNews.php'>\n                        <fieldset>\n                            <legend>Form update news</legend>\n                            <input type='hidden' id='id' name='id' value='" . $_POST['id'] . "'/>\n                            <label class='col-sm-4' for='title'>Title: </label>\n                            <input class='col-sm-8' type='text' id='title' name='title' value='" . $news->getTitle() . "' maxlength='100'/>\n                            <label class='col-sm-4' for='abstract'>Abstract: </label>\n                            <textarea class='col-sm-8' id='abstract' name='abstract'>" . $news->getAbstractNews() . "</textarea>\n                            <label class='col-sm-4' for='content'>Content: </label>\n                            <textarea class='col-sm-8' id='content' name='content'>" . $news->getContent() . "</textarea>\n                            <input type='hidden' id='datecreated' name='datecreated' value='" . $news->getDateCreated() . "'/>\n                            <input class='col-sm-8 col-sm-offset-4 btn btn-primary' type='submit' name='btnupdatenews' value='UPDATE'/>\n                        </fieldset>                                                                     </form>";
} else {
    if (isset($_POST['btnupdatenews'])) {
        $image = array();
        //TEMP
        $controleur = new Controleur();
        $news = new Article(htmlentities(addslashes($_POST['title'])), htmlentities(addslashes($_POST['abstract'])), htmlentities(addslashes($_POST['content'])), htmlentities(addslashes($_POST['datecreated'])), date("Y-m-d"), $image);
        $news->setId($_POST['id']);
        $controleur->updateNews($news);
        header('Location: news.php');
    } else {
        header('Location:home.php');
    }
}
?>
                </div>
            </div>
        </section>
         <script                                                 src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>          
    </body>
</html>
Пример #9
0
<?php

/** 
 * Controleur des pages gsb de l'application GSB
 * @package default
 * @author Kim Paviot, Julien Dignat and Christophe Sonntag
 * @version 1.1
 */
// Verifie que l'utilisateur est connecté
Controleur::doitValiderAutorisation(GsbUtilisateur::estConnecte());
switch (Controleur::$action) {
    case "travail":
        Vue::$title = "Travail";
        Vue::configToJqvmap();
        Controleur::composeVue("vues/gsb/travail.php");
        break;
    case "documentation":
        Vue::$title = "Documentation";
        Controleur::composeVue("vues/gsb/documentation.php");
        break;
}
Пример #10
0
 /**
  * Constructeur : fait appel au contrusteur parent
  * @param string $a nom de l'action à appeler
  */
 public function __construct($a)
 {
     parent::__construct("_default", $a);
 }
Пример #11
0
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">

<link rel="stylesheet" type="text/css" href="../CSS/style.css"/>
<nav class="navbar navbar-default navbar-fixed-top">
    <div class="container-fluid">
        <div class="navbar-header">
            Web
        </div>

        <ul class="nav navbar-nav navbar-right">
            <li><a href="home.php"><span class="glyphicon glyphicon-home"></span> Home</a></li>
            <?php 
if (isset($_SESSION['email'])) {
    $controleur = new Controleur();
    if ($controleur->getUserEmail($_SESSION['email'])) {
        if (isset($_SESSION['admin'])) {
            echo "<li><a href='addUser.php'><span class='glyphicon glyphicon-plus'></span> Add user</a></li>";
            echo "<li><a href='users.php'><span class='glyphicon glyphicon-user'> Users</a></li>";
        }
        echo "<li><a href='lastnews.php'><span class='glyphicon glyphicon-star'></span> New</a></li>";
        echo "<li><a href='news.php'><span class='glyphicon glyphicon-star-empty'></span> News</a></li>";
        echo "<li><a href='profil.php'><span class='glyphicon glyphicon-user'> Profil</a></li>";
        echo "<li><a href='deconnect.php'><span class='glyphicon glyphicon-off'></span> Deconnect</a></li>";
    } else {
        //l'user n'existe plus mais sa session oui
        header('Location:deconnect.php');
    }
} else {
    echo "<li><a href='connect.php'>Login/sign</a></li>";
Пример #12
0
 function __construct() {
   parent::__construct();
   $this->data = new ImportModele();
 }
Пример #13
0
<html>
    <head>
        <title>Millenary 42</title>
        <meta name="viewport" content="text/html, width=device-width, initial-scale=1.0, charset=utf-8">
        <link rel="stylesheet" href="lib/bootstrap-3.3/css/bootstrap.min.css" />
        <link rel="stylesheet" href="mockup/css/details_appart.css" />
        <link rel="stylesheet" href="mockup/css/nav.css" />
        <link rel="stylesheet" href="mockup/css/index.css" />
        <link rel="stylesheet" href="mockup/css/signin.css" />
    </head>
    <body>
        <div class="container-fluid">
        <?php 
include_once 'view/Main.php';
include_once 'controller/Controleur.php';
$c = new Controleur();
$listeAppartementTitle = '<span class="glyphicon glyphicon-home"></span> Parcourir les appartements';
$connexionTitle1 = 'Se connecter';
$connextionTitle2 = 'S\'inscrire';
if (count($_GET) > 0) {
    if ($_GET['a'] == 'signin') {
        echo utf8_decode(Main::displayFront(Main::displayNav($connexionTitle1, $connextionTitle2, false), $c->callAction($_GET)));
    }
} else {
    echo utf8_decode(Main::displayFront(Main::displayNav($listeAppartementTitle, null, true), $c->callAction(["a" => "list"])));
}
?>
        
        </div>
        <script src="lib/jquery-1.11.3.min.js"></script>
        <script src="lib/bootstrap-3.3/js/bootstrap.min.js"></script>
Пример #14
0
 /**
  * Constructeur, fait appel au constructeur parent
  * @param string $a méthode (action) à exécuter 
  */
 public function __construct($a)
 {
     parent::__construct("authentification", $a);
 }
Пример #15
0
 /**
  * Singleotn retournant le gestionnaire de fichier
  */
 public static function getFileManager()
 {
     if (is_null(self::$fileManager)) {
         $adapter = new Local(BASE_REP . '_data/');
         self::$fileManager = new Filesystem($adapter);
     }
     return self::$fileManager;
 }
Пример #16
0
                                $echantillonsMultidataForm["errors"][] = "L'echantillion code \"" . $saisieEchantillons["choixMedicament"] . "\" est renseigné une ou plusieurs fois";
                            }
                            $validEchantillons["echantillons"] = 0;
                            $echantillonsFaits[$saisieEchantillons["choixMedicament"]]++;
                        } else {
                            $echantillonsFaits[$saisieEchantillons["choixMedicament"]] = 1;
                        }
                    }
                    if ($valid["echantillons"] == 1) {
                        $valid["echantillons"] = OutilsForm::valideListValid($validEchantillons);
                    }
                }
            }
            // Si tout est bon !
            if (OutilsForm::valideListValid($valid) && OutilsForm::valideFormulaireId("compte-rendu-saisie")) {
                // On ajoute a la base de donnée
                $motif = $motifAutreActive ? $motifAutre : $lesMotifs[$choixMotif];
                $rapportKeys = GsbModele::insererCompteRendu(GsbUtilisateur::$Matricule, $choixPraticien, $dateVisite, $bilan, $motif, $remplacant, $documentation, $echantillonsMultidataForm["values"]);
                //
                $okCompteRendu = true;
            }
        }
        //
        if (!$okCompteRendu) {
            Vue::configToMultidataForm("echantillonsDonnees", $echantillonsMultidataForm);
        }
        //
        OutilsForm::genFormulaireId("compte-rendu-saisie");
        Controleur::composeVue("vues/compte-rendu/saisie.php");
        break;
}
Пример #17
0
         case 2:
             //user non admin
             $_SESSION['email'] = htmlentities(addslashes($_POST['email']));
             header('Location: home.php');
             break;
         case 3:
             echo "Connect fail";
             break;
         case 4:
             echo "Error email/password";
         default:
             echo "Données KO";
     }
 }
 if (isset($_POST['btnsignin'])) {
     $controleur = new Controleur();
     if (htmlentities(addslashes($_POST['passwordSign'])) != htmlentities(addslashes($_POST['passwordSignRepete']))) {
         echo "password et password repete KO";
     } else {
         //si champs ok
         $res = $controleur->addUser(htmlentities(addslashes($_POST['emailSign'])), htmlentities(addslashes($_POST['passwordSign'])), htmlentities(addslashes($_POST['nameSign'])));
         switch ($res) {
             case 1:
                 echo "L'email existe deja";
                 break;
             case 2:
                 echo "Inscription OK";
                 break;
             case 3:
                 echo "Inscription KO";
                 break;
Пример #18
0
                            unset($_SESSION["RappelUtilisateurLogin"]);
                        }
                        if (isset($_SESSION["RappelUtilisateurActif"])) {
                            unset($_SESSION["RappelUtilisateurActif"]);
                        }
                    }
                    unset($_SESSION["FormUtilisateurHashkey"]);
                    break;
                } else {
                    $info_connexion = "Login ou mot de passe incorrect";
                }
            }
            $login = $_POST["login"];
            $remember = isset($_POST["remember"]);
        } else {
            $login = isset($_SESSION["RappelUtilisateurLogin"]) ? $_SESSION["RappelUtilisateurLogin"] : "";
            $remember = isset($_SESSION["RappelUtilisateurActif"]);
        }
        $password = null;
        //
        OutilsForm::genFormulaireId("connexion");
        Controleur::composeVue("vues/compte/connexion.php", false);
        break;
    case "deconnexion":
        Vue::$title = "Deconnexion";
        $rechargement_temps = 5;
        Vue::$HeaderSupplement .= '<META http-equiv="Refresh" content="' . $rechargement_temps . '; URL=' . OutilsUrl::composer("page", "accueil") . '">';
        GsbUtilisateur::seDeconnecter();
        Controleur::composeVue("vues/compte/deconnexion.php", false);
        break;
}
Пример #19
0
 function  __construct() {
   parent::__construct();
 }
Пример #20
0
 * @package default
 * @author Kim Paviot, Julien Dignat and Christophe Sonntag
 * @version 1.1
 */
// Verifie que l'utilisateur est connecté
Controleur::doitValiderAutorisation(GsbUtilisateur::estConnecte());
switch (Controleur::$action) {
    case "liste":
        // Verifie que l'utilisateur est délégué
        Controleur::doitValiderAutorisation(GsbUtilisateur::estRoleResponsable(), "Vous devez être responsable");
        //
        Vue::$title = "Consulter les visiteurs";
        Vue::configToDataTable("DataTableVisiteur");
        $lesVisiteurs = GsbModele::getLesVisiteurs();
        $lesVisiteursSontVide = count($lesVisiteurs) == 0;
        Controleur::composeVue("vues/visiteur/liste.php");
        break;
        /*
        case "details":	
        	$lesPraticiens = GsbModele::getLesPraticiens();
        	$lesPraticiensSontVide = count($lesPraticiens) == 0;
        	$lePraticien = null;
        	$lePraticienNum = null;
        	if(isset($_GET["num"])) {
        		$lePraticien = GsbModele::getLePraticienDetails($_GET["num"]);
        		if($lesPraticiens) 
        			$lePraticienNum = $lePraticien["PRA_NUM"];
        		else
        			$lePraticien = null;
        	}
        	
Пример #21
0
                $subject = "Contact " . GsbConfig::$SiteShortUrl . " : " . $subject;
                $message = '[Mail from ' . GsbConfig::$SiteShortUrl . ']' . "\r\n\r\n" . 'Nom: ' . $name . "\r\n" . 'Sujet: ' . $subject . "\r\n" . 'Email: ' . $email . "\r\n\r\n" . 'Message' . "\r\n" . '--------' . "\r\n" . $message . "\r\n" . '--------' . "\r\n\r\n" . "Le: " . date("d/m/Y") . " a: " . date("H:i");
                try {
                    if (@mail($email_send, $subject, $message, $headers)) {
                        $okMail = true;
                    }
                } catch (Exception $e) {
                }
                unset($_SESSION["FormContactHashkey"]);
            }
        }
        // Si temps d'attende
        if ($okMail || !$okTime) {
            $chaineDeRequete = isset($_GET["responsecode"]) && isset($_GET["ressource"]) ? "responsecode=" . $_GET["responsecode"] . "&ressource=" . $_GET["ressource"] : null;
            Vue::$HeaderSupplement .= '<META http-equiv="Refresh" content="5; URL=' . OutilsUrl::composer("page", "contact", $chaineDeRequete) . '">';
        }
        //
        OutilsForm::genFormulaireId("contact");
        Controleur::composeVue("vues/page/contact.php");
        break;
    case "credit":
        Vue::$title = "Crédit";
        Controleur::composeVue("vues/page/credit.php");
        break;
    case "debug":
        // Verifie que l'utilisateur est un administrateur
        Controleur::doitValiderAutorisation(GsbUtilisateur::estAdministrateur(), "Vous devez être administrateur");
        Vue::$title = "Debug";
        Controleur::composeVue("vues/page/debug.php");
        break;
}
Пример #22
0
     Controleur::composeVue("vues/statistique/type-praticiens.php");
     break;
 case "visite-labo":
     Vue::$title = "Visites de labo";
     Vue::configToDataTable("DataTableStatistique");
     $lesVisiteurs = GsbModele::statVisiteLabo();
     $lesVisiteursSontVide = count($lesVisiteurs) == 0;
     //
     $graphiqueData = array();
     foreach ($lesVisiteurs["stat"] as $unVisiteur) {
         $graphiqueData[] = array("label" => $unVisiteur["LAB_NOM"] . " (" . $unVisiteur["LAB_CODE"] . ")", "data" => $unVisiteur["nb"]);
     }
     Vue::configToGraphiqueCamembert("CamembertStatistique", $graphiqueData);
     // Ajoute un cammember
     //
     Controleur::composeVue("vues/statistique/visite-labo.php");
     break;
     /*
         case "details":	
     	$lesPraticiens = GsbModele::getLesPraticiens();
     	$lesPraticiensSontVide = count($lesPraticiens) == 0;
     	$lePraticien = null;
     	$lePraticienNum = null;
     	$lePraticienPrecedant = null;
     	$lePraticienSuivant = null;
     	if(isset($_GET["num"])) {
     		$lePraticien = GsbModele::getLePraticienDetails($_GET["num"]);
     		if($lePraticien && $lesPraticiens) {
     			$lePraticienNum = $lePraticien["PRA_NUM"];
     			$lesPraticiensTaille = count($lesPraticiens);
     			for($i=0; $i<$lesPraticiensTaille; $i++)
Пример #23
0
        include "controleurs/gsb.php";
        break;
    case 'profile':
        include "controleurs/profile.php";
        break;
    case 'compte-rendu':
        include "controleurs/compte-rendu.php";
        break;
    case 'medicament':
        include "controleurs/medicament.php";
        break;
    case 'praticien':
        include "controleurs/praticien.php";
        break;
    case 'visiteur':
        include "controleurs/visiteur.php";
        break;
    case 'statistique':
        include "controleurs/statistique.php";
        break;
    case 'responsecode':
        include "controleurs/responsecode.php";
        break;
}
/** Page non trouvée si aucun controleurs 
 * n'a appelé une vue
 */
if (Controleur::estCompose() == false) {
    Controleur::$action = "404";
    include "controleurs/responsecode.php";
}
Пример #24
0
    case "403":
        $code = "403";
        $message = "Le serveur a compris la requête, mais refuse de l'exécuter";
        $message_en = "(Forbidden)";
        break;
    case "404":
        $code = "404";
        $message = "Ressource non trouvée";
        $message_en = "(Not Found)";
        break;
    case "500":
        $code = "500";
        $message = "Erreur interne du serveur";
        $message_en = "(Internal Server Error)";
        break;
    default:
        $code = "inconnu";
        $message = "";
        $message_en = "(unknown)";
}
// Dans certains cas les variables peuvent ne pas être globale comme quand
// la fonction doitValiderAutorisation est appelée.
foreach (get_defined_vars() as $key => $value) {
    $GLOBALS[$key] = $value;
}
// Charge la vue des erreurs
Vue::$title = 'Erreur ' . $code . " " . $message_en . " : " . $_SERVER["REQUEST_URI"];
// Notes :
// Si ajaxEstActive alors ajax-responsecode sinon responsecode
Controleur::composeVue(Controleur::ajaxEstActive() ? "vues/ajax-responsecode.php" : "vues/responsecode.php", false);
Пример #25
0
<?php

include '../Class/Controleur.php';
session_start();
if (isset($_SESSION['email']) && isset($_SESSION['admin']) && isset($_POST['id'])) {
    $controleur = new Controleur();
    $controleur->deleteUser(htmlentities(addslashes($_POST['id'])));
    header('Location:users.php');
} else {
    header('Location:home.php');
}
Пример #26
0
<?php

/** 
 * Controleur du profile de l'application GSB
 * @package default
 * @author Kim Paviot, Julien Dignat and Christophe Sonntag
 * @version 1.1
 */
// Verifie que l'utilisateur est connecté
Controleur::doitValiderAutorisation(GsbUtilisateur::estConnecte());
switch (Controleur::$action) {
    case null:
    case "statut":
        Vue::$title = 'Mon statut';
        $leVisiteur = GsbModele::getInfosVisiteurMatricule(GsbUtilisateur::$Matricule);
        $leVisiteurRole = GsbModele::getLeVisiteurRole(GsbUtilisateur::$Matricule);
        Controleur::composeVue("vues/profile/statut.php");
        break;
        /*
         * Pas obligatoire
        case "parametres":	
        	Vue::$title = "Parametres";
        	Controleur::composeVue("vues/profile/parametres.php");
        	break;
        */
}
Пример #27
0
  function  __construct() {
    parent::__construct();
    $this->modele_incidents=new Modele_Incidents();

  }
Пример #28
0
<?php

include '../Class/Controleur.php';
session_start();
if (isset($_SESSION['email']) && isset($_POST['id'])) {
    $controleur = new Controleur();
    $controleur->deleteNews($_POST['id']);
    header('Location:news.php');
} else {
    header('Location:home.php');
}
 /**
  * Constructeur, appelant le constructeur parent
  * @param string $a nom de la méthode (action) à appeler
  */
 public function __construct($a)
 {
     parent::__construct("_generateur", $a);
 }
Пример #30
0
		<div class="panel panel-default">
			<div class="panel-heading"><h3 class="panel-title"><i class="fa fa-users fa-fw"></i> Qui sommes nous ?</h3></div>
			<div class="panel-body">
				<p>
					Nous sommes plusieurs développeurs du Lycée Marie Curie de Marseille.<br/>
					En charge d'analyser, de concevoir, de mettre à jour et d'installer l'application web <strong>GSB</strong>.
				</p>
				<p>Ce travail est un projet personnel encadré de l'année 2016.<br/>Développé par <?php 
echo GsbConfig::$SiteAuteurCreateur;
?>
 et mis à jour par <?php 
echo GsbConfig::$SiteAuteurDev;
?>
.</p> 
				<?php 
if (!Controleur::estVueUrlComposeParConstFile(__FILE__)) {
    ?>
					<p>Pour en savoir plus aller sur : <?php 
    OutilsUrl::composerLien("Crédit", "page", "credit");
    ?>
</p> 
				<?php 
}
?>
			</div>
		</div>
	</div>
</div>
<div class="row">
	<div class="col-xs-12">
		<div class="panel panel-default">