diff --git a/inclusions/barre_menu.php b/inclusions/barre_menu.php new file mode 100644 index 0000000..7f9fcfd --- /dev/null +++ b/inclusions/barre_menu.php @@ -0,0 +1,22 @@ +
+ + + + + + + +
AliasDomainesListes noiresDéconnexion
+
+ +Bienvenue ".$_SESSION['nom_utilisateur'].". Vous êtes authentifié en tant qu'".$_SESSION['privilege_utilisateur'].".

"; + break; + } +} + +?> diff --git a/inclusions/entete.php b/inclusions/entete.php new file mode 100644 index 0000000..ae628b8 --- /dev/null +++ b/inclusions/entete.php @@ -0,0 +1,10 @@ + + + + + Courtail - Portail des courriels + + + + + diff --git a/inclusions/pied.php b/inclusions/pied.php new file mode 100644 index 0000000..308b1d0 --- /dev/null +++ b/inclusions/pied.php @@ -0,0 +1,2 @@ + + diff --git a/index.php b/index.php index 0b26e75..fc4f14f 100644 --- a/index.php +++ b/index.php @@ -1,25 +1,3 @@ Coucou

"; - $db = new PDO("sqlite:/etc/postfix/postfix.sqlite"); - $db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - - try { - - $res = $db -> query('SELECT * FROM postfix_alias_vitruels;'); - - - print ''; - foreach ($res as $row) { - - print ''; - - } - print '
' . $row['courriel'] . '' . $row['destination'] . '
'; - - } - catch(PDOException $e) { - - print ("exception " . $e->getMessage()); - - } +header('Location: /pages/formulaire_accueil.php'); ?> diff --git a/outils/données.sql b/outils/données.sql index 9b0a4a4..b0dfd37 100644 --- a/outils/données.sql +++ b/outils/données.sql @@ -22,3 +22,7 @@ INSERT INTO postfix_liste_noire_destinataires (courriel,action,active) VALUES (" INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES ("tata@tutu.fr",554,"Parle à ma main, ma tête est malade.",0); INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES ("bob@foo.com",554,"Parle à ma main, ma tête est malade.",1); INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES ("roland@bar.org",554,"Parle à ma main, ma tête est malade.",1); + +-- Listes utilisateurs +INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,uid,gid,privilege,active) VALUES ("toto","toto","Alphonse Pastacaisse",5000,5000,"administrateur",1); +INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,uid,gid,privilege, active) VALUES ("tata", "tata", "Jonathan Quesquiestjaune", 5000, 5000, "utilisateur", 1); diff --git a/outils/postfix.sql b/outils/postfix.sql index 6972224..c5e317b 100644 --- a/outils/postfix.sql +++ b/outils/postfix.sql @@ -28,3 +28,13 @@ CREATE TABLE IF NOT EXISTS postfix_liste_noire_expediteurs ( message TEXT NOT NULL, active INTEGER ); +CREATE TABLE IF NOT EXISTS postfix_utilisateurs ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + utilisateur TEXT NOT NULL UNIQUE, + mot_de_passe TEXT NOT NULL, + nom_complet TEXT, + uid INTEGER NOT NULL, + gid INTEGER NOT NULL, + privilege TEXT NOT NULL, + active INTEGER +); diff --git a/outils/postfix.sqlite b/outils/postfix.sqlite new file mode 100644 index 0000000..c48e90f Binary files /dev/null and b/outils/postfix.sqlite differ diff --git a/pages/formulaire_accueil.php b/pages/formulaire_accueil.php new file mode 100644 index 0000000..8ab3956 --- /dev/null +++ b/pages/formulaire_accueil.php @@ -0,0 +1,43 @@ +
+
+
+ + + + + + + + + + + + + + +


+ + Identifiant ou mot de passe incorrecte.

"; + break; + case 2: + echo "

Vous n'avez pas les privilèges nécessaires.

"; + break; + } + } + elseif (isset($_GET['succes']) && !empty($_GET['succes'])){ + switch ($_GET['succes']) { + case 1: + echo "

Vous avez bien été déconnecté.

