1.7.4
@ -1,15 +1,8 @@
|
||||
# L'association E59 - UVSQ est créée !<br />
|
||||
Hier, Mercredi 17 juillet 2024 a eu lieu l'assemblée générale constitutive de l'association E59 - UVSQ. C'est la première association fille de la Fédération E59.<br />
|
||||
Hier, Mercredi 17 juillet 2024 a eu lieu l'assemblée générale constitutive de l'association E59-UVSQ.<br />
|
||||
<br />
|
||||
# Première séance<br />
|
||||
La première séance de l'assemblée générale a eu lieu il y a une semaine, le vendredi 12 juillet 2024 sur Discord. Durant cette séance, les statuts ont été passés en revue et quelques points flous ont été éclaircis.<br />
|
||||
Initialement, la E59 devait être une association implantée dans différentes universités en France et structurée en clubs. <br />
|
||||
Cette organisation devait permettre à l'association de s'affilier à plusieurs universités et, par conséquence, avoir beaucoup de moyens.<br />
|
||||
<br />
|
||||
# Deuxième séance<br />
|
||||
La deuxième séance s'est déroulée sur discord hier dans la soirée. Au début de la séance, les statuts ont été finalisés et votés. Ensuite a eu lieu l'élection des Directeurs de l'association par scrutin secret. Voici les membres qui ont été élus pour la période Août - Octobre 2024 :<br />
|
||||
Lors d'une réunion avec la Maison des Etudiants de l'UVSQ, nous avons appris que pour pouvoir nous agréer à l'UVSQ, au moins 50% de nos membres doivent être étudiants inscrits à l'UVSQ. Cette règle entre en contradiction avec notre projet inter-universitaire.<br />
|
||||
Par conséquence, nous avons décidé de structurer la E59 en fédération d'associations. La E59-UVSQ est la première association fille du projet de fédération E59.<br />
|
||||
<br />
|
||||
Directeur SIM (Service Informatique et Matériel) : Eliott<br />
|
||||
Directeur Finances/ Trésorier : Louis<br />
|
||||
Directrice Légal : Maëlyne<br />
|
||||
Directeur Communication : Jan<br />
|
||||
<br />
|
||||
Les directeurs ont ensuite signés les statuts.
|
@ -1,9 +0,0 @@
|
||||
# Interassos UVSQ veut nous rencontrer<br />
|
||||
Samedi, le vice-président de l'association Interassos UVSQ et chargé de la stratégie électorale nous a contacté sur Instagram afin de nous proposer un rendez-vous pour en savoir plus sur notre structure et notre association.<br />
|
||||
<br />
|
||||
# Qu'est-ce que l'Interassos UVSQ<br />
|
||||
D'après le site de l'UVSQ, l'Interassos UVSQ est la fédération des associatins étudiantes de l'UVSQ. Elle rassemble une vingtaine d'associations étudiantes implantées sur la plupart des campus des Yvelines et dans un grand nombre de filières. Elle est l'organisation représentative majoritaire depuis 2012 au sein de l'UVSQ et du CROUS de Versailles, Interassos UVSQ est membre de la FAGE, la première organisation représentative des étudiants de France.<br />
|
||||
<br />
|
||||
# Opportunité et danger<br />
|
||||
Collaborer avec l'Internassos UVSQ permettrait à la E59 de se faire connaitre au sein de l'UVSQ, elle nous permettrait d'organiser des évènements at augmenter l'attractivité de la E59.<br />
|
||||
Cependant, d'après son profil, il est probable que l'Interassos UVSQ tente de prendre la main de la E59-UVSQ et soit un concurrent direct de la future fédération E59. Nous n'avons pas encore fixés de date pour notre rencontre avec l'Interassos mais il est clair que nous devrons nous préparer à affirmer notre indépendance et être clairs sur nos intentions. Nous n'avons pas l'intention de faire de l'ombre à d'autres fédérations mais nous souhaitons rester souverains afin de créer un réseau d'associations étudiantes axées sur les nouvelles technologies dans tout l'hexagone.
|
@ -1,20 +1,20 @@
|
||||
Nous sommes étudiants en 1ère et 2ème année de BUT R&T à l'IUT de Vélizy, et nous trouvons qu'il manque quelque chose à cet IUT. <br />
|
||||
Nous sommes étudiants en 1ère et 2ème année de BUT R&T à l'IUT de Vélizy.<br />
|
||||
<br />
|
||||
Il s'avère que nous avons très peu d'interactions avec les promos voisines. <br />
|
||||
Il y a 4 promos de BUT à l'IUT de Vélizy : MMI, INFO, GEII et les R&T. <br />
|
||||
Il y a 4 promos de BUT à l'IUT de Vélizy : MMI, INFO, GEII et les R&T.<br />
|
||||
<br />
|
||||
Il s'avère que nous avons peu d'interactions avec les promos voisines. <br />
|
||||
Notre IUT organise des évènements pour favoriser l'insertion des nouveaux étudiants mais elles se limitent aux promos individuelles. <br />
|
||||
<br />
|
||||
Ce que nous proposons, c'est de créer des relations de projet entre les promos.<br />
|
||||
Notre vision c'est que les étudiants aient une endroit où ils pourraient travailler sur des projets concrets en collaboration avec des étudiants d'autres promos.<br />
|
||||
Nous avons la vision que étudiants aient une endroit où ils pourraient venir travailler pendant leur temps libre, sur des projets concrets en collaboration avec des étudiants d'autres promos.<br />
|
||||
<br />
|
||||
Imaginez un jeu développé par les INFOS, désigné par les MMIS et hébergé par les R&T. Imaginez un compteur électrique connecté créé par les GEII en collaboration avec les R&T pour la partie Réseaux et les MMI & INFOS pour le design de l'interface d'administration.<br />
|
||||
Nous avons tous des passions et des talents. L'idée derrière la E59 est de voir ce qu'il est possible de faire quand on met l'accent sur la collaboration et l'épanouissement.<br />
|
||||
<br />
|
||||
Voici les projets que nous avons à proposer :<br />
|
||||
<br />
|
||||
- Emission de podcasts au sein de l'IUT de Vélizy dans laquelle toutes personnes (étudiants, enseignants, chercheurs) pourraient échanger / débattre sur des sujets qui les passionnent.<br />
|
||||
<br />
|
||||
- KEZAKO, une plateforme de recherche de solutions d'apprentissage alternatives utilisant le pouvoir d'attraction de l'attention des jeux pour le mettre au service de l'apprentissage et de la recherche<br />
|
||||
- KEZAKO, un projet de recherche de solutions d'apprentissage alternatives utilisant le pouvoir d'attraction de l'attention des jeux pour le mettre au service de l'apprentissage et de la recherche<br />
|
||||
<br />
|
||||
- Rotten Core, un système d'exploitation qui apprend le fonctionnement d'un ordinateur au niveau bas<br />
|
||||
<br />
|
||||
|
@ -36,6 +36,9 @@ require("../../include/panels.php");
|
||||
height: 20em;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.doc h3 {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
@media(max-width: 750px) {
|
||||
.doc img {
|
||||
height: 15em;
|
||||
@ -61,26 +64,54 @@ require("../../include/panels.php");
|
||||
<main>
|
||||
<div class="content">
|
||||
<h1>Espace documentaire</h1>
|
||||
<div class="documents">
|
||||
<div class="doc">
|
||||
<a href="./docs/pdf/statuts-e59-uvsq.pdf" target="_blank">
|
||||
<h3>Statuts E59-UVSQ</h3>
|
||||
<img src="./docs/img/statuts-e59-uvsq.png">
|
||||
</a>
|
||||
</div>
|
||||
<div class="doc">
|
||||
<a href="./docs/pdf/PV-AG1-E59-UVSQ-signe.pdf" target="_blank">
|
||||
<h3>PV AG1 E59-UVSQ</h3>
|
||||
<img src="./docs/img/PV-AG1-E59-UVSQ-signe.png">
|
||||
</a>
|
||||
</div>
|
||||
<div class="doc">
|
||||
<a href="./docs/pdf/brand-guidelines-e59.pdf" target="_blank">
|
||||
<h3>E59 Brand Guidelines</h3>
|
||||
<img src="./docs/img/brand-guidelines-e59.png">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
// Répertoire des fichiers PDF
|
||||
$pdfDir = './docs/pdf/';
|
||||
|
||||
// Répertoire pour stocker les miniatures
|
||||
$thumbDir = './img/';
|
||||
if (!file_exists($thumbDir)) {
|
||||
mkdir($thumbDir, 0777, true);
|
||||
}
|
||||
|
||||
// Récupérer la liste des fichiers PDF
|
||||
$pdfFiles = glob($pdfDir . '*.pdf');
|
||||
|
||||
// Fonction pour générer une image à partir de la première page d'un PDF
|
||||
function generateThumbnail($pdfFile, $outputDir, $outputFile) {
|
||||
$outputPath = $outputDir . '/' . pathinfo($outputFile, PATHINFO_FILENAME);
|
||||
$command = "pdftoppm -jpeg -f 1 -singlefile " . escapeshellarg($pdfFile) . " " . escapeshellarg($outputPath);
|
||||
exec($command);
|
||||
}
|
||||
|
||||
// Générer les miniatures
|
||||
foreach ($pdfFiles as $pdfFile) {
|
||||
$pdfFilename = basename($pdfFile);
|
||||
$thumbFilename = pathinfo($pdfFilename, PATHINFO_FILENAME) . '.jpg';
|
||||
$thumbFilePath = $thumbDir . $thumbFilename;
|
||||
|
||||
if (!file_exists($thumbFilePath)) {
|
||||
generateThumbnail($pdfFile, $thumbDir, $thumbFilename);
|
||||
}
|
||||
}
|
||||
|
||||
// Générer le HTML pour afficher la mosaïque
|
||||
echo '<div class="documents">';
|
||||
foreach ($pdfFiles as $pdfFile) {
|
||||
$pdfFilename = basename($pdfFile);
|
||||
$thumbFilename = pathinfo($pdfFilename, PATHINFO_FILENAME) . '.jpg';
|
||||
$thumbFilePath = $thumbDir . $thumbFilename;
|
||||
$pdfFilePath = $pdfDir . $pdfFilename;
|
||||
|
||||
echo '<div class="doc">';
|
||||
echo '<h3>' . $pdfFilename . '</h3>';
|
||||
echo '<a href="' . $pdfFilePath . '" target="_blank">';
|
||||
echo '<img src="' . $thumbFilePath . '" alt="' . $pdfFilename . '">';
|
||||
echo '</a>';
|
||||
echo '</div>';
|
||||
}
|
||||
echo '</div>';
|
||||
?>
|
||||
</div>
|
||||
</main>
|
||||
<footer>
|
||||
|
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 242 KiB |
Before Width: | Height: | Size: 9.3 KiB |
BIN
html/about/docs/pdf/RIB-E59-UVSQ.pdf
Normal file
BIN
html/about/docs/pdf/Recepisse-Declaration-E59-UVSQ.pdf
Normal file
BIN
html/about/docs/pdf/Reglement-Interieur-E59-UVSQ.pdf
Normal file
BIN
html/about/docs/pdf/SIRENE-E59-UVSQ.pdf
Normal file
BIN
html/about/img/20240802_attestation_de_compte.jpg
Normal file
After Width: | Height: | Size: 120 KiB |
After Width: | Height: | Size: 203 KiB |
BIN
html/about/img/Brand-Guidelines.jpg
Normal file
After Width: | Height: | Size: 114 KiB |
BIN
html/about/img/PV-AG1-E59-UVSQ-signe.jpg
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
html/about/img/RIB-E59-UVSQ.jpg
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
html/about/img/Recepisse-Declaration-E59-UVSQ.jpg
Normal file
After Width: | Height: | Size: 184 KiB |
BIN
html/about/img/Recepisse_CR.jpg
Normal file
After Width: | Height: | Size: 184 KiB |
BIN
html/about/img/Reglement-Interieur-E59-UVSQ.jpg
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
html/about/img/SIRENE-E59-UVSQ.jpg
Normal file
After Width: | Height: | Size: 203 KiB |
BIN
html/about/img/Statuts-E59-UVSQ.jpg
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
html/about/img/brand-guidelines-e59.jpg
Normal file
After Width: | Height: | Size: 114 KiB |
BIN
html/about/img/statuts-e59-uvsq.jpg
Normal file
After Width: | Height: | Size: 43 KiB |
@ -50,6 +50,7 @@ if (isset($_FILES['newPP']) && $_FILES['newPP']['error'] == 0) {
|
||||
} else {
|
||||
$status = "Erreur SQL";
|
||||
}
|
||||
$request->close();
|
||||
} else {
|
||||
$status = "Le fichier doit être au format PNG ou JPG";
|
||||
}
|
||||
@ -89,6 +90,7 @@ if (isset($_FILES['newBanner']) && $_FILES['newBanner']['error'] == 0) {
|
||||
} else {
|
||||
$status = "Erreur SQL";
|
||||
}
|
||||
$request->close();
|
||||
} else {
|
||||
$status = "Le fichier doit être au format PNG ou JPG";
|
||||
}
|
||||
@ -106,12 +108,14 @@ if (isset($_POST['userDisplayName']) || isset($_POST['userBio'])) {
|
||||
$status = "Informations mises à jour";
|
||||
$_SESSION['userDisplayName'] = htmlspecialchars($_POST['userDisplayName']);
|
||||
}
|
||||
$request->close();
|
||||
}
|
||||
|
||||
$request = $pdo->prepare("SELECT username, display_name, profile_picture, banner, bio FROM users WHERE ID = :userID");
|
||||
$request->bindParam(":userID", $_SESSION['userID']);
|
||||
$request->execute();
|
||||
$result = $request->fetchAll(PDO::FETCH_ASSOC);
|
||||
$request->close();
|
||||
|
||||
if($result) {
|
||||
$userName = $result[0]['username'];
|
||||
|
147
html/admin/adhesions.php
Normal file
@ -0,0 +1,147 @@
|
||||
<?php
|
||||
|
||||
require("../../include/variables.php");
|
||||
require("../../include/init.php");
|
||||
|
||||
if (!isset($_SESSION['userRole']) || $_SESSION['userRole'] < 50) {
|
||||
http_response_code(403);
|
||||
die("Vous n'êtes pas autorisé à accéder à cette ressource");
|
||||
}
|
||||
|
||||
require("../../include/main-functions.php");
|
||||
require("../../include/objects.php");
|
||||
require("../../include/inputs.php");
|
||||
require("../../include/panels.php");
|
||||
|
||||
$pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlDatabasePass);
|
||||
|
||||
if (isset($_POST['adhesion-id'])) {
|
||||
$userID = (int)$_POST['adhesion-id'];
|
||||
try {
|
||||
// Requête SQL pour déplacer la ligne
|
||||
$sql = "
|
||||
INSERT INTO adherents (firstname, lastname, born, promo, club, email, validation_date, userid)
|
||||
SELECT firstname, lastname, born, promo, club, email, request_date, userid
|
||||
FROM adhesion_requests
|
||||
WHERE ID = ?";
|
||||
|
||||
$sql2 = "DELETE FROM adhesion_requests WHERE ID = ?;";
|
||||
|
||||
$insertStmt = $pdo->prepare($sql);
|
||||
$insertStmt->bindParam(1, $userID, PDO::PARAM_INT);
|
||||
|
||||
// Préparation de la requête
|
||||
if ($insertStmt->execute()) {
|
||||
// Requête pour supprimer la ligne de la table d'origine
|
||||
$sqlDelete = "DELETE FROM adhesion_requests WHERE ID = ?";
|
||||
|
||||
// Préparation de la requête de suppression
|
||||
$deleteStmt = $pdo->prepare($sql2);
|
||||
$deleteStmt->bindParam(1, $userID, PDO::PARAM_INT);
|
||||
|
||||
// Exécution de la requête de suppression
|
||||
if ($deleteStmt->execute()) {
|
||||
// Valider la transaction
|
||||
$pdo->commit();
|
||||
$status = "Adhésion validée";
|
||||
} else {
|
||||
// En cas d'erreur lors de la suppression, annuler la transaction
|
||||
$pdo->rollBack();
|
||||
$status = "Erreur lors de la suppression de la ligne";
|
||||
error_log("Erreur lors de l'exécution de la requête de suppression : " . $deleteStmt->errorInfo()[2]);
|
||||
}
|
||||
} else {
|
||||
// En cas d'erreur lors de l'insertion, annuler la transaction
|
||||
$pdo->rollBack();
|
||||
$status = "Erreur lors de l'insertion de la ligne";
|
||||
error_log("Erreur lors de l'exécution de la requête d'insertion : " . $insertStmt->errorInfo()[2]);
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
// En cas d'exception, annuler la transaction
|
||||
$status = "Erreur SQL";
|
||||
error_log("Erreur : " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
|
||||
<head>
|
||||
<?php fillHead($rootPageURL, "Admin - " . $pageName, $darkTheme, $lightTheme);?>
|
||||
<style>
|
||||
.users-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.user-row {
|
||||
margin: 1em;
|
||||
border: 1px solid var(--text);
|
||||
border-radius: 100px;
|
||||
padding: 0 0.5em 0 1em;
|
||||
}
|
||||
.user-row form {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.user-row button {
|
||||
display: inline;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body class="body">
|
||||
|
||||
<header>
|
||||
<div class="panel-content">
|
||||
<?php fillHeader($rootPageURL, $headerTitle, $headerSubtitle, $social);?>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<nav>
|
||||
<div class="panel-content">
|
||||
<?php fillNav($rootPageURL);?>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
<div class="content">
|
||||
<?=$status?>
|
||||
<?php
|
||||
echo ('<form action="" method="get">');
|
||||
$shapePath = '<path d="M10.25 3.75c-3.59 0-6.5 2.91-6.5 6.5s2.91 6.5 6.5 6.5c1.795 0 3.419-.726 4.596-1.904 1.178-1.177 1.904-2.801 1.904-4.596 0-3.59-2.91-6.5-6.5-6.5zm-8.5 6.5c0-4.694 3.806-8.5 8.5-8.5s8.5 3.806 8.5 8.5c0 1.986-.682 3.815-1.824 5.262l4.781 4.781-1.414 1.414-4.781-4.781c-1.447 1.142-3.276 1.824-5.262 1.824-4.694 0-8.5-3.806-8.5-8.5z"></path>';
|
||||
textInput("text", $shapePath, "search", "Chercher", "");
|
||||
echo ('</form>');
|
||||
|
||||
$search = isset($_GET['search']) ? '%' . $_GET['search'] . '%' : '%%';
|
||||
|
||||
$sqlRequest = "SELECT adhesion_requests.ID, adhesion_requests.firstname, adhesion_requests.lastname, adhesion_requests.request_date FROM adhesion_requests";
|
||||
$request = $pdo->prepare($sqlRequest);
|
||||
$request->execute();
|
||||
$result = $request->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
if ($result) {
|
||||
echo ('<div class="users-list">');
|
||||
foreach($result as $row) {
|
||||
echo ('<div class="user-row">');
|
||||
echo ('<form action="#" method="post">');
|
||||
echo ('<div>' . $row['firstname'] . ' ' . $row['lastname'] . '</div><div>' . $row['request_date'] . '</div><div><input type="hidden" name="adhesion-id" value="' . $row['ID'] . '"><button type="submit" style="margin-left: 1em;">Accepter</button></div>');
|
||||
echo ('</form></div>');
|
||||
}
|
||||
echo ('</div>');
|
||||
} else {
|
||||
echo ('Aucun utilisateur trouvé.');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</main>
|
||||
<footer>
|
||||
<div class="panel-content">
|
||||
<?php fillFooter($footerText);?>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
@ -25,8 +25,10 @@ if (isset($_POST['user-id']) && isset($_POST['user-role']) && isset($_POST['user
|
||||
$request->bindParam(":userAccreditation", $userAccreditation);
|
||||
$request->bindParam(":userID", $userID);
|
||||
if($request->execute()) {
|
||||
$pdo->commit();
|
||||
$status = "Utilisateur mis à jour";
|
||||
} else {
|
||||
$pdo->rollback();
|
||||
$status = "Erreur SQL";
|
||||
}
|
||||
}
|
||||
@ -41,6 +43,7 @@ if (isset($_POST['delete-user']) && isset($_POST['delete-user-id'])) {
|
||||
} else {
|
||||
$status = "Erreur SQL";
|
||||
}
|
||||
$request->close();
|
||||
}
|
||||
|
||||
?>
|
||||
@ -132,6 +135,7 @@ if (isset($_POST['delete-user']) && isset($_POST['delete-user-id'])) {
|
||||
echo ('Aucun utilisateur trouvé.');
|
||||
}
|
||||
?>
|
||||
<a href="adhesions.php" class="button">Demandes d'adhésion</a>
|
||||
<a href="/phpmyadmin" class="button">PHPMyAdmin</a>
|
||||
</div>
|
||||
</main>
|
||||
|
@ -85,6 +85,7 @@ if (isset($_POST['article-content']) && isset($_POST['classification']) && isset
|
||||
} else {
|
||||
$status = "Une erreur s'est produite";
|
||||
}
|
||||
$request->close();
|
||||
}
|
||||
|
||||
|
||||
|
@ -102,7 +102,7 @@ if (isset($_GET['code'])) {
|
||||
|
||||
// L'utilisateur n'existe pas, créez-le
|
||||
$defaultPassword = ''; // Vous pouvez également générer un mot de passe aléatoire ou utiliser une valeur par défaut
|
||||
$sqlInsert = "INSERT INTO users (username, email, display_name, role, password) VALUES (:username, :email, :display_name, 'user', :password)";
|
||||
$sqlInsert = "INSERT INTO users (username, email, display_name, role, password) VALUES (:username, :email, :display_name, 1, :password)";
|
||||
$insert = $pdo->prepare($sqlInsert);
|
||||
$insert->bindParam(":username", $username);
|
||||
$insert->bindParam(":email", $email);
|
||||
|
@ -104,16 +104,19 @@ if (isset($_GET['article']) && filter_var($_GET['article'], FILTER_VALIDATE_INT)
|
||||
}
|
||||
|
||||
.article .article-illustration {
|
||||
padding: 2em 0;
|
||||
max-height: 20em;
|
||||
overflow: hidden;
|
||||
border-radius: 10px;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.article .article-illustration img {
|
||||
width: 100%;
|
||||
transform: translate(0, -25%);
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.article .article-content {
|
||||
@ -132,6 +135,7 @@ if (isset($_GET['article']) && filter_var($_GET['article'], FILTER_VALIDATE_INT)
|
||||
|
||||
.article .article-content h1 {
|
||||
font-size: 2em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.article .article-content h2 {
|
||||
@ -143,6 +147,11 @@ if (isset($_GET['article']) && filter_var($_GET['article'], FILTER_VALIDATE_INT)
|
||||
height: 0.8em;
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
@media(max-width: 750px) {
|
||||
.article .article-content h1 {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
|
@ -306,10 +306,6 @@ footer {
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.articles-list .article-miniature {
|
||||
max-width: 15em;
|
||||
}
|
||||
|
||||
.articles-list .article-info {
|
||||
vertical-align: top;
|
||||
}
|
||||
@ -585,13 +581,9 @@ footer {
|
||||
}
|
||||
|
||||
.articles-list .article-illustration {
|
||||
margin: 0 auto;
|
||||
padding: 2em 0;
|
||||
}
|
||||
|
||||
.articles-list .article-illustration img {
|
||||
max-width: 100%;
|
||||
margin: 0 auto;
|
||||
margin: 2em 0;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.articles-list .article-info {
|
||||
|
@ -59,6 +59,7 @@ if(isset($_POST['article-content']) && isset($_POST['classification'])) {
|
||||
} else {
|
||||
$status = "Erreur SQL";
|
||||
}
|
||||
$request->close();
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -13,7 +13,8 @@ function sqlConnect($dbHost, $dbName, $dbUser, $dbPass) {
|
||||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
} catch(Exception $e) {
|
||||
die('<div class="error-message"><span><?=$e->getMessage();?></span></div>');
|
||||
error_log($e->getMessage());
|
||||
die('<div class="error-message"><span>Erreur : ' . $e->getMessage() . '</span></div>');
|
||||
}
|
||||
|
||||
return $pdo;
|
||||
|