Import initial du site ship2net.fr : pages PHP, config, traductions t(), composer.json

This commit is contained in:
2026-09-28 08:04:25 +00:00
commit 82f431b3ae
175 changed files with 25531 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
# Activation du HSTS :
#Header set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" env=HTTPS
+461
View File
@@ -0,0 +1,461 @@
<?php
include "../config/config.php";
Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session et vérifiant que les accès sont autorisés.
Entete_page_html();
//************************************************************************************************************************************
// Initialisation des variables globales
//************************************************************************************************************************************
$message_erreur = "";
$message_information = "";
$flag_redirection = false;
Ouverture_bdd(); // Connexion à MySql
//************************************************************************************************************************************
// Traitement des variables d'entrées
//************************************************************************************************************************************
// Variables de SESSION :
if (!isset($_SESSION['Administration']['page'])) $_SESSION['Administration']['page'] = 'Accueil';
if (!isset($_SESSION['Administration']['ancre'])) $_SESSION['Administration']['ancre'] = "#";
if (!isset($_SESSION['Administration']['questionnaire'])) $_SESSION['Administration']['questionnaire'] = 'Nautic2021';
// Variables GET :
if (isset($_GET['action']))
{
switch ($_GET['action'])
{
//===================================
case "navigation":
{
if (isset($_GET['destination']))
{
$_SESSION['Administration']['page'] = $_GET['destination'];
$_SESSION['display_menu'] = false;
}
if (isset($_GET['ancre']))
{
$_SESSION['Administration']['ancre'] = $_GET['ancre'];
$_SESSION['display_menu'] = false;
}
break;
}
//===================================
case "changement_langue":
{
if (isset($_GET['langue']))
{
$_SESSION['langue'] = $_GET['langue'];
chargement_langue();
}
break;
}
//===================================
case "changement_type":
{
if (isset($_GET['type']))
{
$_SESSION['type_utilisateur'] = $_GET['type'];
chargement_langue();
}
break;
}
case "toggle_edit":
{
if ($_SESSION['modifier_texte'] == 0) $_SESSION['modifier_texte'] = 1;
else if ($_SESSION['modifier_texte'] == 1) $_SESSION['modifier_texte'] = 0;
break;
}
}
if (!$flag_redirection) header('Location:administration.php');
}
// Variables POST :
//************************************************************************************************************************************
// Traitement des données
//************************************************************************************************************************************
// Protection contre les accès directs :
if ((!$_SESSION['acces_valide']) OR ($_SESSION['shipmember']['Niveau_acces'] < NIVEAU_MINI_ACCES_ADMINISTATEUR)) header('Location:shipmembers.php?action=navigation&destination=Login');
switch ($_SESSION['Administration']['page'])
{
//****************************************************************************************************************************
case "Accueil":
{
break;
}
//****************************************************************************************************************************
case "Purge_bdd":
{
$nb_tables = 0;
$tables[$nb_tables ++]['Nom'] = "TB_BATEAUX_Mesures_circuits";
$tables[$nb_tables ++]['Nom'] = "TB_BATEAUX_Mesures_batteries";
$tables[$nb_tables ++]['Nom'] = "TB_BATEAUX_Mesures_reservoirs";
$tables[$nb_tables ++]['Nom'] = "TB_BATEAUX_Mesures_capteurs";
$max_lignes_traitees = 500000;
for ($x = 0; $x < $nb_tables; $x ++)
{
$nom_table = $tables[$x]['Nom'];
$start_time = microtime(true);
//------------------------------------------------------
// Recherche de la taille de la table avant traitement :
$requete = 'SELECT COUNT(*) AS Nb FROM '.$nom_table.' ';
$reponse = Requete_bdd($requete, __FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$taille_table_avant_traitement = $donnees['Nb'];
}
Liberation_jeu_de_resultat_bdd($reponse);
//---------------------------------------------------
// Recherche des bateaux concernés dans cette table :
$nb_bateaux = 0;
$requete = 'SELECT DISTINCT(ID_Bateau) FROM '.$nom_table.' WHERE 1';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$bateaux[$nb_bateaux ++] = $donnees;
}
Liberation_jeu_de_resultat_bdd($reponse);
//--------------------------------------------------------------------------------------------------------
// Boucle sur tous les bateaux pour rechercher les éléments concernés par chaque bateau dans cette table :
for ($i = 0; $i < $nb_bateaux ; $i ++)
{
// Recherche des éléments (circuits, réservoirs, batteries, ...) concernés sur chaque bateau :
$bateaux[$i]['nb_elements'] = 0;
$requete = 'SELECT DISTINCT(ID) FROM '.$nom_table.' WHERE ID_Bateau=? ';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $bateaux[$i]['ID_Bateau'])),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$bateaux[$i][$bateaux[$i]['nb_elements'] ++] = $donnees['ID'];
// echo '<p>'.$bateaux[$i]['nb_elements'].' : ID = '.$donnees['ID'].'</p>';
}
Liberation_jeu_de_resultat_bdd($reponse);
}
//-------------------------------------------------------------------
// Boucle sur tous les bateaux pour traiter les entrées redondantes:
$nb_total_lignes_supprimees = 0;
for ($i = 0; $i < $nb_bateaux ; $i ++)
{
// Boucle sur tous les éléments :
for ($j = 0; $j < $bateaux[$i]['nb_elements']; $j ++)
{
$nb_redondants = 0;
$val_1 = -1;
$val_2 = 0;
$id_2 = 0;
$requete = 'SELECT Cle_primaire, Date, Valeur FROM '.$nom_table.' WHERE ID_Bateau=? AND ID=? ORDER BY Date ';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $bateaux[$i]['ID_Bateau']),
array('i', $bateaux[$i][$j])),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
// Recherche des conditions de redondance :
if (($val_1 == $val_2) AND ($val_2 == $donnees['Valeur'])) // Si la valeur actuelle est égale à la précédente et à celle encore avant :
{
$redondants[$nb_redondants ++] = $id_2; // ... on mémorise l'entrée intermédiaire (N-1)
$nb_total_lignes_supprimees ++;
if ($nb_total_lignes_supprimees >= $max_lignes_traitees) break;
}
$val_1 = $val_2;
$val_2 = $donnees['Valeur'];
$id_2 = $donnees['Cle_primaire'];
}
Liberation_jeu_de_resultat_bdd($reponse);
// Suppression des enregistrements redondants :
for ($k = 0; $k < $nb_redondants; $k ++)
{
// Création d'une chaine avec les différentes clés à supprimer afin de réduire le nombre de requêtes DELETE (impact sur temps de traitement d'environ / 50 avec la valeur de 100) :
$max_l = 100;
$chaine_cles_primaires = '(Cle_primaire='.$redondants[$k ++].' ';
if ($k < ($nb_redondants - 1))
{
for ($l = 1; $l < $max_l; $l ++)
{
$chaine_cles_primaires .= 'OR Cle_primaire='.$redondants[$k].' ';
if (($k >= ($nb_redondants - 1)) OR ($l >= ($max_l - 1))) break;
$k ++;
}
}
$chaine_cles_primaires .= ')';
$requete = 'DELETE FROM '.$nom_table.' WHERE ID_Bateau='.$bateaux[$i]['ID_Bateau'].' AND '.$chaine_cles_primaires.' ';
// echo 'Requête = ['.$requete.']<br />';
Requete_bdd($requete, __FILE__, __LINE__); // Pas de requête préparée pour accélérer le traitement...
}
if ($nb_total_lignes_supprimees >= $max_lignes_traitees) break;
}
if ($nb_total_lignes_supprimees >= $max_lignes_traitees) break;
}
// Recherche de la taille de la table après traitement :
$requete = 'SELECT COUNT(*) AS Nb FROM '.$nom_table.' ';
$reponse = Requete_bdd($requete, __FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$taille_table_apres_traitement = $donnees['Nb'];
}
Liberation_jeu_de_resultat_bdd($reponse);
// Calculate script execution time
$execution_time = number_format((microtime(true) - $start_time), 1, ".", " ");
$tables[$x]['Taille_avant_traitement'] = $taille_table_avant_traitement;
$tables[$x]['Nb_total_lignes_supprimees'] = $nb_total_lignes_supprimees;
$tables[$x]['Execution_time'] = $execution_time;
$tables[$x]['Taille_apres_traitement'] = $taille_table_apres_traitement;
}
break;
}
//****************************************************************************************************************************
case "Questionnaires":
{
switch($_SESSION['Administration']['questionnaire'])
{
default:
{
$message_erreur .= "Le questionnaire ".$_SESSION['Administration']['questionnaire']." est inconnu. Le questionnaire en cours est repassé à sa valeur par défaut.";
$_SESSION['Administration']['questionnaire'] = "Nautic2021";
}
case "Nautic2021" :
{
$table_questionnaire = "TB_Nautic2021";
break;
}
}
// Nombre de réponses :
$requete = 'SELECT COUNT(*) AS Nb FROM '.$table_questionnaire.' WHERE Validite=1';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$reponses_questionnaire['Nb'] = $donnees['Nb'];
}
Liberation_jeu_de_resultat_bdd($reponse);
// Dernier enregistrement :
$requete = 'SELECT DATE_FORMAT(Date_creation,"%d/%m/%Y à %H:%i:%s") as Date_creation FROM '.$table_questionnaire.' WHERE Validite=1 ORDER BY Date_creation DESC LIMIT 1';
// echo 'Requête = '.$requete.'<br />';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$reponses_questionnaire['Date_creation'] = $donnees['Date_creation'];
}
Liberation_jeu_de_resultat_bdd($reponse);
// Nombre d'enregistrements par jour :
$nb_jours = 0;
$requete = 'SELECT COUNT(*) as Nb_jours, DATE_FORMAT(Date_creation, "%d-%m-%Y") as Date_creations FROM '.$table_questionnaire.' WHERE Validite=1 GROUP BY DATE_FORMAT(Date_creation, "%Y-%m-%d")';
// echo 'Requête = '.$requete.'<br />';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$reponses_questionnaire['Creations_par_jour'][$nb_jours ++] = $donnees;
}
Liberation_jeu_de_resultat_bdd($reponse);
break;
}
}
Fermeture_bdd(); // Déconnexion de MySQL
//************************************************************************************************************************************
// Affichage
//************************************************************************************************************************************
//********************************************************************************************************************************
// Affichage principal :
echo '<div id="Administration">';
//=========================================================================================
// Entête :
Entete_page($message_erreur, $message_information);
switch ($_SESSION['Administration']['page'])
{
//************************************************************************************************************************
case "Accueil":
{
echo '<div id="accueil" class="page_principale">';
echo '<h1>Administration</h1>';
echo '<h2>Accueil</h2>';
echo '<p>Attention : toute la partie Administration n\'est disponible qu\'en français.</p>';
echo '<h2>ShipMembers et Bateaux</h2>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="shipmembers.php?action=navigation&destination=Administration">ShipMembers</a>';
echo '<a title="" href="bateaux.php?action=navigation&destination=Accueil">Gestion des bateaux</a>';
echo '</div>';
echo '<h2>Site web</h2>';
echo '<div class="boutons_bas_de_page">';
// echo '<a title="" href="administration.php?action=navigation&destination=Commandes">Commandes</a>';
echo '<a title="" href="faq.php?action=navigation&destination=Administration">Faq</a>';
echo '<a title="" href="actualites.php?action=navigation&destination=Administration">Actualités</a>';
echo '<a title="" href="produit_desc.php?action=navigation&destination=Administration">Produits</a>';
echo '<a title="" href="galerie.php?action=navigation&destination=Administration">Galerie photos</a>';
echo '<a title="" href="videos.php?action=navigation&destination=Administration">Videos</a>';
echo '<a title="" href="devis.php?action=navigation&destination=Administration">Devis</a>';
// echo '<a title="" href="administration.php?action=navigation&destination=Questionnaires">Questionnaires</a>';
echo '<a title="" href="textes.php?action=navigation&destination=Accueil">Gestion des textes</a>';
echo '</div>';
echo '<h2>Technique</h2>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="versions.php?action=navigation&destination=Accueil">Gestion des versions</a>';
echo '<a title="" href="cartes.php?action=navigation&destination=Accueil">Gestion des cartes</a>';
echo '<a title="" href="uploads.php?action=navigation&destination=Accueil" onclick="return confirm(\'Vous êtes sur vous voulez traiter les uploads ?\');">Traitement des uploads</a>';
//echo '<a title="" href="c_tech_api.php" onclick="return confirm(\'Etes-vous sûr de vouloir lancer le traitement de l\'API C-Technology ?\');">Traitement de l\'API C-Technology</a>';
//echo '<a title="" href="data_treatment.php" onclick="return confirm(\'Etes-vous sûr de vouloir lancer DATE_TREATMENT.PHP pour traiter les tables [old] ?\');">Traitement des tables OLD</a>';
//echo '<a title="" href="administration.php?action=navigation&destination=Purge_bdd" onclick="return confirm(\'Vous allez faire un purge de la BDD, avancer ?\');">Purge de la BDD</a>';
//echo '<a title="" href="check_payments.php?verbose">Test check factures</a>';
echo '</div>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="shipmembers.php?action=navigation&destination=Accueil">Retour au menu ShipMember</a>';
echo '</div>';
echo '</div>';
break;
}
//************************************************************************************************************************
case "Purge_bdd":
{
echo '<div id="purge_bdd" class="page_principale">';
echo '<h1>Administration</h1>';
echo '<h2>Purge de la base de données</h2>';
for ($x = 0; $x < $nb_tables; $x ++)
{
echo '<h3>'.$tables[$x]['Nom'].'</h3>';
echo '<p>Taille de la table AVANT traitement = <span class="gras">'.number_format($tables[$x]['Taille_avant_traitement'], 0, ".", " ").'</span> lignes</p>';
echo '<p>Le nombre total de lignes supprimées est de <span class="gras">'.number_format($tables[$x]['Nb_total_lignes_supprimees'], 0, ".", " ").'</span> (maxi = '.number_format($max_lignes_traitees, 0, ".", " ").') en '.$tables[$x]['Execution_time'].' secondes</p>';
echo '<p>Taille de la table APRES traitement = <span class="gras">'.number_format($tables[$x]['Taille_apres_traitement'], 0, ".", " ").'</span> lignes</p>';
}
echo '<div class="boutons_bas_de_page">';
echo '<a class=retour" title="" href="administration.php?action=navigation&destination=Accueil">Retour à l\'accueil</a>';
echo '<a title="" href="administration.php?action=navigation&destination=Purge_bdd">Relancer la purge de la BDD</a>';
echo '</div>';
echo '</div>';
break;
}
//****************************************************************************************************************************
case "Questionnaires":
{
echo '<div id="questionnaires" class="page_principale">';
echo '<h1>Administration</h1>';
echo '<h2>Questionnaire : '.$_SESSION['Administration']['questionnaire'].'</h2>';
// Nb de fiche réponse :
echo '<div class="indicateur">
<div class="libelle_indicateur">Le nombre total de questionnaires enregistrés est : </div>
<div class="valeur_indicateur">'.$reponses_questionnaire['Nb'].'</div>
</div>';
// Date dernière réponse :
echo '<div class="indicateur">
<div class="libelle_indicateur">La date du dernier formulaire rempli est : </div>
<div class="valeur_indicateur">'.$reponses_questionnaire['Date_creation'].'</div>
</div>';
// Nb créations par jour :
echo '<div class="indicateur">';
foreach($reponses_questionnaire['Creations_par_jour'] as $key => $creations)
{
echo '<div class="libelle_indicateur">Le nombre de formulaires saisis le '.$creations['Date_creations'].' est de : </div>
<div class="valeur_indicateur">'.$creations['Nb_jours'].'</div>';
}
echo '</div>';
echo '<div class="boutons_bas_de_page">';
echo '<a class=retour" title="" href="administration.php?action=navigation&destination=Accueil">Retour à l\'accueil</a>';
echo '</div>';
echo '</div>';
break;
}
}
echo '</div>';
Pied_de_page();
+3684
View File
File diff suppressed because it is too large Load Diff
+712
View File
@@ -0,0 +1,712 @@
<?php
include "../config/config.php";
Init_session(basename($_SERVER['SCRIPT_NAME'])); // Fonction ouvrant la session et vérifiant que les accès sont autorisés.
Entete_page_html();
//************************************************************************************************************************************
// Initialisation des variables globales
//************************************************************************************************************************************
$message_erreur = "";
$message_information = "";
$types_carte = array( "ShipBase", // Attention : ne pas changer l'ordre (l'indice est utilisé en BDD); Sinon, ajouter un champ explicite pour le type (1=ShipBase, 2=ShipPower, etc....).
"ShipPower812",
"ShipBS",
"ShipPower4AC",
"ShipPower8DC",
"Module bipolaire pour SP812",
"Ecran Densitron",
""); // Attention : Doit finir par une chaine vide
Ouverture_bdd(); // Connexion à MySql
//************************************************************************************************************************************
// Traitement des variables d'entrées
//************************************************************************************************************************************
// Variables de SESSION :
if (!isset($_SESSION['Cartes']['page'])) $_SESSION['Cartes']['page'] = 'Accueil';
if (!isset($_SESSION['Cartes']['ancre'])) $_SESSION['Cartes']['ancre'] = "#";
if (!isset($_SESSION['Cartes']['carte']['Cle_primaire'])) $_SESSION['Cartes']['carte']['Cle_primaire'] = 0;
if (!isset($_SESSION['Cartes']['carte']['Type'])) $_SESSION['Cartes']['carte']['Type'] = 0;
if (!isset($_SESSION['Cartes']['carte']['No_serie'])) $_SESSION['Cartes']['carte']['No_serie'] = "";
if (!isset($_SESSION['Cartes']['carte']['Version'])) $_SESSION['Cartes']['carte']['Version'] = "";
if (!isset($_SESSION['Cartes']['carte']['Revision'])) $_SESSION['Cartes']['carte']['Revision'] = "";
if (!isset($_SESSION['Cartes']['carte']['Adresse_mac'])) $_SESSION['Cartes']['carte']['Adresse_mac'] = "";
if (!isset($_SESSION['Cartes']['carte']['Date_reception'])) $_SESSION['Cartes']['carte']['Date_reception'] = date("Y-m-d");
if (!isset($_SESSION['Cartes']['carte']['Modifications'])) $_SESSION['Cartes']['carte']['Modifications'] = "";
if (!isset($_SESSION['Cartes']['carte']['Tests'])) $_SESSION['Cartes']['carte']['Tests'] = "";
if (!isset($_SESSION['Cartes']['carte']['Etat'])) $_SESSION['Cartes']['carte']['Etat'] = 0;
if (!isset($_SESSION['Cartes']['carte']['Destination'])) $_SESSION['Cartes']['carte']['Destination'] = "";
if (!isset($_SESSION['Cartes']['carte']['Commentaires'])) $_SESSION['Cartes']['carte']['Commentaires'] = "";
// Variables GET :
if (isset($_GET['action']))
{
switch ($_GET['action'])
{
//===================================
case "navigation":
{
if (isset($_GET['destination']))
{
$_SESSION['Cartes']['page'] = $_GET['destination'];
// $_SESSION['display_menu'] = false;
}
if (isset($_GET['ancre']))
{
$_SESSION['Cartes']['ancre'] = $_GET['ancre'];
// $_SESSION['display_menu'] = false;
}
break;
}
//===================================
case "changement_langue":
{
if (isset($_GET['langue']))
{
$_SESSION['langue'] = $_GET['langue'];
chargement_langue();
}
break;
}
//===================================
case "changement_type":
{
if (isset($_GET['type']))
{
$_SESSION['type_utilisateur'] = $_GET['type'];
chargement_langue();
}
break;
}
//===================================
case "affichage_liste_cartes":
{
if (isset($_GET['type_carte']))
{
$_SESSION['Cartes']['carte']['Type'] = $_GET['type_carte'];
$_SESSION['Cartes']['page'] = "Liste_cartes";
}
break;
}
case "toggle_edit":
{
if ($_SESSION['modifier_texte'] == 0) $_SESSION['modifier_texte'] = 1;
else if ($_SESSION['modifier_texte'] == 1) $_SESSION['modifier_texte'] = 0;
break;
}
//===================================
case "modification_carte":
{
if (isset($_GET['id_carte']))
{
$_SESSION['Cartes']['carte']['Cle_primaire'] = $_GET['id_carte'];
$_SESSION['Cartes']['page'] = "Modification_carte";
}
break;
}
//===================================
case "creation_carte":
{
if (isset($_GET['type_carte']))
{
$_SESSION['Cartes']['carte']['Type'] = $_GET['type_carte'];
$_SESSION['Cartes']['page'] = "Creation_carte";
}
break;
}
//===================================
case "demande_suppression_carte":
{
if (isset($_GET['id_carte']))
{
$_SESSION['Cartes']['carte']['Cle_primaire'] = $_GET['id_carte'];
// Recherche des cartes de ShipHeart qui utiliseraient cette sous-carte :
$nb_cartes = 0;
/* $requete = 'SELECT * FROM TB_Versions WHERE Validite=1 AND '.$types_carte[$_SESSION['Cartes']['type_carte']][4].'='.$_SESSION['Cartes']['carte']['Cle_primaire'].' ';
$flag_redirection = true;
echo 'Requête = '.$requete.'<br />';
$reponse = Requete_preparee_bdd($requete,
array(),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$cartes[$nb_cartes ++] = $donnees;
}
Liberation_jeu_de_resultat_bdd($reponse);
*/
if ($nb_cartes == 0) $_SESSION['Cartes']['page'] = "Confirmation_suppression_carte"; // Si aucune carte de ShipHeart ne l'utilise, on passe à l'étape de confitmation finale.
else // Sinon, on indique une erreur et on affiche les cartes l'utilisant (limitée à N lignes...)
{
$flag_redirection = true; // Evite que le message d'erreur soit supprimé par la redirection de purge d'URL
$message_erreur = "Vous ne pouvez pas supprimer cette carte qui est utilisée dans les cartes de ShipHeart suivantes :";
/* for ($i = 0; $i < $nb_cartes; $i ++)
{
if ($i < 10) $message_erreur .= "<br />".$cartes[$i]['Nom']." ";
else
{
$message_erreur .= "<br />[...]";
break;
}
}
*/
}
}
break;
}
//===================================
case "confirmation_suppression_carte":
{
if (isset($_GET['id_carte']))
{
$_SESSION['Cartes']['carte']['Cle_primaire'] = $_GET['id_carte'];
// Suppression de la carte :
$requete = 'UPDATE TB_Cartes SET Validite=0 WHERE Cle_primaire=?';
Requete_preparee_bdd($requete,
array(
array('s', $_SESSION['Cartes']['carte']['Cle_primaire'])),
__FILE__, __LINE__);
$flag_redirection = true; // Evite que le message d'erreur soit supprimé par la redirection de purge d'URL
$message_information = "La carte ".$types_carte[$_SESSION['Cartes']['carte']['Type']]." n° ".$_SESSION['Cartes']['carte']['No_serie']." a été supprimée de la base de données.";
$_SESSION['Cartes']['page'] = "Liste_cartes";
}
break;
}
}
if (!$flag_redirection) header('Location:cartes.php'.$_SESSION['Cartes']['ancre'].'');
}
// Variables POST :
//---------------------------------------------------------------------------
// Création Version :
if (isset($_POST['validation_creation_carte']) OR
isset($_POST['validation_modification_carte']))
{
// Mémorisation des valeurs saisies pour éviter de les perdre en cas d'erreur rendant la création impossible :
$_SESSION['Cartes']['carte']['No_serie'] = isset($_POST['No_serie']) ? addslashes ($_POST['No_serie']) : "";
$nb_cartes_a_creer = isset($_POST['nb_cartes_a_creer']) ? $_POST['nb_cartes_a_creer'] : 1;
$_SESSION['Cartes']['carte']['Version'] = isset($_POST['Version']) ? addslashes ($_POST['Version']) : "";
$_SESSION['Cartes']['carte']['Revision'] = isset($_POST['Revision']) ? addslashes ($_POST['Revision']) : "";
$_SESSION['Cartes']['carte']['Adresse_mac'] = isset($_POST['Adresse_mac']) ? addslashes ($_POST['Adresse_mac']) : "";
$_SESSION['Cartes']['carte']['Date_reception'] = isset($_POST['Date_reception']) ? addslashes ($_POST['Date_reception']) : date("Y-m-d");
$_SESSION['Cartes']['carte']['Modifications'] = isset($_POST['Modifications']) ? addslashes ($_POST['Modifications']) : "";
$_SESSION['Cartes']['carte']['Tests'] = isset($_POST['Tests']) ? addslashes ($_POST['Tests']) : "";
$_SESSION['Cartes']['carte']['Etat'] = isset($_POST['Etat']) ? addslashes ($_POST['Etat']) : 0;
$_SESSION['Cartes']['carte']['Destination'] = isset($_POST['Destination']) ? addslashes ($_POST['Destination']) : "";
$_SESSION['Cartes']['carte']['Commentaires'] = isset($_POST['Commentaires']) ? addslashes ($_POST['Commentaires']) : "";
if (isset($_POST['validation_creation_carte']))
{
for ($i = 0; $i < $nb_cartes_a_creer; $i ++)
{
// Création de la carte :
$requete = 'INSERT INTO TB_Cartes (Type, No_serie, Version, Revision, Adresse_mac, Date_reception, Modifications, Tests, Etat, Destination, Commentaires) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['Cartes']['carte']['Type']),
array('s', $_SESSION['Cartes']['carte']['No_serie']),
array('s', $_SESSION['Cartes']['carte']['Version']),
array('s', $_SESSION['Cartes']['carte']['Revision']),
array('s', $_SESSION['Cartes']['carte']['Adresse_mac']),
array('s', $_SESSION['Cartes']['carte']['Date_reception']),
array('s', $_SESSION['Cartes']['carte']['Modifications']),
array('s', $_SESSION['Cartes']['carte']['Tests']),
array('i', $_SESSION['Cartes']['carte']['Etat']),
array('s', $_SESSION['Cartes']['carte']['Destination']),
array('s', $_SESSION['Cartes']['carte']['Commentaires'])),
__FILE__, __LINE__);
// Récup de la clé primaire de l'enregistrement créé :
$_SESSION['Cartes']['carte']['Cle_primaire'] = Recuperation_id_cree_bdd();
// Préparation des champs pour les cartes suivantes :
if ($nb_cartes_a_creer > 1)
{
$cartes_a_creer[$i]['No_serie'] = $_SESSION['Cartes']['carte']['No_serie'];
list($annee, $no) = explode("-", $_SESSION['Cartes']['carte']['No_serie']);
$lg_no = strlen($no);
$_SESSION['Cartes']['carte']['No_serie'] = $annee.'-'.str_pad(($no+1), $lg_no, '0', STR_PAD_LEFT);
$_SESSION['Cartes']['carte']['Adresse_mac'] = ""; // Seule la première carte aura l'adresse MAC enregistrée
}
}
// Message d'information :
if ($nb_cartes_a_creer <= 1) $message_information = "La carte ".$types_carte[$_SESSION['Cartes']['carte']['Type']]." n° ".$_SESSION['Cartes']['carte']['No_serie']." vient d'être créée";
else $message_information = $nb_cartes_a_creer." cartes ".$types_carte[$_SESSION['Cartes']['carte']['Type']].", du n° [".$cartes_a_creer[0]['No_serie']."] au n° [".$cartes_a_creer[$nb_cartes_a_creer-1]['No_serie']."], viennent d'être créées";
// Retour à la liste si la création s'est bien passée :
$_SESSION['Cartes']['page'] = "Liste_cartes";
}
else if (isset($_POST['validation_modification_carte']))
{
// Mise à jour de la carte :
$requete = 'UPDATE TB_Cartes SET Type=?, No_serie=?, Version=?, Revision=?, Adresse_mac=?, Date_reception=?, Modifications=?, Tests=?, Etat=?, Destination=?, Commentaires=? WHERE Cle_primaire=?';
Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['Cartes']['carte']['Type']),
array('s', $_SESSION['Cartes']['carte']['No_serie']),
array('s', $_SESSION['Cartes']['carte']['Version']),
array('s', $_SESSION['Cartes']['carte']['Revision']),
array('s', $_SESSION['Cartes']['carte']['Adresse_mac']),
array('s', $_SESSION['Cartes']['carte']['Date_reception']),
array('s', $_SESSION['Cartes']['carte']['Modifications']),
array('s', $_SESSION['Cartes']['carte']['Tests']),
array('i', $_SESSION['Cartes']['carte']['Etat']),
array('s', $_SESSION['Cartes']['carte']['Destination']),
array('s', $_SESSION['Cartes']['carte']['Commentaires']),
array('i', $_SESSION['Cartes']['carte']['Cle_primaire'])),
__FILE__, __LINE__);
// Message d'information :
$message_information = "La carte ".$types_carte[$_SESSION['Cartes']['carte']['Type']]." n° ".$_SESSION['Cartes']['carte']['No_serie']." vient d'être modifiée";
// Retour à la liste si la modification s'est bien passée :
$_SESSION['Cartes']['page'] = "Liste_cartes";
}
}
//************************************************************************************************************************************
// Traitement des données
//************************************************************************************************************************************
// Protection contre les accès directs :
if ((!$_SESSION['acces_valide']) OR ($_SESSION['shipmember']['Niveau_acces'] < NIVEAU_MINI_ACCES_ADMINISTATEUR)) header('Location:shipmembers.php?action=navigation&destination=Login');
switch ($_SESSION['Cartes']['page'])
{
//****************************************************************************************************************************
case "Accueil":
{
break;
}
//****************************************************************************************************************************
case "Liste_cartes":
{
// Récupération des informations sur les cartes :
$nb_cartes = 0;
$requete = 'SELECT * FROM TB_Cartes WHERE Validite=1 AND Type=? ORDER BY Version ASC, No_serie ASC';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['Cartes']['carte']['Type'])),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$cartes[$nb_cartes] = $donnees;
// Mise en forme de textes :
$cartes[$nb_cartes]['Modifications'] = htmlspecialchars(stripcslashes($cartes[$nb_cartes]['Modifications']));
$cartes[$nb_cartes]['Tests'] = htmlspecialchars(stripcslashes($cartes[$nb_cartes]['Tests']));
$cartes[$nb_cartes]['Destination'] = htmlspecialchars(stripcslashes($cartes[$nb_cartes]['Destination']));
$cartes[$nb_cartes]['Commentaires'] = htmlspecialchars(stripcslashes($cartes[$nb_cartes]['Commentaires']));
$nb_cartes ++;
}
Liberation_jeu_de_resultat_bdd($reponse);
break;
}
//****************************************************************************************************************************
case "Creation_carte":
case "Modification_carte":
{
if ($_SESSION['Cartes']['page'] == "Creation_carte")
{
$_SESSION['Cartes']['carte']['Cle_primaire'] = 0;
// $_SESSION['Cartes']['carte']['Type'] = 0;
$_SESSION['Cartes']['carte']['No_serie'] = "";
$_SESSION['Cartes']['carte']['Version'] = "";
$_SESSION['Cartes']['carte']['Revision'] = "";
$_SESSION['Cartes']['carte']['Adresse_mac'] = "";
$_SESSION['Cartes']['carte']['Date_reception'] = date("Y-m-d");
$_SESSION['Cartes']['carte']['Modifications'] = "";
$_SESSION['Cartes']['carte']['Tests'] = "";
$_SESSION['Cartes']['carte']['Etat'] = 0;
$_SESSION['Cartes']['carte']['Destination'] = "";
$_SESSION['Cartes']['carte']['Commentaires'] = "";
}
else // Modification :
{
$requete = 'SELECT * FROM TB_Cartes WHERE Cle_primaire=? ';
$reponse = Requete_preparee_bdd($requete,
array(
array('i', $_SESSION['Cartes']['carte']['Cle_primaire'])),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse))
{
$_SESSION['Cartes']['carte'] = $donnees;
// Mise en forme de textes :
$_SESSION['Cartes']['carte']['Modifications'] = htmlspecialchars(stripcslashes($_SESSION['Cartes']['carte']['Modifications']));
$_SESSION['Cartes']['carte']['Tests'] = htmlspecialchars(stripcslashes($_SESSION['Cartes']['carte']['Tests']));
$_SESSION['Cartes']['carte']['Destination'] = htmlspecialchars(stripcslashes($_SESSION['Cartes']['carte']['Destination']));
$_SESSION['Cartes']['carte']['Commentaires'] = htmlspecialchars(stripcslashes($_SESSION['Cartes']['carte']['Commentaires']));
}
Liberation_jeu_de_resultat_bdd($reponse);
}
break;
}
//****************************************************************************************************************************
case "Confirmation_suppression_carte":
{
break;
}
//****************************************************************************************************************************
default:
{
$_SESSION['Cartes']['page'] = "Accueil";
break;
}
}
Fermeture_bdd(); // Déconnexion de MySQL
//************************************************************************************************************************************
// Affichage
//************************************************************************************************************************************
//********************************************************************************************************************************
// Affichage principal :
echo '<div id="Cartes">';
//=========================================================================================
// Entête :
Entete_page($message_erreur, $message_information);
switch ($_SESSION['Cartes']['page'])
{
//************************************************************************************************************************
case "Accueil":
{
echo '<div id="accueil" class="page_principale">';
echo '<h1>Cartes</h1>';
echo '<h2>Type de cartes</h2>';
echo '<div class="choix_type_carte">';
for ($i=0; $types_carte[$i] != ""; $i ++)
{
echo '<a title="" href="cartes.php?action=affichage_liste_cartes&type_carte='.$i.'">'.$types_carte[$i].'</a>';
}
echo '</div>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="administration.php?action=navigation&destination=Accueil">Retour au menu Administration</a>';
echo '</div>';
echo '</div>';
break;
}
//************************************************************************************************************************
case "Liste_cartes":
{
echo '<div id="liste_cartes" class="page_principale">';
echo '<h1>Cartes</h1>';
echo '<h2>Liste des cartes <span class="gras">'.$types_carte[$_SESSION['Cartes']['carte']['Type']].'</span></h2>';
echo '<table class="carte">
<thead>
<tr>
<th>N° de série</th>
<th>Version</th>
<th>Rév.</th>
<th>Adresse MAC</th>
<th>Date réception</th>
<th>Destination</th>
</tr>
</thead>
<tbody>';
for ($i = 0; $i < $nb_cartes; $i ++)
{
switch($cartes[$i]['Etat'])
{
default:
case ETAT_CARTE_INCONNU: { echo '<tr class="carte_etat_inconnu">'; break; }
case ETAT_CARTE_OK: { echo '<tr>'; break; }
case ETAT_CARTE_EN_PANNE: { echo '<tr class="carte_en_panne">'; break; }
case ETAT_CARTE_REBUT: { echo '<tr class="carte_rebut">'; break; }
}
echo '<td>
<a title="Modifications : '.$cartes[$i]['Modifications'].'&#13&#13Tests : '.$cartes[$i]['Tests'].'&#13&#13Commentaires : '.$cartes[$i]['Commentaires'].'"
href="cartes.php?action=modification_carte&id_carte='.$cartes[$i]['Cle_primaire'].'">
'.$cartes[$i]['No_serie'].'
</a>
</td>
<td>'.$cartes[$i]['Version'].'</td>
<td>'.$cartes[$i]['Revision'].'</td>
<td>'.$cartes[$i]['Adresse_mac'].'</td>
<td>'.$cartes[$i]['Date_reception'].'</td>
<td>'.$cartes[$i]['Destination'].'</td>
</tr>';
}
echo '</tbody>
</table>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="cartes.php?action=navigation&destination=Accueil">Retour aux types de cartes</a>';
echo '<a title="" href="cartes.php?action=creation_carte&type_carte='.$_SESSION['Cartes']['carte']['Type'].'">Créer une nouvelle carte</a>';
echo '</div>';
echo '</div>';
break;
}
//************************************************************************************************************************
case "Creation_carte":
case "Modification_carte":
{
echo '<div id="creation_carte" class="page_principale">';
echo '<h1>Cartes</h1>';
echo '<form action="cartes.php" method="post">';
if ($_SESSION['Cartes']['page'] == "Creation_carte") echo '<h2>Nouvelle carte <span class="gras">'.$types_carte[$_SESSION['Cartes']['carte']['Type']].'</span></h2>';
else echo '<h2>Modification de la carte <span class="gras">'.$types_carte[$_SESSION['Cartes']['carte']['Type']].'</span> n° <span class="gras">'.$_SESSION['Cartes']['carte']['No_serie'].'</span></h2>';
//----------------------------------------
// N° de série :
echo '<div class="champs">
<div class="champs_titre">
N° de série
</div>
<div class="champs_valeur">
<input name="No_serie" placeholder="Par exemple : 2021-001" value="'.$_SESSION['Cartes']['carte']['No_serie'].'" >
</div>
</div>';
//----------------------------------------
// Nombre de cartes à créer :
if ($_SESSION['Cartes']['page'] == "Creation_carte")
{
echo '<div class="champs">
<div class="champs_titre">
Nombre de cartes à créer
</div>
<div class="champs_valeur">
<input name="nb_cartes_a_creer" placeholder="Si vous souhaitez créer plusieurs cartes à partir du numéro de série ci-dessus..." value="1" >
</div>
<div class="champs_nb">
Si cette valeur est > 1, plusieurs cartes seront créées avec un numéro de série incrémenté de 1 et avec les mêmes champs (sauf adresse MAC)
</div>
</div>';
}
//----------------------------------------
// Version :
echo '<div class="champs">
<div class="champs_titre">
Version
</div>
<div class="champs_valeur">
<input name="Version" placeholder="Par exemple : SC009020-1C" value="'.$_SESSION['Cartes']['carte']['Version'].'" >
</div>
</div>';
//----------------------------------------
// Révision :
echo '<div class="champs">
<div class="champs_titre">
Révision
</div>
<div class="champs_valeur">
<input name="Revision" placeholder="Par exemple : b" value="'.$_SESSION['Cartes']['carte']['Revision'].'" >
</div>
</div>';
//----------------------------------------
// Adresse MAC :
echo '<div class="champs">
<div class="champs_titre">
Adresse MAC
</div>
<div class="champs_valeur">
<input name="Adresse_mac" placeholder="Par exemple : 80:1F:12:EB:AA:1A" value="'.$_SESSION['Cartes']['carte']['Adresse_mac'].'" >
</div>
</div>';
//----------------------------------------
// Date de réception :
echo '<div class="champs">
<div class="champs_titre">
Date de réception
</div>
<div class="champs_valeur">
<input name="Date_reception" placeholder="Format Y-m-d" value="'.$_SESSION['Cartes']['carte']['Date_reception'].'" >
</div>
</div>';
//----------------------------------------
// Modifications :
echo '<div class="champs">
<div class="champs_titre">
Modificationss
</div>
<div class="champs_valeur">
<textarea cols="" rows="" name="Modifications" placeholder="Entrer les modifications apportées à la carte par rapport au dossier de fabrication" autocomplete="off">'.$_SESSION['Cartes']['carte']['Modifications'].'</textarea>
</div>
</div>';
//----------------------------------------
// Tests :
echo '<div class="champs">
<div class="champs_titre">
Tests
</div>
<div class="champs_valeur">
<textarea cols="" rows="" name="Tests" placeholder="Entrer les tests effectués sur la carte" autocomplete="off">'.$_SESSION['Cartes']['carte']['Tests'].'</textarea>
</div>
</div>';
//----------------------------------------
// Etat :
echo '<div class="champs">
<div class="champs_titre">Etat</div>
<div class="champs_valeur">
<select name="Etat">';
echo ' <option value="'.ETAT_CARTE_INCONNU.'" '; if ($_SESSION['Cartes']['carte']['Etat'] == ETAT_CARTE_INCONNU) echo 'selected'; echo '>Inconnu</option>';
echo ' <option value="'.ETAT_CARTE_OK.'" '; if ($_SESSION['Cartes']['carte']['Etat'] == ETAT_CARTE_OK) echo 'selected'; echo '>OK</option>';
echo ' <option value="'.ETAT_CARTE_EN_PANNE.'" '; if ($_SESSION['Cartes']['carte']['Etat'] == ETAT_CARTE_EN_PANNE) echo 'selected'; echo '>En panne</option>';
echo ' <option value="'.ETAT_CARTE_REBUT.'" '; if ($_SESSION['Cartes']['carte']['Etat'] == ETAT_CARTE_REBUT) echo 'selected'; echo '>Au rebut (irréparable)</option>';
echo '</select>
</div>
</div>';
//----------------------------------------
// Destination :
echo '<div class="champs">
<div class="champs_titre">
Destination
</div>
<div class="champs_valeur">
<input name="Destination" placeholder="Par exemple : Et Si... 2" value="'.$_SESSION['Cartes']['carte']['Destination'].'" >
</div>
</div>';
//----------------------------------------
// Commentaires :
echo '<div class="champs">
<div class="champs_titre">
Commentaires
</div>
<div class="champs_valeur">
<textarea cols="" rows="" name="Commentaires" placeholder="Vos commentaires sur la carte" autocomplete="off">'.$_SESSION['Cartes']['carte']['Commentaires'].'</textarea>
</div>
</div>';
//----------------------------------------
// Boutons de bas de page :
echo '<div class="boutons_bas_de_page">';
if ($_SESSION['Cartes']['page'] == "Creation_carte") /// Création :
{
echo '<a title="" href="cartes.php?action=affichage_liste_cartes&type_carte='.$_SESSION['Cartes']['carte']['Type'].'">Annuler</a>';
echo '<button type="submit" name="validation_creation_carte" title="Valider la création de la carte">Créer la carte</button>';
}
else // Modification :
{
echo '<a title="" href="cartes.php?action=affichage_liste_cartes&type_carte='.$_SESSION['Cartes']['carte']['Type'].'">Retour à la liste des cartes</a>';
echo '<button type="submit" name="validation_modification_carte" title="Valider les modification de la carte">Enregistrer les modifications</button>';
echo '<a title="" href="cartes.php?action=demande_suppression_carte&id_carte='.$_SESSION['Cartes']['carte']['Cle_primaire'].'">Supprimer la carte</a>';
}
echo '</div>';
echo '</form>';
echo '</div>';
break;
}
//****************************************************************************************************************************
case "Confirmation_suppression_carte":
{
echo '<div id="confirmation_suppression_carte" class="page_principale">';
echo '<h1>Cartes</h1>';
echo '<div class="message_confirmation">';
echo '<p>
Confirmez-vous la suppression de la carte
<span class="gras">'.$types_carte[$_SESSION['Cartes']['carte']['Type']].'</span>
n°
<span class="gras">'.$_SESSION['Cartes']['carte']['No_serie'].'</span> ?
</p>';
echo '</div>';
echo '<div class="boutons_bas_de_page">';
echo '<a title="" href="cartes.php?action=affichage_liste_cartes&type_carte='.$_SESSION['Cartes']['carte']['Type'].'">Annuler</a>';
echo '<a title="" href="cartes.php?action=confirmation_suppression_carte&id_carte='.$_SESSION['Cartes']['carte']['Cle_primaire'].'">Confirmer la suppression</a>';
echo '</div>';
echo '</div>';
break;
}
}
echo '</div>';
Pied_de_page();
+2
View File
@@ -0,0 +1,2 @@
<?php
include "../../cron/prod/data_archive_treatment.php";
+2
View File
@@ -0,0 +1,2 @@
<?php
include "../../cron/prod/data_treatment.php";
+1071
View File
File diff suppressed because it is too large Load Diff
+742
View File
@@ -0,0 +1,742 @@
/************************************************** DECLARATION DE VARIABLE ***************************************/
:root {
--hauteur_menu: 80px;
}
/************************************************************ PAGE *************************************************/
html
{
/* font-size:2.0em; */
}
/***************************************************** ZONE DE TRAVAIL *********************************************/
body {
max-width:99%;
}
/********************************************************* ENTETE **************************************************/
#entete #ligne_icones {
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
#entete #ligne_icones a {
background-size: 50%;
width: 90%;
}
#entete #ligne_icones #home {
text-align:center;
padding-left:0px;
}
#entete nav {
grid-template-columns: 1fr;
grid-row-gap: 0px;
}
#entete nav .menu {
/* font-size:2em; */
}
#entete nav .menu a {
background-color: var(--bleu_koriolan_fonce);
color: var(--bleu_koriolan);
/* display: block; */
/* width: 96%; */
padding:20px 0px;
margin: auto;
/* line-height: 2em; */
}
#espace_menu.replie {
padding-top:40px;
}
#espace_menu.deploye {
padding-top:360px;
}
/*********************************************************** PIED DE PAGE *********************************************/
#pied_de_page {
grid-template-columns: 1fr;
grid-row-gap: 0px;
grid-template-rows: 100px 1em;
}
#pied_de_page .marque {
text-align: center;
height: 100px;
padding: 20px;
grid-column: 1 / span 3 !important;
}
#pied_de_page .mentions_legales {
text-align: center;
grid-column: 1 / span 3 !important;
grid-row: 2 / span 3 !important;
}
#pied_de_page .mentions_legales a {
text-align: center;
display: inline-block;
width: 90%;
margin: 20px auto;
border: 1px solid var(--bleu_koriolan);
}
#pied_de_page .signature {
grid-column: 1 / span 3 !important;
text-align: center;
padding: 50px;
height: 100px;
}
#pied_de_page a {
padding:20px 0px;
}
/********************************************************* TITRES ********************************************/
h1 {
font-size:2.0em;
}
h2 {
font-size:1.4em;
}
/****************************************************** TABLEAUX STANDARD *****************************************/
/***************************************************** FORMULAIRES ***************************************************/
input, textarea, select {
/* padding:10px 10px; */
font-size: 1.0em;
}
select {
/* height: 40px; */
/* font-size: 1.5em; */
}
::placeholder {
/* font-size: 1.8em; */
}
.boutons_formulaire button {
padding:50px 30px;
/* font-size: 1.8em; */
}
/********************************************************* LIENS HYPERTEXTES ***************************************/
a.renforce {
padding:3px 30px;
}
ul {
padding-inline-start: 20px; /* C'est une valeur par défaut de 40px, ce qui est beaucoup sur un affichage téléphone... */
}
ul li {
margin-bottom: 0px;
}
/********************************************************* PARAGRAPHES ***************************************/
p {
margin:10px 0px;
/* line-height:50px; */
/* font-size:1.8em; */
}
/********************************************************* ANCRES ***************************************/
.ancre {
/* padding-top: 350px; /* Taille du menu déployé */
/*margin-top: -350px; Même valeur que ci-dessus pour compenser */
}
.ancre.sans_menu {
/*padding-top: 40px;*/ /* Taille du menu replié */
/*margin-top: -40px;*/ /* Même valeur que ci-dessus pour compenser */
}
/************************************* MESSAGE D'ERREUR ***************************************/
/************************************* COMPARATIF SHIPHEARTS ***************************************/
.comparatif {
/* font-size:1.5em; */
}
.comparatif .bouton_comparatif a {
margin-bottom: 50px;
width: calc(99% - 50px);
padding: 20px 0px 20px 50px;
background-position: left 10px top 50%;
}
.comparatif table.table_comparatif th {
font-size: 0.7em;
}
.comparatif table.table_comparatif th:not(:first-child) {
border: 1px solid var(--bleu_koriolan);
height: 80px;
padding: 0px;
transform: rotate(-90deg);
}
.comparatif table.table_comparatif td {
font-size:0.8em;
}
.comparatif table.table_comparatif td.version img {
/* width:60px; */
}
.comparatif table.table_renvois_comparatif tr td {
font-size:0.8em;
}
/************************************* IMAGES ZOOMEES ***************************************/
#zoom {
grid-template-columns: 1fr;
row-gap: 20px;
width: 95%;
padding:5px;
}
#zoom a {
display: block;
text-align: center;
}
#zoom a img {
width: 50px;
}
#zoom .photo_zoomee {
width: 100%;
}
#zoom .photo_zoomee img {
max-height: 250px;
max-width: 90%;
border-radius: 5px;
}
/***********************************************************************************************************************
Fichier accueil.php
***********************************************************************************************************************/
#Accueil h1 {
/* height: 300px; */
}
#Accueil h2 {
font-size:2em;
}
#Accueil p {
line-height:1.2em;
margin: auto;
}
#Accueil #bandeau_accueil {
height:300px; /* Fige la hauteur du bloc 'bandeau-accueil' sinon on n'arrive à rien... */
line-height: 300px; /* Permet ensuite d'utiliser le vertical-align sur le <p> inclus */
}
#Accueil #bandeau_accueil p {
font-size:1.8em;
}
#Accueil #notre_actualite p {
margin-bottom: 2em;
}
#Accueil #notre_actualite a {
width: 90%;
border-radius: 1em;
padding: 30px 0px;
}
#Accueil #qu_est_ce_que_shipheart .corps {
padding:50px 0px 50px 0px;
border-bottom:10px solid var(--bleu_koriolan_transparent);
font-weight: 300;
font-size: 1em;
}
#Accueil #qu_est_ce_que_shipheart .corps p {
margin-top: 10px;
margin-bottom: 10px;
}
#Accueil #qu_est_ce_que_shipheart .corps .made_in_france {
margin:20px 5% 50px 5%;
}
#Accueil #qu_est_ce_que_shipheart .corps .made_in_france img {
width: 99%;
}
#Accueil #marguerite {
padding:0.5em 0px;
}
#Accueil #marguerite .corps {
grid-template-columns: 1fr;
row-gap:60px;
}
#Accueil #marguerite .corps .rubrique {
border: none;
border-bottom:10px solid var(--bleu_koriolan_transparent);
padding:10px 10px;
}
#Accueil #boutique .corps a {
margin: 20px auto 20px auto;
padding: 30px 0px;
width: 96%;
/* font-size: 2.0em; */
}
#Accueil #faq .corps .rubriques {
grid-template-columns: 1fr;
row-gap: 50px;
}
#Accueil #qui_sommes_nous img {
/* width:100%; */
}
#Accueil #qui_sommes_nous .image_bandeau {
height:200px;
}
#Accueil #qui_sommes_nous .corps {
/* padding:50px 0px; */
}
#Accueil #qui_sommes_nous .carte_de_visite {
grid-template-columns: 1% 1fr 2fr;
}
#Accueil #qui_sommes_nous .carte_de_visite .texte p {
font-size: 0.8em;
}
#Accueil #qui_sommes_nous .contact {
/* grid-template-columns: 20px 1fr 20px; */
padding-top: 50px;
/* font-size: 1.8em; */
}
#Accueil #qui_sommes_nous .contact a {
width: 95%;
margin: 60px auto;
padding: 30px 0px;
}
/***********************************************************************************************************************
Fichier actualites.php
***********************************************************************************************************************/
/*----------------------------------------*/
#Actualites #accueil .photos {
grid-template-columns: 1fr;
}
/***********************************************************************************************************************
Fichier boutique.php
***********************************************************************************************************************/
#Boutique .info_mobile {
display: inline-block;
}
#Boutique .boutons_bas_de_page {
grid-template-columns: 1fr;
grid-template-areas:
" suivant "
" retour ";
margin-top: 20px;
}
#Boutique .boutons_bas_de_page a {
margin: 30px 0px;
}
/*--------------------------------------------------*/
#Boutique #bandeau_avancement {
grid-template-columns: repeat(7, auto);
font-size:0.6em;
}
#Boutique #bandeau_avancement .etape:first-child {
border-radius: 0px;
}
#Boutique #bandeau_avancement .etape:last-child {
border-radius: 0px;
}
/*--------------------------------------------------*/
#Boutique #accueil .famille {
grid-template-columns: 1fr;
}
#Boutique #accueil .famille .produit {
/* border-top:10px solid var(--bleu_koriolan_fonce); */
grid-template-rows: auto;
row-gap:20px;
}
#Boutique #accueil .famille .produit .image img {
height: auto;
width: min(80%, 350px);
margin-top: 20px;
}
#Boutique #accueil .famille .produit .boutons a {
width: calc(96% - 20px);
/* padding: 40px 10px; */
margin-bottom: 20px;
}
#Boutique #accueil .famille .produit .boutons a:hover {
}
/*--------------------------------------------------*/
#Boutique #panier .liste_produits {
grid-row-gap: 10px;
}
#Boutique #panier .liste_produits .titre {
display:none;
}
#Boutique #panier .liste_produits .produit {
border: 3px solid var(--bleu_koriolan_fonce);
grid-template-columns: 1fr 1fr;
grid-template-rows: auto;
row-gap: 10px;
grid-template-areas:
" image image "
" nom nom "
" descriptif descriptif "
" delai delai "
" boutons quantite "
" prix_ht prix_ht "
" prix_ttc prix_ttc ";
align-items: center;
justify-items: center;
margin: 10px 0px 50px 0px;
padding: 20px 10px;
/* font-size: 0.8em; */
}
#Boutique #panier .liste_produits .produit .image {
text-align: center;
}
#Boutique #panier .liste_produits .produit .image img {
height: auto;
width: min(80%, 350px);
}
#Boutique #panier .liste_produits .produit .descriptif {
font-style: normal;
}
#Boutique #panier .liste_produits .produit .quantite {
/* font-size:1.5em; */
}
#Boutique #panier .liste_produits .produit .quantite .info_mobile {
font-size:0.8em;
}
#Boutique #panier .liste_produits .produit .boutons {
grid-template-columns: 1fr 1fr;
grid-template-areas:
" moins plus ";
grid-column-gap: 20px;
align-items: center;
}
#Boutique #panier .liste_produits .produit .boutons a {
height: 100%;
width: 100%;
}
#Boutique #panier .liste_produits .produit .boutons a img {
width: 100%;
}
#Boutique #panier .liste_produits .produit .delai {
line-height: normal;
}
#Boutique #panier .liste_produits .produit .prix_ht {
line-height: normal;
}
#Boutique #panier .liste_produits .produit .prix_ttc {
line-height: normal;
font-size:1.2em;
}
#Boutique #panier .liste_produits .synthese {
grid-template-columns: 2fr 2fr 2fr;
}
#Boutique #panier .liste_produits .synthese.titres.info_mobile {
display: block;
}
/*--------------------------------------------------*/
#Boutique #identification form {
grid-template-columns: 1fr;
grid-template-areas:
" shipmember "
" new_shipmember ";
row-gap:10px;
}
/*--------------------------------------------------*/
#Boutique #validation .liste_produits .titre {
display:none;
}
#Boutique #validation .liste_produits .produit {
border: 3px solid var(--bleu_koriolan_fonce);
grid-template-columns: 1fr 1fr;
grid-template-rows: auto;
row-gap: 20px;
grid-template-areas:
" image image "
" nom nom "
" descriptif descriptif "
" delai delai "
" prix_ht prix_ht "
" prix_ttc prix_ttc "
" boutons quantite ";
align-items: center;
justify-items: center;
margin: 10px 0px 10px 0px;
padding: 20px 10px;
/* font-size: 0.8em; */
}
#Boutique #validation .liste_produits .produit .image {
text-align: center;
}
#Boutique #validation .liste_produits .produit .image img {
height: auto;
width: min(80%, 350px);
}
#Boutique #validation .liste_produits .produit .descriptif {
font-style: normale;
}
#Boutique #validation .liste_produits .produit .quantite {
font-size:1.5em;
line-height: 1.5em;
}
#Boutique #validation .liste_produits .produit .quantite .info_mobile {
font-size:0.8em;
}
#Boutique #validation .liste_produits .produit .boutons {
grid-template-columns: 1fr 1fr;
grid-template-areas:
" moins plus ";
grid-column-gap: 20px;
align-items: center;
}
#Boutique #validation .liste_produits .produit .boutons a {
height: 200px;
width: 200px;
line-height: 200px;
}
#Boutique #validation .liste_produits .produit .boutons a img {
width: 100px;
}
#Boutique #validation .liste_produits .produit .delai {
line-height: normal;
}
#Boutique #validation .liste_produits .produit .prix_ht {
line-height: normal;
}
#Boutique #validation .liste_produits .produit .prix_ttc {
line-height: normal;
font-size:1.2em;
}
#Boutique #validation .liste_produits .synthese {
grid-template-columns: 2fr 2fr 2fr;
}
#Boutique #validation .liste_produits .synthese.titres.info_mobile {
display: inline;
}
#Boutique #validation .message_validation_cgv input {
width: 40px;
}
#Boutique #validation .message_validation_cgv label {
line-height: 20px;
}
#Boutique #validation .message_validation_cgv a {
padding: 0px 30px;
/* background-color: var(--bleu_koriolan_fonce); */
}
/*--------------------------------------------------*/
#Boutique #paiement .saisie_paiement form {
/* padding: 20px 0px 100px 0px; */
}
#Boutique #paiement .saisie_paiement #card-element {
width: 90%;
margin-bottom: 50px;
/* margin: 50px 0px 150px 0px; */
/* background: var(--bleu_koriolan_transparent); */
}
/*--------------------------------------------------*/
#Boutique #cloture h2 {
margin-top: 50px;
}
/***********************************************************************************************************************
Fichier faq.php
***********************************************************************************************************************/
/*----------------------------------------*/
#Faq #accueil h2 {
border-bottom: none;
}
#Faq #accueil .famille a {
padding-bottom:10px;
border: 2px solid var(--bleu_koriolan);
margin: 5px 0px;
}
#Faq #accueil .famille .reponse {
margin:0px 10px 30px 10px;
}
#Faq #accueil .famille .reponse .photos {
grid-template-columns: 1fr;
}
/***********************************************************************************************************************
Fichier galerie.php
***********************************************************************************************************************/
#Galerie #accueil #photos {
grid-template-columns: 1fr;
}
#Galerie #accueil #photos .photo .legende {
/* font-size:1.6em; */
}
#Galerie #accueil #photos .photo {
grid-template-rows: 1fr auto;
}
/***********************************************************************************************************************
Fichier mentions_legales.php
***********************************************************************************************************************/
#Mentions_legales #accueil {
}
#Mentions_legales #accueil a {
padding:0px 5px 1px 5px;
}
#Mentions_legales #accueil p {
/* text-align: justify; */
/* margin: 0px; */
}
#Mentions_legales #accueil .adresse {
/* padding-left:10%; */
}
/***********************************************************************************************************************
Fichier nautic2021.php
***********************************************************************************************************************/
#Nautic2021 .logo_sh {
height:80px;
}
#Nautic2021 .logo_nautic {
height:80px;
}
#Nautic2021 .champs .champs_valeur {
min-height: 50px;
line-height: 50px;
vertical-align: middle;
}
#Nautic2021 .champs .champs_valeur input[type="checkbox"] {
margin-left: 30px;
}
#Nautic2021 .champs .champs_valeur label {
width: 70%;
min-height: 50px;
}
/***********************************************************************************************************************
Fichier produits.php
***********************************************************************************************************************/
#Produits .boutons_bas_de_page {
grid-template-columns: 1fr;
grid-template-areas:
"retour"
"suivant";
}
/*----------------------------------------*/
#Produits #accueil .produit {
grid-template-columns: 1fr;
grid-template-rows: auto;
grid-template-areas:
"photo_principale"
"nom"
"descriptif"
"photos";
}
/***********************************************************************************************************************
Fichier shipmembers.php
***********************************************************************************************************************/
/*--------------------------------------------------*/
#Shipmember {
/* font-size: 1.5em; */
}
#Shipmember .message {
/* font-size: 0.9em; */
}
#Shipmember .boutons_bas_de_page a {
margin: 50px 0px 30px 0px;
padding: 30px 10px;
}
#Shipmember .boutons_bas_de_page button {
display:block;
margin: 50px 0px 30px 0px;
padding: 30px 10px;
/* font-size: 1.2em; */
}
/*--------------------------------------------------*/
#Shipmember #login form {
grid-template-columns: 1fr;
}
#Shipmember #login form table td:nth-child(1) {
width: 30%;
}
/*--------------------------------------------------*/
#Shipmember #profil .profil {
row-gap:50px;
}
#Shipmember #profil .profil .champs {
display: grid;
grid-template-columns: 1fr;
row-gap: 20px;
}
+51
View File
@@ -0,0 +1,51 @@
/***********************************************************************************************************************
Fichier administration.php
***********************************************************************************************************************/
#Administration #accueil p {
text-align: justify;
}
#Administration .boutons_bas_de_page {
text-align: center;
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-areas:
"retour suivant";
grid-column-gap: 20px;
grid-row-gap: 20px;
align-items: center;
margin-top: 50px;
}
#Administration .boutons_bas_de_page a {
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
}
#Administration .boutons_bas_de_page .retour {
grid-area: retour;
}
#Administration .boutons_bas_de_page .suivant {
grid-area: suivant;
}
#Administration .boutons_bas_de_page a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
#Administration #questionnaires .indicateur {
margin: 20px 0px 30px 0px;
}
#Administration #questionnaires .libelle_indicateur {
/* display: inline-block; */
width: 100%;
text-align: center;
}
#Administration #questionnaires .valeur_indicateur {
/* display: inline-block; */
width: 100%;
text-align: center;
font-weight: bold;
font-size: 2em;
}
+604
View File
@@ -0,0 +1,604 @@
/***********************************************************************************************************************
Fichier bateaux.php
***********************************************************************************************************************/
#Bateaux .entete_bateau {
border-bottom: 2px solid var(--bleu_koriolan_fonce);
height: 60px;
}
#Bateaux .entete_bateau .derniere_maj {
width: 60%;
padding: 10px 0px;
}
#Bateaux .entete_bateau .bouton_gestion_acces {
text-align: right;
float: right
}
#Bateaux .entete_bateau .bouton_gestion_acces a {
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
width: 100%;
padding: 5px 20px;
display: block;
}
#Bateaux .entete_bateau .bouton_gestion_acces a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
#Bateaux .entete_bateau .bouton_gestion_acces a.actif {
background-color: var(--bleu_koriolan);
color: var(--bleu_koriolan_fonce);
}
#Bateaux .boutons_haut_de_page {
text-align: center;
display: grid;
grid-template-columns: repeat(6, 1fr);
grid-column-gap: 20px;
grid-row-gap: 20px;
align-items: center;
margin: 20px 0px 30px 0px;
}
#Bateaux .boutons_haut_de_page a {
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
width: 100%;
display: block;
}
#Bateaux .boutons_haut_de_page a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
#Bateaux .boutons_haut_de_page a.actif {
background-color: var(--bleu_koriolan);
color: var(--bleu_koriolan_fonce);
}
#Bateaux #details_bateau .graphique .top_part_graph .vars .var{
cursor: pointer;
}
#Bateaux #details_bateau .graphique .top_part_graph .vars .var.actif {
border-radius: 5px;
background-color: var(--bleu_koriolan_transparent);
color: var(--bleu_koriolan_fonce);
font-weight: 600;
}
.page_principale {
width: 80% !important;
max-width: unset !important;
}
.table_wrapper {
overflow-x: auto;
}
#Bateaux #accueil table {
width: 100%;
margin-top: 20px;
text-align: center;
}
#Bateaux #accueil table th {
text-align: center;
padding: 3px 10px;
}
#Bateaux #accueil table td {
border-top: 1px solid var(--gris_tres_tres_pale);
text-align: center;
padding: 3px 10px;
font-size: 0.9em;
}
#Bateaux #accueil table td:nth-child(7) {
text-align: left;
}
#Bateaux #accueil table td a {
margin: 0px;
padding: 0px;
}
#Bateaux #details_bateau .onglets a {
background-color: var(--bleu_koriolan_fonce);
border-radius: 1em 1em 0 0;
color: var(--blanc);
display: inline-block;
padding: 3px 20px;
margin: 1px 1px 0px 1px;
}
#Bateaux #details_bateau .onglets a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
#Bateaux #details_bateau .onglets a.actif {
background-color: var(--bleu_koriolan);
color: var(--bleu_koriolan_fonce);
}
#Bateaux #details_bateau .corps_details_bateau {
background-color: var(--blanc_casse);
}
#Bateaux #details_bateau .corps_details_bateau h2:nth-child(2) {
margin: 0px;
/* border-top: 0px;*/
}
#Bateaux #details_bateau .corps_details_bateau .champs {
display: grid;
grid-template-columns: 1fr 1fr;
margin-top: 5px;
}
#Bateaux #details_bateau .corps_details_bateau .champs .champs_titre {
text-align: left;
font-weight: bold;
padding-left: 20px;
/* background-color: var(--blanc_casse); */
}
#Bateaux #details_bateau .corps_details_bateau .champs .champs_valeur {
text-align: left;
/* background-color: var(--blanc_casse); */
}
.red {
color: red;
}
.orange {
color: #ffa600;
}
.green {
color: #02a602;
}
.capteur_state{
display: block;
padding: 0px;
height: 60px;
line-height: 60px;
width: 80px;
text-align: center !important;
font-size: 1.5em;
border-radius: 5px;
}
.capteur_off{
background-color: rgba(255, 30, 0, 0.2);
color: rgb(255,30,0);
}
.consommation_instantanee {
font-size: 1em;
padding: 6px;
background-image: url(images/icone_consommation_electrique.png);
background-size: contain;
background-position: center;
background-repeat: no-repeat;
margin-right: 5px;
}
.capteur_on{
background-color: rgba(177, 251, 23, 0.3);
color: rgb(177, 251, 23);
}
#Bateaux #details_bateau .corps_details_bateau .champs .champs_description {
grid-column: 1 / span 2;
text-align: justify;
font-size:0.8em;
}
#Bateaux #details_bateau .boutons_graphique {
text-align: center;
display: grid;
grid-template-columns: 1fr ;
grid-column-gap: 20px;
align-items: center;
margin: 20px 0px 20px 0px;
}
#Bateaux #details_bateau .boutons_graphique a {
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
width: 300px;
margin: auto;
}
#Bateaux #details_bateau .boutons_graphique a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
#Bateaux #details_bateau .boutons_graphique a.actif {
background-color: var(--bleu_koriolan);
color: var(--bleu_koriolan_fonce);
}
#Bateaux #details_bateau .corps_details_bateau .titre_composant {
display: grid;
grid-template-columns: 2fr 3fr 60px;
/* height: 70px; */
padding: 15px 0px 15px 0px;
margin: 2em 0px 0.2em 0px;
border-top: 1px solid var(--bleu_koriolan_fonce);
border-bottom: 1px solid var(--bleu_koriolan_fonce);
}
#Bateaux #details_bateau .corps_details_bateau .titre_composant p{
margin: unset;
text-align : unset;
}
#Bateaux #details_bateau .corps_details_bateau .titre_composant .titre_text{
font-size: 1.8em;
font-weight: 500;
}
#Bateaux #details_bateau .corps_details_bateau .titre_composant .titre_desc{
/* font-size: 1.8em; */
}
#Bateaux #details_bateau .corps_details_bateau .titre_composant .titre_capt{
display: flex;
}
#Bateaux #details_bateau .corps_details_bateau .titre_composant .titre_icon {
background-size: contain;
background-repeat: no-repeat;
cursor: pointer;
background-position: center;
margin-right: 10px;
}
#Bateaux #details_bateau .corps_details_bateau .titre_composant .more {
background-image: url("images/show_more.png");
}
#Bateaux #details_bateau .corps_details_bateau .titre_composant .less {
background-image: url("images/show_less.png");
}
#Bateaux #creation_bateau .champs {
display: grid;
grid-template-columns: 1fr;
}
#Bateaux #creation_bateau .champs .champs_titre {
text-align: left;
margin-top: 20px;
}
#Bateaux #creation_bateau .champs .champs_valeur {
text-align: left;
}
#Bateaux #creation_bateau .champs .champs_valeur select option.selection_actuelle {
color: var(--bleu_koriolan_fonce);
font-weight: bold;
}
#Bateaux #creation_bateau .champs .champs_valeur select option[disabled] {
color: var(--gris_tres_pale);
background-color: var(--gris_tres_tres_pale);
}
#Bateaux #creation_bateau .champs .champs_valeur input {
text-align: left;
}
#Bateaux #creation_bateau .champs .champs_valeur textarea {
border:1px solid var(--bleu_koriolan);
border-radius: 10px;
text-align: left;
}
#Bateaux #creation_bateau .champs .champs_valeur a img {
width: 60%;
}
#Bateaux #creation_bateau .champs .champs_nb {
font-size: 0.8em;
font-style: italic;
}
#Bateaux #confirmation_suppression_bateau .message_confirmation {
border-radius: 10px;
padding: 20px;
background-color: var(--rouge);
color: var(--jaune_post_it);
}
#Bateaux .boutons_bas_de_page {
text-align: center;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-column-gap: 20px;
grid-row-gap: 20px;
align-items: center;
margin-top: 50px;
}
#Bateaux .boutons_bas_de_page a {
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
}
#Bateaux .boutons_bas_de_page a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
.graphique {
display: flex;
flex-direction: column;
height: unset !important;
margin: 20px 0px 20px 0px !important;
}
.graphique .graph {
width: 100%;
height: 100%;
position: relative;
}
.graphique .titre{
margin-bottom: 20px;
}
.top_part_graph {
display: flex;
height: 100%;
}
.var {
/* display: flex; */
flex-direction: row;
}
.var input{
width: unset !important;
margin-right: 10px !important;
}
.var label{
display: unset !important;
}
.date_pick form{
display: flex;
flex-direction: column;
}
.date_pick input {
width: 100%;
position: relative;
margin: auto;
}
.date_pick label {
display: grid;
grid-template-columns: 2fr 3fr;
}
.date_pick span {
position: relative;
margin: auto;
}
.date_maj_version{
display: flex;
}
.date_maj_version input,.date_maj_version select{
width: 200px !important;
margin-left: 30px !important;
margin-right: 30px !important;
}
.gestion_acces{
/* height: 100; */
/* display: flex; */
}
.gestion_acces .users{
margin-bottom: 50px;
overflow-x: auto;
}
.gestion_acces .users table {
text-align: center;
}
.gestion_acces .users table tr {
height: 35px;
}
.gestion_acces .users table td {
border-top: 1px solid var(--gris_tres_tres_pale);
padding: 3px 10px;
font-size: 0.9em;
}
.gestion_acces .users table td#modifier_acces {
background-image: url(images/stylo.png);
background-repeat: no-repeat;
background-size: 80%;
background-position: center;
cursor: pointer;
}
.gestion_acces .generer_code form{
display: grid;
grid-template-columns: 2fr 2fr 1fr;
margin-bottom: 30px;
margin-top: 30px;
}
.download{
font-weight: 800;
padding: 0;
color: red;
}
.download:hover {
background: red;
color: var(--blanc_casse);
}
#type_acces {
height: unset;
}
form.variables {
display: grid;
padding-left: 100px;
grid-template-columns: 2fr 2fr 100px;
padding-right: 100px;
}
form.variables input{
padding: 5px 10px;
}
.variables button{
height: 40px;
padding: 0;
top: 20;
position: relative;
}
.help {
position: fixed;
height: 50px;
width: 50px;
background-size: contain;
background-repeat: no-repeat;
cursor: pointer;
bottom: 20px;
right: 20px;
z-index: 100;
}
.help_open {
background-image: url("images/question.png");
}
.help_close{
background-image: url("images/fermer_aide.png");
}
.help:hover{
animation: heart_pulse 2s ease-in 0s infinite;
}
.help_note{
width: 300px;
background-color: var(--blanc_casse);
min-height: 40px;
max-height: 600px;
position: fixed;
bottom: 26px;
right: 26px;
border-radius: 5px;
border: var(--bleu_koriolan) 1px solid;
padding-bottom: 20px;
z-index: 50;
}
#maCarte {
height: 600px;
z-index: 1;
}
/* --------------------- POP UP EDIT ACCESS----------------------*/
#popUpAcces{
display: block;
width: 100vw;
height: 100vh;
position: fixed;
background: rgba(255, 255, 255, 0.8);
backdrop-filter: blur(3px);
left: 0;
top: 0;
z-index: 9999;
}
#popUpAccesModal{
width: 50%;
background: white;
height: 45%;
border-radius: 10px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
position: fixed;
box-shadow: 0px 0px 7px 2px var(--bleu_koriolan);
overflow-y: auto;
}
#popUpAccesModal #top_part{
display: grid;
grid-template-columns: auto 50px;
}
#popUpAccesModal #top_part p{
margin: unset;
text-align: left;
margin-left: 30px;
margin-top: 20px;
margin-bottom: 20px;
color: var(--bleu_koriolan_fonce);
font-weight: 600;
font-size: 25px;
}
#popUpAccesModal #top_part p#close{
background-image: url(images/croix_carre.png);
background-repeat: no-repeat;
background-size: contain;
cursor: pointer;
width: 30px;
height: 30px;
margin: 10px;
}
#popUpAccesModal form{
display: grid;
grid-template-columns: 1fr 1fr;
padding: 20px;
column-gap: 30px;
row-gap: 50px;
}
#popUpAccesModal form label{
position: relative;
}
#popUpAccesModal form label input, #popUpAccesModal form label select{
width: 100%;
}
#popUpAccesModal form label span {
position: absolute;
top: 0;
left: 10px;
transform: translateY(-18px);
font-size: 18px;
transition-duration: 300ms;
padding-left: 10px;
padding-right: 10px;
color: var(--bleu_koriolan_fonce);
font-weight: 600;
background-color: white;
}
#popUpAccesModal form .buttons_acces{
display: grid;
}
/* ------------------ Autres ---------------- */
#dateSlider{
margin-bottom: 50px !important;
margin-top: 50px !important;
}
#dateSlider .noUi-connect{
background-color: var(--bleu_koriolan);
}
@media only screen and (max-width: 580px) {
#Bateaux .boutons_haut_de_page {
grid-template-columns: minmax(50px, auto);
}
form.variables {
display: flex;
margin-bottom: 50px;
flex-direction: column;
padding : 0;
}
.vars {
display: grid !important;
grid-template-columns: 1fr !important;
}
#popUpAccesModal{
width: 95% !important;
height: 60% !important;
}
#popUpAccesModal form {
grid-template-columns: 1fr;
row-gap: 30px;
}
}
@media only screen and (max-width: 850px) {
.top_part_graph {
flex-direction: column-reverse;
}
.vars {
display: grid !important;
grid-template-columns: 1fr 1fr;
}
.page_principale {
width: 96% !important;
}
.gestion_acces{
flex-direction: column-reverse;
}
form.variables {
padding : 0;
}
#popUpAccesModal{
width: 80%;
height: 40%;
}
#dateSlider{
margin: auto;
width: 80%;
}
}
+106
View File
@@ -0,0 +1,106 @@
/***********************************************************************************************************************
Fichier cartes.php
***********************************************************************************************************************/
#Cartes #accueil .choix_type_carte {
display: grid;
grid-template-columns: 1fr 1fr;
grid-row-gap: 10px;
grid-column-gap: 10px;
margin:50px 0px;
}
#Cartes #accueil .choix_type_carte a {
background-color: var(--bleu_koriolan);
color: var(--bleu_koriolan_fonce);
}
#Cartes #accueil .choix_type_carte a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
#Cartes #liste_cartes table {
width: 100%;
margin-top: 20px;
}
#Cartes #liste_cartes table th {
text-align: center;
padding: 3px 10px;
}
#Cartes #liste_cartes table td {
border-top: 1px solid var(--gris_tres_tres_pale);
text-align: center;
padding: 3px 10px;
font-size: 0.9em;
}
#Cartes #liste_cartes table td:nth-child(6) {
text-align: left;
}
#Cartes #liste_cartes table tr.carte_etat_inconnu td {
background-color: var(--blanc_casse);
}
#Cartes #liste_cartes table tr.carte_en_panne td {
background-color: var(--rouge_transparent);
}
#Cartes #liste_cartes table tr.carte_rebut td {
background-color: var(--gris_moyen);
}
#Cartes #liste_cartes table td a {
margin: 0px;
padding: 0px;
}
#Cartes #creation_carte .champs {
display: grid;
grid-template-columns: 1fr;
}
#Cartes #creation_carte .champs .champs_titre {
text-align: left;
margin-top: 20px;
}
#Cartes #creation_carte .champs .champs_valeur {
text-align: left;
}
#Cartes #creation_carte .champs .champs_valeur input {
text-align: left;
}
#Cartes #creation_carte .champs .champs_valeur textarea {
border:1px solid var(--bleu_koriolan);
border-radius: 10px;
text-align: left;
}
#Cartes #creation_carte .champs .champs_valeur a img {
width: 60%;
}
#Cartes #creation_carte .champs .champs_nb {
font-size: 0.8em;
font-style: italic;
}
#Cartes #confirmation_suppression_carte .message_confirmation {
border-radius: 10px;
padding: 20px;
background-color: var(--rouge);
color: var(--jaune_post_it);
}
#Cartes .boutons_bas_de_page {
text-align: center;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-column-gap: 20px;
grid-row-gap: 20px;
align-items: center;
margin-top: 20px;
}
#Cartes .boutons_bas_de_page a {
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
}
#Cartes .boutons_bas_de_page a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
+152
View File
@@ -0,0 +1,152 @@
#Contact{
height: 60vh;
width: 100%;
position: relative;
margin: auto;
display: flex;
flex-direction: column;
}
.text_contact{
height: 50%;
padding-left: 20%;
padding-right: 20%;
align-items: center;
display: flex;
}
.text_contact p{
font-size: 25px;
font-style: unset;
position: relative;
margin: auto;
}
.content_contact{
height: 50%;
padding-left: 5%;
padding-right: 5%;
display: flex;
}
.linkedin{
width: 33%;
height: 100%;
/* padding: 5%; */
display: flex;
}
.linkedin img{
height: 50px;
position: relative;
object-fit: contain;
margin: auto;
}
.linkedin a {
margin: auto;
}
.mail{
width: 43%;
height: 100%;
display: flex;
}
.mail p{
position: relative;
margin: auto;
padding: 20px;
padding-left: 40px;
padding-right: 40px;
background-color: var(--bleu_koriolan);
border-radius: 10px;
color: white;
font-size: 20px;
}
.phone{
width: 33%;
height: 100%;
/* padding: 5%; */
display: flex;
}
.phone p{
position: relative;
margin: auto;
padding: 20px;
padding-left: 40px;
padding-right: 40px;
background-color: var(--bleu_koriolan);
border-radius: 10px;
color: white;
font-size: 20px;
white-space: nowrap;
}
a:hover {
color: white !important;
}
@media only screen and (max-width: 850px) {
.content_contact{
display: flex;
flex-direction: column;
margin-top: -10px;
padding-left: 10%;
padding-right: 10%;
}
.linkedin{
width: 80vw;
height: 33%;
padding: 5%;
}
.mail{
width: 80vw;
height: 33%;
padding: 5%;
}
.phone{
width: 80vw;
height: 33%;
padding: 5%;
}
.text_contact{
height: 50%;
padding-left: 5%;
padding-right: 5%;
align-items: center;
display: flex;
}
.text_contact p{
font-size: 18px;
background-color: var(--bleu_koriolan_transparent);
padding: 22px;
border: 3px solid var(--bleu_koriolan_transparent);
border-radius: 15px;
}
.linkedin img{
height: 50px;
position: relative;
object-fit: contain;
margin: auto;
border-radius: 14px;
}
.mail p{
position: relative;
margin: auto;
margin-top: -10px;
width: 80vw;
padding: 20px;
padding-left: 30px;
padding-right: 30px;
background-color: var(--bleu_koriolan);
border-radius: 10px;
color: white;
font-size: 18px;
max-height: 67px;
}
.phone p{
position: relative;
width: 80vw;
margin: auto;
margin-top: -10px;
padding: 20px;
padding-left: 30px;
padding-right: 30px;
background-color: var(--bleu_koriolan);
border-radius: 10px;
color: white;
font-size: 18px;
max-height: 67px;
}
}
+23
View File
@@ -0,0 +1,23 @@
/***********************************************************************************************************************
Fichier mentions_legales.php
***********************************************************************************************************************/
#Mentions_legales {
display: grid;
grid-template-columns: 1fr;
}
#Mentions_legales #accueil a {
padding:0px 5px 1px 5px;
background-color: var(--bleu_koriolan);
}
#Mentions_legales #accueil a:hover {
padding:0px 5px 1px 5px;
background-color: var(--blanc);
}
#Mentions_legales #accueil p {
text-align: justify;
margin: 0px;
}
#Mentions_legales #accueil .adresse {
padding-left:10%;
}
+306
View File
@@ -0,0 +1,306 @@
/***********************************************************************************************************************
Fichier shipmembers.php
***********************************************************************************************************************/
#Shipmembers h2 {
margin-bottom: 30px;
}
#Shipmembers .message p {
text-align: justify;
}
#Shipmembers .boutons_bas_de_page a {
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
text-align: center;
margin: 10px 0px 30px 0px;
display:block;
}
#Shipmembers .boutons_bas_de_page a:hover {
color: var(--bleu_koriolan);
}
#Shipmembers .boutons_bas_de_page button {
display:block;
margin: 10px 0px 30px 0px;
width: 100%;
}
/*--------------------------------------------------*/
#Shipmembers #login form {
display: grid;
grid-template-columns: 1fr 1fr;
column-gap:40px;
row-gap:80px;
align-items: start;
}
#Shipmembers #login .login {
display: grid;
grid-template-columns: 1fr;
row-gap:20px;
}
#Shipmembers #login .login .message_login {
text-align: justify;
}
#Shipmembers #login .login .champs {
display: grid;
grid-template-columns: 1fr;
}
#Shipmembers #login .login .champs .champs_titre {
text-align: left;
}
#Shipmembers #login .login .champs .champs_valeur {
text-align: left;
}
#Shipmembers #login .login .champs .champs_valeur input {
text-align: left;
}
#Shipmembers #login .login .champs .champs_valeur textarea {
border:1px solid var(--bleu_koriolan);
border-radius: 10px;
text-align: left;
}
/*--------------------------------------------------*/
#Shipmembers #activation form {
display: grid;
grid-template-columns: 1fr;
row-gap:80px;
align-items: start;
}
#Shipmembers #activation .shipmember {
display: grid;
grid-template-columns: 1fr;
row-gap:10px;
}
#Shipmembers #activation .shipmember .lignes {
display: grid;
grid-template-columns: 1fr;
row-gap:10px;
}
#Shipmembers #activation .shipmember .ligne {
display: grid;
grid-template-columns: 1fr 3fr;
}
#Shipmembers #activation .shipmember .ligne .titre_ligne {
border-bottom: 1px solid var(--bleu_koriolan);
}
/*--------------------------------------------------*/
#Shipmembers #generation_mdp form {
display: grid;
grid-template-columns: 1fr;
row-gap:80px;
align-items: start;
}
#Shipmembers #generation_mdp .shipmember {
display: grid;
grid-template-columns: 1fr;
row-gap:10px;
}
#Shipmembers #generation_mdp .shipmember .lignes {
display: grid;
grid-template-columns: 1fr;
row-gap:10px;
}
#Shipmembers #generation_mdp .shipmember .ligne {
display: grid;
grid-template-columns: 1fr 3fr;
}
#Shipmembers #generation_mdp .shipmember .ligne .titre_ligne {
border-bottom: 1px solid var(--bleu_koriolan);
}
/*--------------------------------------------------*/
#Shipmembers #accueil {
display: grid;
grid-template-columns: 1fr;
column-gap:40px;
row-gap:80px;
align-items: start;
}
#Shipmembers #accueil .message {
text-align: justify;
}
/*--------------------------------------------------*/
#Shipmembers #administration table {
width: 100%;
margin: 20px 0px 50px 0px;
}
#Shipmembers #administration table th {
text-align: center;
padding: 3px 10px;
}
#Shipmembers #administration table td {
border-top: 1px solid var(--gris_tres_tres_pale);
text-align: left;
padding: 3px 10px;
font-size: 0.9em;
}
#Shipmembers #administration table td:nth-child(3) {
text-align: center;
}
#Shipmembers #administration table td a {
margin: 0px;
padding: 0px;
}
/*--------------------------------------------------*/
#Shipmembers #details table {
width: 100%;
margin: 20px 0px 50px 0px;
}
#Shipmembers #details table td {
border-top: 1px solid var(--gris_tres_tres_pale);
text-align: left;
padding: 3px 10px;
font-size: 0.9em;
}
/*--------------------------------------------------*/
#Shipmembers #profil form {
display: grid;
grid-template-columns: 1fr;
column-gap:40px;
row-gap:80px;
align-items: start;
}
#Shipmembers #profil .profil {
display: grid;
grid-template-columns: 1fr;
row-gap:10px;
}
#Shipmembers #profil .profil .champs {
display: grid;
grid-template-columns: 1fr 3fr;
}
#Shipmembers #profil .profil .champs .champs_titre {
text-align: left;
padding-left:20px;
line-height: 30px;
background-color: var(--bleu_koriolan_transparent);
border-bottom: 1px solid var(--bleu_koriolan);
border-radius: 5px 0px 0px 5px;
}
#Shipmembers #profil .profil .champs .champs_valeur {
text-align: left;
padding-left:20px;
line-height: 30px;
border-bottom: 1px solid var(--bleu_koriolan);
border-radius: 0px 5px 5px 0px;
}
/*--------------------------------------------------*/
#Shipmembers #modifier_profil form {
display: grid;
grid-template-columns: 1fr;
column-gap:40px;
row-gap:80px;
align-items: start;
}
#Shipmembers #modifier_profil .profil {
display: grid;
grid-template-columns: 1fr;
row-gap:10px;
}
#Shipmembers #modifier_profil .profil .message {
margin-top: 20px;
}
/*--------------------------------------------------*/
#Shipmembers #historique form {
display: grid;
grid-template-columns: 1fr;
column-gap:40px;
row-gap:80px;
}
#Shipmembers #historique .liste_commandes {
display: grid;
grid-template-columns: 1fr;
text-align: center;
}
#Shipmembers #historique .liste_commandes .titre {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
line-height:40px;
}
#Shipmembers #historique .liste_commandes .commande {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
line-height:30px;
}
#Shipmembers #historique .liste_commandes .commande:nth-child(even) {
background-color: var(--bleu_koriolan_transparent);
}
#Shipmembers #historique .liste_commandes .commande .prix_ttc {
text-align: right;
}
#Shipmembers #historique .liste_commandes .commande .download a {
line-height:30px;
}
#Shipmembers #historique .liste_commandes .commande .download img {
width: 30px;
vertical-align: middle;
}
/*--------------------------------------------------*/
#Shipmembers #bateau form {
display: grid;
grid-template-columns: 1fr;
column-gap:40px;
row-gap:80px;
/* align-items: start; */
}
#Shipmembers #bateau form a {
display: grid;
grid-template-columns: 1fr;
column-gap:40px;
row-gap:80px;
/* align-items: start; */
}
#Shipmembers #bateau .acces_bateau a {
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
text-align: left;
padding-left: 20px;
margin: 10px 30px 30px 30px;
display:block;
}
#Shipmembers #bateau .acces_bateau a:hover {
color: var(--bleu_koriolan);
}
#Shipmembers #bateau .acces_bateau button {
display:block;
margin: 10px 0px 30px 0px;
width: 100%;
}
+90
View File
@@ -0,0 +1,90 @@
.page_principale {
max-width: 80vw !important;
}
.create_text{
max-width: var(--largeur_maxi);
position: relative;
margin: auto;
}
.boutons_bas_de_page {
text-align: center;
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-areas:
"retour suivant";
grid-column-gap: 20px;
grid-row-gap: 20px;
align-items: center;
margin-top: 50px;
}
.top_part {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
margin-bottom: 50px;
margin-top: 50px;
position: relative;
margin-left: auto;
margin-right: auto;
width: 100%;
}
.textes {
display: grid;
margin-bottom: 50px;
grid-template-columns: 1fr 1fr;
row-gap: 30px;
}
label{
width: 90%;
position: relative;
margin-left: auto;
margin-right: auto;
}
label select, label input , label textarea {
width: 100%;
}
label span{
position:absolute;
top:0;
left:10px;
transform: translateY(-20px);
font-size:20px;
transition-duration:300ms;
padding-left : 10px;
padding-right : 10px;
color : var(--bleu_koriolan_fonce);
font-weight: 600;
background-color: white;
}
#label_chemin_acces{
margin-top: 10px;
}
#chemin_acces{
height: 120px;
}
.create_text form{
display: grid;
grid-template-columns: 1fr;
}
@media only screen and (max-width: 850px) {
.top_part, .textes{
grid-template-columns: 1fr;
margin-bottom: 10px;
}
label select, label input , label textarea {
margin-bottom: 20px;
}
label span {
transform: translateY(-15px);
font-size: 15px;
}
}
+38
View File
@@ -0,0 +1,38 @@
/***********************************************************************************************************************
Fichier uploads.php
***********************************************************************************************************************/
#Uploads #accueil p {
text-align: justify;
}
#Uploads #accueil th:nth-child(2) {
text-align: center;
}
#Uploads #accueil td:nth-child(2) {
text-align: center;
}
#Uploads #accueil td.erreur_fichier {
color: var(--rouge);
font-weight: bold;
}
#Uploads .boutons_bas_de_page {
text-align: center;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-column-gap: 20px;
grid-row-gap: 20px;
align-items: center;
margin-top: 20px;
}
#Uploads .boutons_bas_de_page a {
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
}
#Uploads .boutons_bas_de_page a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
+138
View File
@@ -0,0 +1,138 @@
/***********************************************************************************************************************
Fichier versions.php
***********************************************************************************************************************/
#Versions #accueil .choix_type_version {
display: grid;
grid-template-columns: 1fr 1fr;
grid-row-gap: 10px;
grid-column-gap: 10px;
margin:50px 0px;
}
#Versions #accueil .choix_type_version a {
background-color: var(--bleu_koriolan);
color: var(--bleu_koriolan_fonce);
}
#Versions #accueil .choix_type_version a.package {
grid-column: 1 / 3;
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
}
#Versions #accueil .choix_type_version a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
#Versions #liste_versions table {
width: 100%;
margin-top: 20px;
}
#Versions #liste_versions table th {
text-align: left;
padding: 3px 10px;
}
#Versions #liste_versions table td {
border-top: 1px solid var(--gris_tres_tres_pale);
text-align: left;
padding: 3px 10px;
font-size: 0.9em;
}
#Versions #liste_versions table td a {
margin: 0px;
padding: 0px;
}
#Versions #liste_versions table.package th:nth-child(1) {
width: 8%;
}
#Versions #liste_versions table.package th:nth-child(2) {
width: 12%;
}
#Versions #liste_versions table.package td:nth-child(1) {
font-weight: bold;
text-align: center;
}
#Versions #liste_versions table.version th:nth-child(2) {
width: 80%;
}
#Versions #creation_version .champs {
display: grid;
grid-template-columns: 1fr;
}
#Versions #creation_version .champs .champs_titre {
text-align: left;
margin-top: 20px;
}
#Versions #creation_version .champs .champs_valeur {
text-align: left;
}
#Versions #creation_version .champs .champs_valeur input {
text-align: left;
}
#Versions #creation_version .champs .champs_valeur textarea {
border:1px solid var(--bleu_koriolan);
border-radius: 10px;
text-align: left;
}
#Versions #creation_version .champs .champs_valeur a img {
width: 60%;
}
#Versions #confirmation_suppression_carte .message_confirmation {
border-radius: 10px;
padding: 20px;
background-color: var(--rouge);
color: var(--jaune_post_it);
}
#Versions #generation_archive .champs {
display: grid;
grid-template-columns: 1fr;
}
#Versions #generation_archive .champs .champs_titre {
text-align: left;
margin-top: 20px;
}
#Versions #generation_archive .champs .champs_valeur {
text-align: left;
}
#Versions .boutons_haut_bas_de_page {
text-align: center;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-column-gap: 20px;
grid-row-gap: 20px;
align-items: center;
margin-top: 20px;
}
#Versions #liste_versions .boutons_haut_bas_de_page {
grid-template-columns: 1fr 1fr;
}
#Versions #creation_version .boutons_haut_bas_de_page {
grid-template-columns: 1fr 1fr;
}
#Versions #creation_version .boutons_haut_bas_de_page.modification {
grid-template-columns: 1fr 1fr 1fr;
}
#Versions #generation_archive .boutons_haut_bas_de_page {
grid-template-columns: 1fr 1fr;
}
#Versions .boutons_haut_bas_de_page a {
background-color: var(--bleu_koriolan_fonce);
color: var(--blanc);
}
#Versions .boutons_haut_bas_de_page a:hover {
color: var(--bleu_koriolan);
background-color: var(--bleu_koriolan_fonce);
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 911 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Some files were not shown because too many files have changed in this diff Show More