"; + break; + } + } + + ?> + +
+
diff --git a/pages/gestion/administration.php b/pages/gestion/administration.php new file mode 100644 index 0000000..bb830e1 --- /dev/null +++ b/pages/gestion/administration.php @@ -0,0 +1,32 @@ +"; +var_dump($_SESSION); +echo ""; + +if (isset($_GET['page']) && !empty($_GET['page'])) { + switch ($_GET['page']) { + case 'alias': + require_once($_SERVER["DOCUMENT_ROOT"]."/services/gestion/alias.php"); + break; + case 'domaines': + require_once($_SERVER["DOCUMENT_ROOT"]."/services/gestion/domaines.php"); + break; + case 'listes_noires': + require_once($_SERVER["DOCUMENT_ROOT"]."/services/gestion/listes_noires.php"); + break; + } +} + +require_once($_SERVER["DOCUMENT_ROOT"]."/inclusions/pied.php"); + +?> diff --git a/pages/gestion/parametres.php b/pages/gestion/parametres.php new file mode 100644 index 0000000..74bb588 --- /dev/null +++ b/pages/gestion/parametres.php @@ -0,0 +1,11 @@ + + + + + + diff --git a/pages/testObjet.php b/pages/testObjet.php new file mode 100644 index 0000000..2f59679 --- /dev/null +++ b/pages/testObjet.php @@ -0,0 +1,84 @@ +do_foo(); +$bar->yohan(); + +# classe +class Voiture +{ + /** + * Déclaration des attributs + */ + # attributs + private $niveau_carburant; + private $nombre_portes; + private $nombre_roues; + + /** + * Cette méthode un peu spéciale est le constructeur, elle est exécutée lorsque vous "créez" votre objet. Elle doit initialiser les attributs de la classe. + */ + # méthode constructeur + public function __construct() + { + $this->niveau_carburant = 50; + $this-> = 3; + $this->nombre_roues = 4; + } + + /** + * Première méthode accessible par tous et modifiant le niveau de carburant + */ + # méthode + public function modifier_carburant(int $niveau) + { + $this->niveau_carburant = $niveau; + } + + /** + * Seconde méthode accessible à tous et modifiant le nombre de portes + */ + # méthode + public function modifier_nb_portes(int $nb_portes) + { + $this->nombre_portes = $nb_portes; + } +} + +$voiture = new Voiture; +echo "
";
+var_dump($voiture);
+echo "
"; + +$voiture->modifier_nb_portes(4); + +echo "
";
+var_dump($voiture);
+echo "
"; + +echo $voiture['nombre_portes']; + +?> +# https://www.vulgarisation-informatique.com/php-poo.php diff --git a/services/bdd/connexion.php b/services/bdd/connexion.php new file mode 100644 index 0000000..7b3ab0a --- /dev/null +++ b/services/bdd/connexion.php @@ -0,0 +1,16 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +} +catch (Exception $e){ + die ("Erreur de connexion à la base \"$base\" : ".$e->getMessage()) ; +} + +?> diff --git a/services/gestion/alias.php b/services/gestion/alias.php new file mode 100644 index 0000000..2a871c1 --- /dev/null +++ b/services/gestion/alias.php @@ -0,0 +1,56 @@ +
+

Choix utilisateur

+
+ + +
+
diff --git a/services/gestion/domaines.php b/services/gestion/domaines.php new file mode 100644 index 0000000..3340a62 --- /dev/null +++ b/services/gestion/domaines.php @@ -0,0 +1,13 @@ + + + + + + diff --git a/services/gestion/listes_noires.php b/services/gestion/listes_noires.php new file mode 100644 index 0000000..3340a62 --- /dev/null +++ b/services/gestion/listes_noires.php @@ -0,0 +1,13 @@ + + + + + + diff --git a/services/utilisateurs/authentification.php b/services/utilisateurs/authentification.php new file mode 100644 index 0000000..c040876 --- /dev/null +++ b/services/utilisateurs/authentification.php @@ -0,0 +1,31 @@ +prepare($req); + $prep->bindValue(':identifiant', $identifiant); + $prep->bindValue(':mdp', $mdp); + $prep->execute(); + + $result = $prep ->fetchAll(PDO::FETCH_ASSOC); + $comptage = count($result); + + } + catch(PDOException $e) { + die ("Erreur lors du traitement de la requête : " . $e->getMessage()); + } + + if($comptage == 1){ + return $result; + } + else + return false; +} + +?> diff --git a/services/utilisateurs/deconnexion.php b/services/utilisateurs/deconnexion.php new file mode 100644 index 0000000..2305a1c --- /dev/null +++ b/services/utilisateurs/deconnexion.php @@ -0,0 +1,14 @@ + diff --git a/services/utilisateurs/echec_auth.php b/services/utilisateurs/echec_auth.php new file mode 100644 index 0000000..9c29f59 --- /dev/null +++ b/services/utilisateurs/echec_auth.php @@ -0,0 +1,258 @@ + + + + + + + Courtail + + + + +
+
+ + Traitement... +
+
+ + diff --git a/services/utilisateurs/identification.php b/services/utilisateurs/identification.php new file mode 100644 index 0000000..9531d99 --- /dev/null +++ b/services/utilisateurs/identification.php @@ -0,0 +1,43 @@ + diff --git a/services/utilisateurs/privileges.php b/services/utilisateurs/privileges.php new file mode 100644 index 0000000..e37022d --- /dev/null +++ b/services/utilisateurs/privileges.php @@ -0,0 +1,19 @@ + diff --git a/utilisateurs.sql b/utilisateurs.sql new file mode 100644 index 0000000..9ecae50 --- /dev/null +++ b/utilisateurs.sql @@ -0,0 +1,24 @@ +sqlite3 /etc/postfix/postfix.sqlite + +CREATE TABLE IF NOT EXISTS postfix_utilisateurs ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + utilisateur TEXT NOT NULL UNIQUE, + mot_de_passe TEXT NOT NULL, + nom_complet TEXT, + uid INTEGER NOT NULL, + gid INTEGER NOT NULL, + privilege TEXT NOT NULL, + active INTEGER +); + +INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,uid,gid,privilege,active) VALUES ("toto","toto","Yohan Charbi",5000,5000,"administrateur",1); + +INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,uid,gid,privilege, active) VALUES ("tata", "tata", "Nicolos Morin", 5000, 5000, "utilisateur", 1); + +UPDATE postfix_utilisateurs SET nom_complet="Nicolas Morin" WHERE id=2; + +CREATE TABLE IF NOT EXISTS tests ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + utilisateur TEXT NOT NULL UNIQUE, + mot_de_passe TEXT NOT NULL +);