Compare commits
4 Commits
9fe23f6c3f
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
71978f3b41 | ||
|
|
7550bd1a30 | ||
|
|
8c49242c56 | ||
|
|
f456978b91 |
6
.env.example
Normal file
6
.env.example
Normal file
@@ -0,0 +1,6 @@
|
||||
DB_HOST=localhost
|
||||
DB_PORT=3306
|
||||
DB_NAME=DB
|
||||
DB_USER=USER
|
||||
DB_PASS=PASS
|
||||
DB_CHARSET=utf8
|
||||
21
.gitattributes
vendored
Normal file
21
.gitattributes
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
# Forcer LF pour tous les fichiers texte
|
||||
* text eol=lf
|
||||
|
||||
# Forcer explicitement PHP
|
||||
*.php text eol=lf
|
||||
|
||||
# Autres fichiers courants
|
||||
*.js text eol=lf
|
||||
*.css text eol=lf
|
||||
*.html text eol=lf
|
||||
*.yml text eol=lf
|
||||
*.env text eol=lf
|
||||
|
||||
# Images vectorielles
|
||||
*.svg text diff eol=lf
|
||||
|
||||
# Forcer WebP en fichier binaire
|
||||
*.webp binary
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.jpeg binary
|
||||
75
.gitea/workflows/deploy-dev.yml
Normal file
75
.gitea/workflows/deploy-dev.yml
Normal file
@@ -0,0 +1,75 @@
|
||||
name: Déploiement DEV
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- develop
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Récupérer le dépôt
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
|
||||
- name: Installer les outils
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y rsync openssh-client
|
||||
|
||||
- name: Configurer SSH Synology
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.NAS_SSH_KEY }}
|
||||
NAS_HOST: ${{ vars.NAS_HOST }}
|
||||
NAS_PORT: ${{ vars.NAS_PORT }}
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
printf '%s\n' "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519
|
||||
chmod 600 ~/.ssh/id_ed25519
|
||||
|
||||
ssh-keyscan \
|
||||
-p "$NAS_PORT" \
|
||||
"$NAS_HOST" \
|
||||
>> ~/.ssh/known_hosts
|
||||
|
||||
chmod 600 ~/.ssh/known_hosts
|
||||
|
||||
- name: Vérifier la destination DEV
|
||||
env:
|
||||
NAS_HOST: ${{ vars.NAS_HOST }}
|
||||
NAS_PORT: ${{ vars.NAS_PORT }}
|
||||
NAS_USER: ${{ vars.NAS_USER }}
|
||||
NAS_PATH: ${{ vars.NAS_PATH }}
|
||||
run: |
|
||||
ssh \
|
||||
-p "$NAS_PORT" \
|
||||
-i ~/.ssh/id_ed25519 \
|
||||
-o IdentitiesOnly=yes \
|
||||
"$NAS_USER@$NAS_HOST" \
|
||||
"test -d '$NAS_PATH' && test -w '$NAS_PATH'"
|
||||
|
||||
- name: Déployer sur le Synology
|
||||
env:
|
||||
NAS_HOST: ${{ vars.NAS_HOST }}
|
||||
NAS_PORT: ${{ vars.NAS_PORT }}
|
||||
NAS_USER: ${{ vars.NAS_USER }}
|
||||
NAS_PATH: ${{ vars.NAS_PATH }}
|
||||
run: |
|
||||
rsync -rz \
|
||||
--no-perms \
|
||||
--no-owner \
|
||||
--no-group \
|
||||
--omit-dir-times \
|
||||
--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r \
|
||||
--exclude=".git/" \
|
||||
--exclude=".gitea/" \
|
||||
--exclude=".env" \
|
||||
--exclude="uploads/" \
|
||||
--exclude="logs/" \
|
||||
--exclude="storage/" \
|
||||
-e "ssh -p $NAS_PORT -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes" \
|
||||
./ \
|
||||
"$NAS_USER@$NAS_HOST:$NAS_PATH/"
|
||||
75
.gitea/workflows/deploy-prod.yml
Normal file
75
.gitea/workflows/deploy-prod.yml
Normal file
@@ -0,0 +1,75 @@
|
||||
name: Déploiement PROD
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Récupérer le dépôt
|
||||
uses: https://github.com/actions/checkout@v4
|
||||
|
||||
- name: Installer les outils
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y rsync openssh-client
|
||||
|
||||
- name: Configurer SSH VPS
|
||||
env:
|
||||
SSH_PRIVATE_KEY: ${{ secrets.VPS_SSH_KEY }}
|
||||
VPS_HOST: ${{ vars.VPS_HOST }}
|
||||
VPS_PORT: ${{ vars.VPS_PORT }}
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
printf '%s\n' "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519
|
||||
chmod 600 ~/.ssh/id_ed25519
|
||||
|
||||
ssh-keyscan \
|
||||
-p "$VPS_PORT" \
|
||||
"$VPS_HOST" \
|
||||
>> ~/.ssh/known_hosts
|
||||
|
||||
chmod 600 ~/.ssh/known_hosts
|
||||
|
||||
- name: Vérifier la destination PROD
|
||||
env:
|
||||
VPS_HOST: ${{ vars.VPS_HOST }}
|
||||
VPS_PORT: ${{ vars.VPS_PORT }}
|
||||
VPS_USER: ${{ vars.VPS_USER }}
|
||||
VPS_PATH: ${{ vars.VPS_PATH }}
|
||||
run: |
|
||||
ssh \
|
||||
-p "$VPS_PORT" \
|
||||
-i ~/.ssh/id_ed25519 \
|
||||
-o IdentitiesOnly=yes \
|
||||
"$VPS_USER@$VPS_HOST" \
|
||||
"test -d '$VPS_PATH' && test -w '$VPS_PATH'"
|
||||
|
||||
- name: Déployer sur le VPS
|
||||
env:
|
||||
VPS_HOST: ${{ vars.VPS_HOST }}
|
||||
VPS_PORT: ${{ vars.VPS_PORT }}
|
||||
VPS_USER: ${{ vars.VPS_USER }}
|
||||
VPS_PATH: ${{ vars.VPS_PATH }}
|
||||
run: |
|
||||
rsync -rz \
|
||||
--no-perms \
|
||||
--no-owner \
|
||||
--no-group \
|
||||
--omit-dir-times \
|
||||
--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r \
|
||||
--exclude=".git/" \
|
||||
--exclude=".gitea/" \
|
||||
--exclude=".env" \
|
||||
--exclude="uploads/" \
|
||||
--exclude="logs/" \
|
||||
--exclude="storage/" \
|
||||
-e "ssh -p $VPS_PORT -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes" \
|
||||
./ \
|
||||
"$VPS_USER@$VPS_HOST:$VPS_PATH/"
|
||||
110
.gitignore
vendored
110
.gitignore
vendored
@@ -1 +1,111 @@
|
||||
# ----------------------
|
||||
# Personnalisé / PHP MVC
|
||||
# ----------------------
|
||||
# **/module/
|
||||
**/.env
|
||||
**/*.local
|
||||
**/*.config
|
||||
**/config/database.php
|
||||
**/documents
|
||||
**/Libs
|
||||
|
||||
# ----------------------
|
||||
# Node.js
|
||||
# ----------------------
|
||||
node_modules/
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
|
||||
# ----------------------
|
||||
# Python
|
||||
# ----------------------
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*.pyo
|
||||
*.pyd
|
||||
env/
|
||||
venv/
|
||||
*.egg-info/
|
||||
|
||||
# ----------------------
|
||||
# Java
|
||||
# ----------------------
|
||||
*.class
|
||||
*.jar
|
||||
*.war
|
||||
*.ear
|
||||
target/
|
||||
.idea/
|
||||
*.iml
|
||||
|
||||
# ----------------------
|
||||
# Visual Studio
|
||||
# ----------------------
|
||||
.vs/
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# ----------------------
|
||||
# macOS
|
||||
# ----------------------
|
||||
.DS_Store
|
||||
|
||||
# ----------------------
|
||||
# Windows
|
||||
# ----------------------
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
Desktop.ini
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# ----------------------
|
||||
# Logs
|
||||
# ----------------------
|
||||
*.log
|
||||
|
||||
# ----------------------
|
||||
# IDE-specific files
|
||||
# ----------------------
|
||||
.idea/
|
||||
.vscode/
|
||||
*.sublime-project
|
||||
*.sublime-workspace
|
||||
|
||||
# ----------------------
|
||||
# Other temporary / backup files
|
||||
# ----------------------
|
||||
*.bak
|
||||
*.tmp
|
||||
*.swp
|
||||
*.orig
|
||||
*.diff
|
||||
*.patch
|
||||
*.sqlite
|
||||
*.db
|
||||
*.tar.gz
|
||||
*.zip
|
||||
|
||||
# ----------------------
|
||||
# Documentation
|
||||
# ----------------------
|
||||
*.pdf
|
||||
*.docx
|
||||
|
||||
# ----------------------
|
||||
# Images
|
||||
# ----------------------
|
||||
# *.png
|
||||
# *.jpg
|
||||
# *.jpeg
|
||||
*.gif
|
||||
|
||||
# ----------------------
|
||||
# Output / build directories
|
||||
# ----------------------
|
||||
# dist/
|
||||
build/
|
||||
out/
|
||||
|
||||
5
activite.php
Normal file
5
activite.php
Normal file
@@ -0,0 +1,5 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./vue/activite.html');
|
||||
include_once('./vue/footer.html');
|
||||
?>
|
||||
@@ -1,10 +1,9 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./modele/connexion_sql.php');
|
||||
|
||||
include_once('./config/connexion_sql.php');
|
||||
if (!isset($_GET['section']) OR $_GET['section'] == 'index')
|
||||
{
|
||||
include_once('./controleur/actualite/index.php');
|
||||
include_once('./controleur/actualite.php');
|
||||
}
|
||||
include_once('./vue/footer.html');
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./vue/information/centre/index.html');
|
||||
include_once('./vue/centre.html');
|
||||
include_once('./vue/footer.html');
|
||||
?>
|
||||
16
config/connexion_sql.php
Normal file
16
config/connexion_sql.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
$env = parse_ini_file(__DIR__ . '/../.env');
|
||||
|
||||
if ($env === false) { die('Impossible de charger le fichier .env'); }
|
||||
|
||||
try {
|
||||
$dsn = sprintf('mysql:host=%s;port=%s;dbname=%s;charset=%s', $env['DB_HOST'], $env['DB_PORT'], $env['DB_NAME'], $env['DB_CHARSET']);
|
||||
$bdd = new PDO( $dsn, $env['DB_USER'], $env['DB_PASS'],
|
||||
[
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
]
|
||||
);
|
||||
} catch (PDOException $e) { die('Erreur : ' . $e->getMessage()); }
|
||||
9
config/constants.php
Normal file
9
config/constants.php
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
define('VISITEUR',1);
|
||||
define('INSCRIT',2);
|
||||
define('MODO',3);
|
||||
define('ADMIN',4);
|
||||
define('ERR_IS_CO','Vous ne pouvez pas accéder à cette page si vous n\'êtes pas connecté');
|
||||
?>
|
||||
|
||||
|
||||
68
config/functions.php
Normal file
68
config/functions.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
function erreur($err='')
|
||||
{
|
||||
$mess=($err!='')? $err:'Une erreur inconnue s\'est produite';
|
||||
exit('
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<h2>Vous êtes pas autorisé a passer ici</h2><br>
|
||||
<p> '.$mess.' </p>
|
||||
<p>Cliquez <a href="./espace_membre.php">ici</a> pour revenir à la page d\'accueil</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>');
|
||||
}
|
||||
function edit_avatar($avatar, $pseudo)
|
||||
{
|
||||
if (isset ($avatar)){
|
||||
$imagename = $avatar['name'];// exemple.png
|
||||
$source = $avatar['tmp_name'];// /volume1/@tmp/phpiES0qN
|
||||
$locate = "./images/avatars/".$pseudo."/";
|
||||
$dir = $locate."img_user.jpeg";
|
||||
move_uploaded_file($source,$dir);
|
||||
changeToJpeg($dir,$dir);
|
||||
resize_avatar($dir,$dir);
|
||||
$rdir = substr($dir,1);
|
||||
return $rdir;
|
||||
}
|
||||
}
|
||||
|
||||
function changeToJpeg($source, $dir)
|
||||
{
|
||||
$ext = substr($_FILES['avatar']['type'],6); //jpeg
|
||||
switch($ext) {
|
||||
case 'jpg':
|
||||
$image = imagecreatefromjpeg($source);
|
||||
break;
|
||||
|
||||
case 'jpeg':
|
||||
$image = imagecreatefromjpeg($source);
|
||||
break;
|
||||
|
||||
case 'png':
|
||||
$image = imagecreatefrompng($source);
|
||||
break;
|
||||
|
||||
case 'gif':
|
||||
$image = imagecreatefromgif($source);
|
||||
break;
|
||||
default:
|
||||
throw new Exception('Unknown image type.');
|
||||
}
|
||||
imagejpeg($image, $dir);
|
||||
}
|
||||
|
||||
function resize_avatar($dir,$out )
|
||||
{
|
||||
list($width, $height) = getimagesize($dir);
|
||||
$modwidth = 150; //target width
|
||||
$diff = $width / $modwidth;
|
||||
$modheight = $height / $diff;
|
||||
|
||||
$tn = imagecreatetruecolor($modwidth, $modheight);
|
||||
$image = imagecreatefromjpeg($dir);
|
||||
imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height);
|
||||
imagejpeg($tn, $out);
|
||||
}
|
||||
?>
|
||||
12
config/init.php
Normal file
12
config/init.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
if (session_status() === PHP_SESSION_NONE) {
|
||||
session_start();
|
||||
}
|
||||
|
||||
include_once(__DIR__ . '/constants.php');
|
||||
include_once(__DIR__ . '/functions.php');
|
||||
|
||||
$lvl = isset($_SESSION['privilege']) ? (int)$_SESSION['privilege'] : 1;
|
||||
$id = isset($_SESSION['ideleve']) ? (int)$_SESSION['ideleve'] : 0;
|
||||
$pseudo = isset($_SESSION['pseudo']) ? $_SESSION['pseudo'] : '';
|
||||
?>
|
||||
@@ -1,9 +1,8 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./modele/connexion_sql.php');
|
||||
|
||||
include_once('./config/connexion_sql.php');
|
||||
if (!isset($_GET['section']) OR $_GET['section'] == 'index')
|
||||
{
|
||||
include_once('./controleur/membre/connexion/index.php');
|
||||
include_once('./controleur/membre/connexion.php');
|
||||
}
|
||||
include_once('./vue/footer.html');
|
||||
|
||||
18
controleur/actualite.php
Normal file
18
controleur/actualite.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
// On demande les 5 derniers billets (mod<6F>le)
|
||||
include_once('./modele/actualite.php');
|
||||
$event1 = get_News(0, 5);
|
||||
// On effectue du traitement sur les donn<6E>es (contr<74>leur)
|
||||
// Ici, on doit surtout s<>curiser l'affichage
|
||||
foreach($event1 as $cle => $event)
|
||||
{
|
||||
$event1[$cle]['nom'] = ($event['nom']);
|
||||
$event1[$cle]['dateevent'] = ($event['dateevent']);
|
||||
$event1[$cle]['imageevent'] = ($event['imageevent']);
|
||||
$event1[$cle]['lieu'] = ($event['lieu']);
|
||||
$event1[$cle]['description'] = ($event['description']);
|
||||
|
||||
}
|
||||
// On affiche la page (vue)
|
||||
include_once('./vue/actualite.php');
|
||||
18
controleur/evenement.php
Normal file
18
controleur/evenement.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
// On demande les 5 derniers billets (modèle)
|
||||
include_once('./modele/evenement.php');
|
||||
$eventsAll = get_events(0, 5);
|
||||
// On effectue du traitement sur les données (controleur)
|
||||
// Ici, on doit surtout sécuriser l'affichage
|
||||
foreach($eventsAll as $cle => $event)
|
||||
{
|
||||
$events[$cle]['nom'] = ($event['nom']);
|
||||
$events[$cle]['dateevent'] = ($event['dateevent']);
|
||||
$events[$cle]['imageevent'] = ($event['imageevent']);
|
||||
$events[$cle]['lieu'] = ($event['lieu']);
|
||||
$events[$cle]['description'] = ($event['description']);
|
||||
}
|
||||
|
||||
// On affiche la page (vue)
|
||||
include_once('./vue/evenement.php');
|
||||
75
controleur/membre/connexion.php
Normal file
75
controleur/membre/connexion.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
include_once('./modele/membre/connexion.php');
|
||||
$titre="Connexion";
|
||||
if ($id!=0) erreur(ERR_IS_CO);
|
||||
if (!isset($_POST['pseudo'])) { //Page de formulaire
|
||||
?>
|
||||
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<h2>Connexion</h2>
|
||||
<form method="post" action="connexion.php">
|
||||
<br><fieldset>
|
||||
<label class="labelI" for="pseudo">Pseudo :</label><br><input name="pseudo" type="text" id="pseudo" /><br>
|
||||
<label class="labelI" for="password">Mot de passe :</label><br><input type="password" name="password" id="password" />
|
||||
</fieldset><br>
|
||||
<p class="btns"><input type="submit" value="Connexion" class="button-3" /></p>
|
||||
</form>
|
||||
<a href="./inscription.php">Pas encore inscrit ?</a><br><br>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
else { //Check de l'identification
|
||||
$message='';
|
||||
$data = check_Password();
|
||||
if (empty($_POST['pseudo']) || empty($_POST['password']) ) {
|
||||
|
||||
$message = '
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<h2>Echec de connexion</h2><br>
|
||||
<p>Une erreur s\'est produite pendant votre identification!</p>
|
||||
<p>Vous devez remplir tous les champs</p>
|
||||
<p>Cliquez <a href="./connexion.php">ici</a> pour revenir à la page de connexion.</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>';
|
||||
}
|
||||
else { //Validation de l'accès
|
||||
if ($data['mdp'] == /*md5*/($_POST['password'])) {
|
||||
$_SESSION['pseudo'] = $data['pseudo'];
|
||||
$_SESSION['privilege'] = $data['privilege'];
|
||||
$_SESSION['ideleve'] = $data['ideleve'];
|
||||
|
||||
$message = '
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<h2>Connexion réussie!</h2><br>
|
||||
<p>Bienvenue '.$data['pseudo'].',<br>Vous êtes maintenant connecté!</p>
|
||||
<p>Cliquez <a href="./espace_membre.php">ici</a> pour accéder a votre espace membre!</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>';
|
||||
}
|
||||
else {
|
||||
$message = '
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<h2>Echec de connexion</h2><br>
|
||||
<p>Une erreur s\'est produite pendant votre identification!</p>
|
||||
<p>Le mot de passe ou le pseudo entré n\'est pas correct.</p>
|
||||
<p>Cliquez <a href="./connexion.php">ici</a> pour revenir à la page de connexion.</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
echo $message;
|
||||
}
|
||||
include_once('./vue/membre/connexion.php');
|
||||
23
controleur/membre/espace.php
Normal file
23
controleur/membre/espace.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
include_once('./modele/membre/espace.php');
|
||||
$titre = "Index du forum";
|
||||
//Initialisation de deux variables
|
||||
$totaldesmessages = 0;
|
||||
$categorie = NULL;
|
||||
$TotalDesMembres = get_MemberCount();
|
||||
$data = get_LastMember();
|
||||
$derniermembre = stripslashes(htmlspecialchars($data['pseudo']));
|
||||
?>
|
||||
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<h2>Espace Membre</h2><br>
|
||||
<h5>Qui est en ligne ?</h5>
|
||||
<p>Le site comptent <strong> <?php echo $TotalDesMembres;?></strong> membres.</p><br>
|
||||
<a href="./profil.php?m=<?php echo $data['ideleve']?>&action=consulter"><?php echo $derniermembre;?></a> est le dernier membre.</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<?php
|
||||
include_once('./vue/membre/espace.php');
|
||||
117
controleur/membre/inscription.php
Normal file
117
controleur/membre/inscription.php
Normal file
@@ -0,0 +1,117 @@
|
||||
<?php
|
||||
include_once('./modele/membre/inscription.php');
|
||||
$titre="Enregistrement";
|
||||
if ($id!=0) erreur(ERR_IS_CO);
|
||||
if (empty($_POST['pseudo'])) // Si on la variable est vide, on peut considérer qu'on est sur la page de formulaire
|
||||
{
|
||||
?>
|
||||
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<h2>Inscription</h2>
|
||||
<form method="post" action="inscription.php" enctype="multipart/form-data">
|
||||
<label class="labelI" >*Pseudo</label><br><input name="pseudo" type="text" id="pseudo" placeholder=" Entre 3 à 15 caractères"/><br><br>
|
||||
<label class="labelI" for="password">*Mot de Passe :</label><input type="password" name="password" id="password" placeholder="Mot de passe"/>
|
||||
<label class="labelI" for="confirm">*Confirmer :</label><input type="password" name="confirm" id="confirm" placeholder="Confirmation"/><br>
|
||||
</fieldset>
|
||||
<label class="labelI" for="email">*Votre adresse email :</label><br><input type="email" name="email" id="email" placeholder="email@mail.fr"/><br>
|
||||
</fieldset>
|
||||
<label class="labelI" for="localisation">Localisation :</label><br><input type="text" name="localisation" id="localisation" placeholder="Adresse" /><br>
|
||||
<label class="labelI" for="prenom">Prenom :</label><br><input type="text" name="prenom" id="prenom" placeholder="Prénom"/><br>
|
||||
<label class="labelI" for="nom">Nom :</label><br><input type="text" name="nom" id="nom" placeholder="Nom"/><br>
|
||||
<label class="labelI" for="sexe">Sexe :</label><br>
|
||||
<div><input type="radio" id="femme" name="sexe" value="FEMME" checked><label for="femme">Femme</label>
|
||||
<input type="radio" id="homme" name="sexe" value="HOMME"><label for="homme">Homme</label></div>
|
||||
<label class="labelI" for="age">Age :</label><br><input type="number" name="age" id="age" min="5" max="90" placeholder="Age"/><br>
|
||||
<fieldset>
|
||||
<label class="labelI" for="galop">Galop :</label><br><input type="number" name="galop" id="galop" min="0" max="7" placeholder="1 à 7"/><br>
|
||||
</fieldset>
|
||||
<fieldset><legend class="colorbold marg3 pad1">Profil sur le forum</legend>
|
||||
<label for="avatar">Choisissez votre avatar :</label><br><input type="file" name="avatar" id="avatar" accept=".png, .jpg, .jpeg, gif" /><br>
|
||||
</fieldset><br>
|
||||
<p class="btns"><input type="submit" value="S'inscrire" class="button-3"/></p><br>
|
||||
<p>Les champs précédés d'un * sont obligatoires</p>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
else //On est dans le cas traitement
|
||||
{
|
||||
$pseudo_erreur1 = NULL;$pseudo_erreur2 = NULL;
|
||||
$email_erreur1 = NULL;
|
||||
$mdp_erreur = NULL;
|
||||
$avatar_erreur3 = NULL;
|
||||
//On récupère les variables
|
||||
$i = 0;
|
||||
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
|
||||
$pseudo=$_POST['pseudo'];
|
||||
$email = $_POST['email'];
|
||||
$localisation = $_POST['localisation'];
|
||||
$prenom = $_POST['prenom'];
|
||||
$nom = $_POST['nom'];
|
||||
$pass = /*md5*/($_POST['password']);
|
||||
$confirm = /*md5*/($_POST['confirm']);
|
||||
//Verification des champs formulaire
|
||||
$pseudo_free = get_checkPseudo();
|
||||
if(!$pseudo_free)
|
||||
{
|
||||
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
|
||||
$i++;
|
||||
}
|
||||
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
|
||||
{
|
||||
$pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
|
||||
$i++;
|
||||
}
|
||||
if ($pass != $confirm || empty($confirm) || empty($pass))
|
||||
{
|
||||
$mdp_erreur = "Votre mot de passe et la confirmation sont diffèrent, ou sont vides";
|
||||
$i++;
|
||||
}
|
||||
$mail_free = get_checkMail();
|
||||
if(!$mail_free)
|
||||
{
|
||||
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
|
||||
$i++;
|
||||
}
|
||||
$extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
|
||||
if (!in_array($extension_upload,$extensions_valides) )
|
||||
{
|
||||
$avatar_erreur3 = "Extension de l'avatar incorrecte";
|
||||
$i++;
|
||||
}
|
||||
if ($i==0)
|
||||
{
|
||||
?>
|
||||
<div class="text-center">
|
||||
<h2>Inscription terminée</h2>
|
||||
<p>Bienvenue <?php echo stripslashes(htmlspecialchars($_POST['pseudo'])); ?> vous êtes maintenant inscrit sur le forum!</p>
|
||||
<p>Cliquez <a href="./espace_membre.php">ici</a> pour revenir dans votre espace membre</p>
|
||||
</div>
|
||||
<?php
|
||||
post_Registre();
|
||||
//Et on définit les variables de sessions
|
||||
$_SESSION['pseudo'] = $pseudo;
|
||||
$_SESSION['ideleve'] = $bdd->lastInsertId();
|
||||
$_SESSION['privilege'] = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
<div class="text-center"><h2>Inscription interrompue</h2><br>
|
||||
<h5><?php echo $i; ?> erreurs se sont produites lors de votre incription</h5><br>
|
||||
<ul>
|
||||
<p><?php echo $email_erreur1; ?></p>
|
||||
<p><?php echo $pseudo_erreur1; $pseudo_erreur2; ?></p>
|
||||
<p><?php echo $mdp_erreur; ?></p>
|
||||
<p><?php echo $avatar_erreur3; ?></p>
|
||||
</ul><br>
|
||||
<p>Cliquez <a href="./inscription.php">ici</a> pour recommencer</p>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
include_once('./vue/membre/inscription.php');
|
||||
189
controleur/membre/profil.php
Normal file
189
controleur/membre/profil.php
Normal file
@@ -0,0 +1,189 @@
|
||||
<?php
|
||||
include_once('./modele/membre/profil.php');
|
||||
$titre="Profil";
|
||||
//On récupère la valeur de nos variables passées par URL
|
||||
$action = isset($_GET['action'])?htmlspecialchars($_GET['action']):'consulter';
|
||||
$membre = isset($_GET['m'])?(int) $_GET['m']:'';
|
||||
switch($action)
|
||||
{
|
||||
case "consulter":
|
||||
//On affiche les infos sur le membre
|
||||
$data = get_MemberInfo();
|
||||
?>
|
||||
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<h2>Profil</h2><br>
|
||||
<strong>Pseudo</strong><br>
|
||||
<?php echo stripslashes(htmlspecialchars($data['pseudo'])); ?><br><br>
|
||||
<strong>Avatar</strong><br>
|
||||
<img src=".<?php echo $data['imageeleve']; ?>" alt="Acun avatar" /><br><br>
|
||||
<p class="text-2" >
|
||||
<strong>Email</strong><br>
|
||||
<a class=link2 href="mailto:<?php echo stripslashes($data['adressemail']); ?>"> <?php echo stripslashes(htmlspecialchars($data['adressemail'])); ?></a><br/>
|
||||
<strong>Prénom</strong><br>
|
||||
<?php echo stripslashes(htmlspecialchars($data['prenom'])); ?><br>
|
||||
<strong>Nom</strong><br>
|
||||
<?php echo stripslashes(htmlspecialchars($data['nom'])); ?><br>
|
||||
<strong>Age</strong><br>
|
||||
<?php echo stripslashes(htmlspecialchars($data['age'])); ?><br>
|
||||
<strong>Galop</strong><br>
|
||||
<?php echo stripslashes(htmlspecialchars($data['galop'])); ?><br>
|
||||
<strong>Adresse</strong><br>
|
||||
<?php echo stripslashes(htmlspecialchars($data['adresse'])); ?><br><br>
|
||||
<strong>Inscrit depuis :</strong><br>
|
||||
<?php echo date('d F Y', strtotime(str_replace('/','-',$data['dateenregistre']))); ?><br/><br/>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<?php
|
||||
break;
|
||||
case "modifier":
|
||||
if (empty($_POST['sent'])) // Si on la variable est vide, on peut considérer qu'on est sur la page de formulaire
|
||||
{
|
||||
//On commence par s'assurer que le membre est connecté
|
||||
//if ($id==0) erreur(ERR_IS_NOT_CO);
|
||||
//Les infos du membre
|
||||
$data = get_MemberInfoId();
|
||||
?>
|
||||
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<form method="post" action="profil.php?action=modifier" enctype="multipart/form-data">
|
||||
<h2>Edition du profil de <?php echo stripslashes(htmlspecialchars($data['pseudo']));?></h2><br>
|
||||
<fieldset>
|
||||
<h3 class="labelI" for="password">Mot de passe</h3>
|
||||
<label class="labelI" for="password">Nouveau mot de passe</label><br>
|
||||
<input type="password" name="password" id="password" /><br>
|
||||
<label class="labelI" for="confirm">*Confirmation du mot de passe</label><br>
|
||||
<input type="password" name="confirm" id="confirm" /><br>
|
||||
</fieldset><br><br>
|
||||
<fieldset><h2 class=colorbold marg3 pad1>Contacts</h2>
|
||||
<label class="labelI" for="email">Adresse email</label><br>
|
||||
<input type="text" name="email" id="email" value="<?php echo stripslashes($data['adressemail']); ?>" /><br>
|
||||
</fieldset><br><br>
|
||||
<fieldset><h2 class=colorbold marg3 pad1>Informations supplémentaires</h2>
|
||||
<label class="labelI" for="prenom">Prénom</label><br>
|
||||
<input type="text" name="prenom" id="prenom" readonly="readonly" value="<?php echo stripslashes($data['prenom']); ?>" /><br>
|
||||
<label class="labelI" for="nom">Nom</label><br>
|
||||
<input type="text" name="nom" id="nom" readonly="readonly" value="<?php echo stripslashes($data['nom']); ?>" /><br>
|
||||
<label class="labelI" for="age">Age</label><br>
|
||||
<input type="number" name="age" id="age" readonly="readonly" value="<?php echo stripslashes($data['age']); ?>" /><br>
|
||||
<label class="labelI" for="galop">Galop</label><br>
|
||||
<input type="number" name="galop" id="galop" readonly="readonly" value="<?php echo stripslashes($data['galop']); ?>" /><br>
|
||||
<label class="labelI" for="localisation">Localisation</label><br>
|
||||
<input type="text" name="localisation" id="localisation" value="<?php echo stripslashes($data['adresse']); ?>" />
|
||||
</fieldset><br><br>
|
||||
<fieldset><h2 class=colorbold marg3 pad1>Profil sur le forum</h2>
|
||||
<label class="labelI" for="avatar">Avatar actuel</label><br>
|
||||
<img src=".<?php echo $data['imageeleve'];?>" alt="pas d avatar" /><br><br>
|
||||
<strong class="labelI" for="avatar">Nouvelle image : </strong>
|
||||
<input type="file" name="avatar" id="avatar" accept=".png, .jpg, .jpeg, gif" /><br><br>
|
||||
<strong><input type="checkbox" name="delete" value="Delete" /> Supprimer mon avatar</strong>
|
||||
</fieldset><br>
|
||||
<p>
|
||||
<input type="submit" value="Modifier mon profil" class="button-3"/><br>
|
||||
<input type="hidden" id="sent" name="sent" value="1" />
|
||||
</p><br>
|
||||
<strong>Les champs avec une * sont obligatoires</strong><br><br>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
else //Sinon on est dans la page de traitement
|
||||
{
|
||||
//On déclare les variables
|
||||
$mdp_erreur = NULL;
|
||||
$email_erreur1 = NULL;
|
||||
$avatar_erreur3 = NULL;
|
||||
//Encore et toujours notre belle variable $i :p
|
||||
$i = 0;
|
||||
$temps = time();
|
||||
$email = $_POST['email'];
|
||||
$localisation = $_POST['localisation'];
|
||||
$pass = /*md5*/($_POST['password']);
|
||||
$confirm = /*md5*/($_POST['confirm']);
|
||||
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
|
||||
//Vérification des champs du formulaire
|
||||
if ($pass != $confirm || empty($confirm) || empty($pass))
|
||||
{
|
||||
$mdp_erreur = "Votre mot de passe et votre confirmation sont different ou sont vides";
|
||||
$i++;
|
||||
}
|
||||
$data = get_checkMail();
|
||||
if (strtolower($data['adressemail']) != strtolower($email))
|
||||
{
|
||||
$mail_free = get_checkCopyMail();
|
||||
if(!$mail_free)
|
||||
{
|
||||
$email_erreur1 = "Votre adresse email est déjà utilisé par un membre";
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
$data = get_Pseudo();
|
||||
$extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
|
||||
if (!in_array($extension_upload,$extensions_valides) )
|
||||
{
|
||||
$i++;
|
||||
$avatar_erreur3 = "Extension de l'avatar incorrecte";
|
||||
}
|
||||
if ($i == 0) // Si $i est vide, il n'y a pas d'erreur sur l'avatar
|
||||
{
|
||||
if (!empty($_FILES['avatar']['size']))
|
||||
{
|
||||
post_UpdateAvatar($data['pseudo']);
|
||||
}
|
||||
if (isset($_POST['delete']))
|
||||
{
|
||||
post_RemoveAvatar();
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<h2>Modification de profil terminée</h2><br>
|
||||
<p>Votre profil a été modifié avec succès !</p>
|
||||
<p>Cliquez <a href="./profil.php?action=modifier">ici</a>
|
||||
pour revenir à ton profil</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<?php
|
||||
//On modifie la table
|
||||
post_UpdateMember();
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
|
||||
<div class="container-fluid">
|
||||
<section id="content" class="page-content">
|
||||
<div class="container text-center">
|
||||
<h2>Modification de profil interrompue</h2><br>
|
||||
<h5><?php echo $i; ?> erreurs se sont produites lors de votre modification</h5>
|
||||
<ul>
|
||||
<?php
|
||||
echo'<p>' .$email_erreur1. '' .$email_erreur2. '</p>
|
||||
<p>' .$avatar_erreur. '' .$avatar_erreur1. '</p>
|
||||
<p>' .$avatar_erreur2. '' .$avatar_erreur3. '</p>
|
||||
<p>' .$mdp_erreur. '</p>';
|
||||
?>
|
||||
</ul>
|
||||
<p> Cliquez <a href="./profil.php?action=modifier">ici</a> pour recommencer</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
break;
|
||||
default; //Si jamais c'est aucun de ceux là c'est qu'il y a eu un problème :o
|
||||
echo'<p>Cette action est impossible</p>';
|
||||
}
|
||||
include_once('./vue/membre/profil.php');
|
||||
51
controleur/vitrine.php
Normal file
51
controleur/vitrine.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
// On demande les 5 derniers billets (modèle)
|
||||
include_once('./modele/vitrine.php');
|
||||
$articlesCav = get_ArticlesCavalier(0, 3);
|
||||
// On effectue du traitement sur les données (controleur)
|
||||
// Ici, on doit surtout sécuriser l'affichage
|
||||
foreach($articlesCav as $cle => $article)
|
||||
{
|
||||
$articles[$cle]['imagearticle'] = ($article['imagearticle']);
|
||||
$articles[$cle]['libelle'] = ($article['libelle']);
|
||||
$articles[$cle]['description'] = ($article['description']);
|
||||
}
|
||||
$articlesChvT = get_ArticlesChevalT(0, 3);
|
||||
// On effectue du traitement sur les données (controleur)
|
||||
// Ici, on doit surtout sécuriser l'affichage
|
||||
foreach($articlesChvT as $cle => $article)
|
||||
{
|
||||
$articles[$cle]['imagearticle'] = ($article['imagearticle']);
|
||||
$articles[$cle]['libelle'] = ($article['libelle']);
|
||||
$articles[$cle]['description'] = ($article['description']);
|
||||
}
|
||||
$articlesChvR = get_ArticlesChevalR(0, 3);
|
||||
// On effectue du traitement sur les données (controleur)
|
||||
// Ici, on doit surtout sécuriser l'affichage
|
||||
foreach($articlesChvR as $cle => $article)
|
||||
{
|
||||
$articles[$cle]['imagearticle'] = ($article['imagearticle']);
|
||||
$articles[$cle]['libelle'] = ($article['libelle']);
|
||||
$articles[$cle]['description'] = ($article['description']);
|
||||
}
|
||||
$categories = get_ArticlesCat(0, 3);
|
||||
// On effectue du traitement sur les données (controleur)
|
||||
// Ici, on doit surtout sécuriser l'affichage
|
||||
foreach($categories as $cle => $categorie)
|
||||
{
|
||||
$categories[$cle]['idcategorie'] = ($categorie['idcategorie']);
|
||||
$categories[$cle]['libelle'] = ($categorie['libelle']);
|
||||
}
|
||||
$articles = get_Articles(0, 3);
|
||||
// On effectue du traitement sur les données (controleur)
|
||||
// Ici, on doit surtout sécuriser l'affichage
|
||||
foreach($articles as $cle => $article)
|
||||
{
|
||||
$articles[$cle]['imagearticle'] = ($article['imagearticle']);
|
||||
$articles[$cle]['libelle'] = ($article['libelle']);
|
||||
$articles[$cle]['description'] = ($article['description']);
|
||||
$articles[$cle]['idcategorie'] = ($article['idcategorie']);
|
||||
}
|
||||
// On affiche la page (vue)
|
||||
include_once('./vue/vitrine.php');
|
||||
11753
css/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css
vendored
Normal file
11753
css/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,81 +1,39 @@
|
||||
.bg1 {
|
||||
background:#f7f5e2;
|
||||
}
|
||||
header {
|
||||
background-image:url("../images/autres/footer.jpg");
|
||||
}
|
||||
footer {
|
||||
background-image:url("../images/autres/footer.jpg");
|
||||
margin: 0 auto;
|
||||
overflow:hidden;
|
||||
}
|
||||
.container-fluid{
|
||||
min-height: 80vh;
|
||||
margin:0 !important;
|
||||
padding:0 !important;
|
||||
}
|
||||
.bg1 { background:#f7f5e2; }
|
||||
header { background-image:url("../images/autres/footer.jpg"); }
|
||||
footer { background-image:url("../images/autres/footer.jpg"); margin:0 auto; overflow:hidden; }
|
||||
|
||||
.numbox{
|
||||
background-image:url("../images/autres/calendrier.png");
|
||||
width:72px;
|
||||
height:78px;
|
||||
overflow:hidden;
|
||||
float:left;
|
||||
margin: 0 19px 0px 10px;
|
||||
width:72px; height:78px; overflow:hidden; float:left;
|
||||
margin:0 19px 0 10px;
|
||||
}
|
||||
.numbox span{
|
||||
font:18px/22px 'IM Fell French Canon', sans-serif;
|
||||
color:#fff;
|
||||
font-style:italic;
|
||||
text-align:center;
|
||||
margin-top:4px;
|
||||
display:block;
|
||||
color:#fff; font-style:italic; text-align:center; margin-top:4px; display:block;
|
||||
}
|
||||
.numbox strong{
|
||||
font:30px/36px Georgia, "Times New Roman", Times, serif;
|
||||
color:#f6a82d;
|
||||
font-weight:bold;
|
||||
text-align:center;
|
||||
margin-top:-1px;
|
||||
display:block;
|
||||
}
|
||||
.img-thumbnailShop{
|
||||
display: block;
|
||||
}
|
||||
.img-thumbnailEvent{
|
||||
display: block;
|
||||
color:#f6a82d; font-weight:bold; text-align:center; margin-top:-1px; display:block;
|
||||
}
|
||||
.img-thumbnailShop, .img-thumbnailEvent, .img-thumbnailEventCat { display:block; }
|
||||
.clear { clear:both; line-height:0; font-size:0; }
|
||||
.map-responsive { overflow:hidden; padding-bottom:56.25%; position:relative; }
|
||||
.map-responsive iframe { left:0; top:0; position:absolute; }
|
||||
|
||||
.img-thumbnailEventCat{
|
||||
display: block;
|
||||
}
|
||||
.clear {
|
||||
clear:both;
|
||||
line-height:0;
|
||||
font-size:0;
|
||||
}
|
||||
.map-responsive {
|
||||
overflow:hidden;
|
||||
padding-bottom:56.25%;
|
||||
position:relative;
|
||||
}
|
||||
/* --- Carousel --- */
|
||||
|
||||
.map-responsive iframe {
|
||||
left:0;
|
||||
top:0;
|
||||
position:absolute;
|
||||
}
|
||||
.carousel {
|
||||
height: 60%;
|
||||
}
|
||||
.carousel-indicators li {
|
||||
/* BS5: les indicateurs sont des <button data-bs-target="..."> */
|
||||
.carousel-indicators [data-bs-target] {
|
||||
background-color: gray !important;
|
||||
}
|
||||
.carousel-indicators .active {
|
||||
background-color: black !important;
|
||||
}
|
||||
|
||||
/* BS5: les icônes sont des SVG en background-image -> background-color n’a plus d’effet.
|
||||
Pour les “griser”, utiliser un filter (minimaliste) */
|
||||
.carousel-control-prev-icon,
|
||||
.carousel-control-next-icon{
|
||||
background-color: gray!important;
|
||||
}
|
||||
.carousel-control-prev-icon{
|
||||
background-color: gray!important;
|
||||
/* background-color: gray !important; <-- obsolète en BS5 */
|
||||
filter: invert(50%) grayscale(100%);
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./modele/connexion_sql.php');
|
||||
|
||||
include_once('./config/connexion_sql.php');
|
||||
if (!isset($_GET['section']) OR $_GET['section'] == 'index')
|
||||
{
|
||||
include_once('./controleur/membre/espace/index.php');
|
||||
include_once('./controleur/membre/espace.php');
|
||||
}
|
||||
include_once('./vue/footer.html');
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./modele/connexion_sql.php');
|
||||
include_once('./config/connexion_sql.php');
|
||||
|
||||
if (!isset($_GET['section']) OR $_GET['section'] == 'index')
|
||||
{
|
||||
include_once('./controleur/evenement/index.php');
|
||||
include_once('./controleur/evenement.php');
|
||||
}
|
||||
include_once('./vue/footer.html');
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
images/avatars/defghjy/img_user.jpeg
Normal file
BIN
images/avatars/defghjy/img_user.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
BIN
images/avatars/fedzgrr/img_user.jpeg
Normal file
BIN
images/avatars/fedzgrr/img_user.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
BIN
images/avatars/sa/img_user.jpeg
Normal file
BIN
images/avatars/sa/img_user.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./vue/home/index.html');
|
||||
include_once('./vue/home.html');
|
||||
include_once('./vue/contact.html');
|
||||
include_once('./vue/footer.html');
|
||||
?>
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./modele/connexion_sql.php');
|
||||
|
||||
include_once('./config/connexion_sql.php');
|
||||
if (!isset($_GET['section']) OR $_GET['section'] == 'index')
|
||||
{
|
||||
include_once('./controleur/membre/inscription/index.php');
|
||||
include_once('./controleur/membre/inscription.php');
|
||||
}
|
||||
include_once('./vue/footer.html');
|
||||
|
||||
7
js/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js
vendored
Normal file
7
js/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
js/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js.map
vendored
Normal file
1
js/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
12
modele/actualite.php
Normal file
12
modele/actualite.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
function get_News()
|
||||
{
|
||||
global $bdd;
|
||||
|
||||
$req = $bdd->prepare('SELECT * FROM Event WHERE lieu="ORVEAU" ');
|
||||
$req->execute();
|
||||
$event1 = $req->fetchAll();
|
||||
|
||||
|
||||
return $event1;
|
||||
}
|
||||
12
modele/evenement.php
Normal file
12
modele/evenement.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
function get_events()
|
||||
{
|
||||
global $bdd;
|
||||
|
||||
$req = $bdd->prepare('SELECT * FROM Event WHERE dateevent > TO_DAYS(NOW()) AND idtype <> 1 ORDER BY dateevent ASC');
|
||||
$req->execute();
|
||||
$eventsAll = $req->fetchAll();
|
||||
|
||||
|
||||
return $eventsAll;
|
||||
}
|
||||
64
modele/vitrine.php
Normal file
64
modele/vitrine.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
function get_ArticlesCavalier()
|
||||
{
|
||||
global $bdd;
|
||||
|
||||
$req = $bdd->prepare('SELECT * FROM Article');
|
||||
$req->execute();
|
||||
$articlesCav = $req->fetchAll();
|
||||
|
||||
|
||||
return $articlesCav;
|
||||
}
|
||||
|
||||
|
||||
function get_ArticlesChevalT()
|
||||
{
|
||||
global $bdd;
|
||||
|
||||
$req = $bdd->prepare('SELECT * FROM Article WHERE idcategorie=2');
|
||||
$req->execute();
|
||||
$articlesChvT = $req->fetchAll();
|
||||
|
||||
|
||||
return $articlesChvT;
|
||||
}
|
||||
|
||||
|
||||
function get_ArticlesChevalR()
|
||||
{
|
||||
global $bdd;
|
||||
|
||||
$req = $bdd->prepare('SELECT * FROM Article WHERE idcategorie=3');
|
||||
$req->execute();
|
||||
$articlesChvR = $req->fetchAll();
|
||||
|
||||
|
||||
return $articlesChvR;
|
||||
}
|
||||
|
||||
function get_ArticlesCat()
|
||||
{
|
||||
global $bdd;
|
||||
|
||||
$req = $bdd->prepare('SELECT * FROM CategorieArticle ');
|
||||
$req->execute();
|
||||
$categories = $req->fetchAll();
|
||||
|
||||
|
||||
return $categories;
|
||||
}
|
||||
|
||||
|
||||
function get_Articles()
|
||||
{
|
||||
global $bdd;
|
||||
|
||||
$req = $bdd->prepare('SELECT * FROM Article ');
|
||||
$req->execute();
|
||||
$articles = $req->fetchAll();
|
||||
|
||||
|
||||
return $articles;
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./vue/pension/index.html');
|
||||
include_once('./vue/pension.html');
|
||||
include_once('./vue/footer.html');
|
||||
?>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./vue/policy/index.html');
|
||||
include_once('./vue/policy.html');
|
||||
include_once('./vue/footer.html');
|
||||
?>
|
||||
@@ -1,9 +1,8 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./modele/connexion_sql.php');
|
||||
|
||||
include_once('./config/connexion_sql.php');
|
||||
if (!isset($_GET['section']) OR $_GET['section'] == 'index')
|
||||
{
|
||||
include_once('./controleur/membre/profil/index.php');
|
||||
include_once('./controleur/membre/profil.php');
|
||||
}
|
||||
include_once('./vue/footer.html');
|
||||
|
||||
4
robots.txt
Normal file
4
robots.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
User-agent: *
|
||||
Disallow: /
|
||||
|
||||
Sitemap: https://ecurie.cunatbrule.fr/sitemap.xml
|
||||
4
sitemap.xml
Normal file
4
sitemap.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset
|
||||
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
</urlset>
|
||||
@@ -1,9 +1,8 @@
|
||||
<?php
|
||||
include_once('./vue/header.html');
|
||||
include_once('./modele/connexion_sql.php');
|
||||
|
||||
include_once('./config/connexion_sql.php');
|
||||
if (!isset($_GET['section']) OR $_GET['section'] == 'index')
|
||||
{
|
||||
include_once('./controleur/vitrine/index.php');
|
||||
include_once('./controleur/vitrine.php');
|
||||
}
|
||||
include_once('./vue/footer.html');
|
||||
133
vue/activite.html
Normal file
133
vue/activite.html
Normal file
@@ -0,0 +1,133 @@
|
||||
<section id="content" class="container">
|
||||
<div class="text-center">
|
||||
<br><h2>Le poney club</h2><hr>
|
||||
<img class="img-thumbnail rounded" src="./images/activites/poney1.jpg" alt="" ><br><br>
|
||||
<p>Votre enfant est intéressé par l'équitation ?<br>
|
||||
Le poney club accueille votre enfant dès l'âge de 3ans en reprise et dès 2ans en promenade en main.<b>*</b></p>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<img class="img-thumbnail rounded" src="./images/activites/poney2.jpg" alt="">
|
||||
</div>
|
||||
<div class="col">
|
||||
<img class="img-thumbnail rounded" src="./images/activites/poney3.jpg" alt="">
|
||||
</div>
|
||||
</div><br>
|
||||
<p>Le poney-club se compose de 16 poneys de tailles différentes.<br>
|
||||
Pour permettre à votre enfant de découvrir un sport ludique, passionnant et qui lui apprendra à devenir responsable.</p><br>
|
||||
<img class="img-thumbnail rounded" src="./images/activites/poney4.jpg" alt=""><br>
|
||||
<h6><b>*</b> Renseignements à l'accueil</h6>
|
||||
</div><hr>
|
||||
</section>
|
||||
<section id="content" class="container">
|
||||
<div class="text-center">
|
||||
<br><h2>Equitation éthologique</h2><hr>
|
||||
<p>L'équitation éthologique offre une approche plus naturelle du cheval<br>
|
||||
En mettant en valeur l'importance du travail au sol pour instaurer une relation basée sur la confiance et le respect.</p>
|
||||
<p>Elle permet de développer un climat de confiance bénéfique au travail et à la sécurité,où le cavalier se met à la porté de son cheval et non l'inverse.</p>
|
||||
<p>A partir de ces acquis nous amenons le cheval à plus de réception et de disponibilité,capable alors de répondre à nos suggestions à tout moment.</p>
|
||||
<img class="img-thumbnail rounded" src="./images/activites/ethologie.jpg" alt=""><br><br>
|
||||
<p>Des initiations à l'Equitation Ethologique seront dispensés à l'écurie lors d'après midi animations, ou lors de cours particuliers.</p>
|
||||
<h6>Renseignements à l'accueil! ;-)</h6>
|
||||
</div><hr>
|
||||
</section>
|
||||
<section id="content" class="container">
|
||||
<div class="text-center">
|
||||
<br><h2 class="text-center">Les balades et randonnées</h2><hr>
|
||||
<img alt="" class="img-thumbnail rounded" src="./images/activites/balade1.jpg" /><br><br>
|
||||
<p>Vous avez envie de connatre une équitation plus libre qui vous procure des sensations différentes ?<br>
|
||||
Vous aussi avez rêvé d'évasion ? Alors vous êtes au bon endroit !</p>
|
||||
<p>De la promenade à l'heure, à la grande randonnée, poneys et chevaux vous emmèneront parcourir le Parc du Gâtinais.<br>
|
||||
Avec ses hectares de pistes aménagées, les possibilités de promenades sont infinies...</p>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<img class="img-thumbnail rounded" src="./images/activites/balade2.jpg" />
|
||||
</div>
|
||||
<div class="col">
|
||||
<img class="img-thumbnail rounded" src="./images/activites/balade3.jpg"/>
|
||||
</div>
|
||||
</div>
|
||||
<br><hr><h2>Les dates de balades et randos</h2><hr>
|
||||
<p>Balades sur rendez-vous, les prochaines dates de randonnées pour 2018-2019 ne sont pas encore établies</p>
|
||||
<img class="img-thumbnail rounded" src="./images/activites/balade4.jpg" />
|
||||
</div><hr>
|
||||
</section>
|
||||
<section id="content" class="container">
|
||||
<div>
|
||||
<br><h1 class="text-center">Les stages</h1><hr>
|
||||
<p>Durant les vacances scolaires, sont organisés des stages de prise de connaissance du poney ou du cheval,<br>
|
||||
de préparation aux Galops ou de perfectionnement, orientés vers la compétition.</p>
|
||||
<p>les passages de galop se font tous les vendredis de semaine de stage, nous maintenons également tous nos cours pendant les périodes de stages.</p>
|
||||
<hr><h3 class="text-center">Périodes de stages</h3><hr>
|
||||
<div class="row">
|
||||
<div class="col"><h6>Période</h6></div>
|
||||
<div class="col"><h6>Date</h6></div>
|
||||
<div class="col"><h6>Tarifs</h6></div>
|
||||
<div class="w-100"><hr></div>
|
||||
<div class="col"><p>VACANCES SCOLAIRES</p></div>
|
||||
<div class="col"><p>Tous les mercredi de 9H à 18H</p></div>
|
||||
<div class="col"><p>55 € compris 2 H d'équitation</p></div>
|
||||
<div class="w-100"><hr></div>
|
||||
<div class="col"><p>Eté à l'écurie</p></div>
|
||||
<div class="col"><p>Du 10 juillet au 4 aout 2018 <br>Du 20 aout au 1er septembre 2018</p></div>
|
||||
<div class="col"><p>A définir</p></div>
|
||||
<div class="w-100"><hr></div>
|
||||
<div class="col"><p>Eté à Lamotte Beuvron:</p></div>
|
||||
<div class="col"><p>Du 30 juillet au 04 aout 2018</p></div>
|
||||
<div class="col"><p>665 € euros tout compris pour les adhérents</p></div>
|
||||
</div>
|
||||
<hr><h3 class="text-center">Stage type aux écuries</h3><hr>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<ul>
|
||||
<li>Arrivée à 9h00.</li>
|
||||
<li>Pratique autour du cheval</li>
|
||||
<li>Hippologie et Travaux Pratiques</li>
|
||||
<li>2 ou 3h d'équitation</li>
|
||||
<li>repas et goûter à emporter</li>
|
||||
<li>fin de journée de stage 17h30</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col">
|
||||
<img class="img-thumbnail" alt=""src="./images/activites/stage1.jpg">
|
||||
</div>
|
||||
</div>
|
||||
<hr><h3 class="text-center">Stages d'été à Lamotte Beuvron</h3><hr>
|
||||
<p>Durant les deux premières semaines du mois d'août, nous organisons un stage à Lamotte Beuvron dans le parc fédéral de la fédération française déquitation.</p>
|
||||
<p>Chaque année, le parc fédéral accueille des centres équestres de toutes les régions avec leurs cavaliers et leurs chevaux,<br>
|
||||
pour permettre aux centres équestres de profiter des installations misent à leur disposition.</p>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<ul>
|
||||
<h6>Exemple d'une journée a LAMOTTE BEUVRON</h6>
|
||||
<li>8h00 : soins des chevaux (eau, granulés, paillage des boxes)</li>
|
||||
<li>8h30 : petit déjeuner</li>
|
||||
<li>10h00 à 11h30 : équitation</li>
|
||||
<li>12h00 : soins des chevaux (eau et granulés)</li>
|
||||
<li>12h30 : déjeuner</li>
|
||||
<li>14h à 15h30 : équitation</li>
|
||||
<li>16h00 : goûter</li>
|
||||
<li>16h30 à 18h00 : piscine</li>
|
||||
<li>19h30 : Dîner</li>
|
||||
<li>20h30 : jeu en groupe</li>
|
||||
<li>22h30 : dodo</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col">
|
||||
<ul>
|
||||
<h6>Equipement Sportif</h6>
|
||||
<li>10 carrières modulables de saut d'obstacles</li>
|
||||
<li>5 rectangles de dressage</li>
|
||||
<li>9 terrains de horse-ball</li>
|
||||
<li>3 manèges de 4 000 m2</li>
|
||||
<li>2 terrains de polo</li>
|
||||
<li>1 cross national de 25 hectares</li>
|
||||
<li>1 piste de galop</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><br>
|
||||
<div class="ratio ratio-16x9">
|
||||
<iframe src="https://www.youtube.com/embed/XRyV1frFE48" title="Vidéo Lamotte Beuvron" allow="autoplay; encrypted-media" allowfullscreen loading="lazy"></iframe>
|
||||
</div><br>
|
||||
<h6 class="text-center"><b>*</b> Les inscriptions se font à l'accueil ou par téléphone<br>Pour les tarifs non adhérents: nous contacter, Renseignements à l'accueil ou par téléphone</h6>
|
||||
</div><hr>
|
||||
</section>
|
||||
20
vue/actualite.php
Normal file
20
vue/actualite.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<section id="content" class="container">
|
||||
<div>
|
||||
<br><h2 class="text-center">Dernières nouvelles</h2><hr>
|
||||
<ul class="list-unstyled">
|
||||
<?php foreach($event1 as $event){ ?>
|
||||
<li class="border border-secondary rounded p-2 m-3 bg-white">
|
||||
<div class="numbox img-indent3">
|
||||
<span><?php setlocale (LC_TIME, 'fr_FR.utf-8','fra');echo strftime("%b", strtotime($event['dateevent'])); ?></span>
|
||||
<strong><?php echo strftime("%#d", strtotime($event['dateevent'])); ?></strong>
|
||||
</div>
|
||||
<div class="ms-3 flex-fill">
|
||||
<h4 class="card-title"><?php echo $event['nom']; ?></h4>
|
||||
<p><?php echo $event['description']; ?></p><br><br>
|
||||
<!--<p class="blockquote-footer">Posté par Admin <span>46 Commentaire(s)</span></p>-->
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div><hr>
|
||||
</section>
|
||||
420
vue/centre.html
Normal file
420
vue/centre.html
Normal file
@@ -0,0 +1,420 @@
|
||||
<section id="content" class="container">
|
||||
<div>
|
||||
<br><h2 class="text-center">Le centre équestre</h2><hr>
|
||||
<p>Notre centre équestre est agréé Ecole Française d'Equitation et encadré par 2 moniteurs diplômés d'Etat.</p>
|
||||
<p>La cavalerie du centre équestre est composée de 12 chevaux adaptés au niveau de chaque cavalier.<br>
|
||||
L'enseignement de l'équitation est réparti sur plusieurs cours en fonction du niveau équestre du cavalier, qu'il soit débutant ou confirmé.</p>
|
||||
<p>Les cours permettrons à chaque cavalier de progresser au travers de diverses disciplines équestres (dressage, obstacles, cross, etc…),<br>
|
||||
ce qui l'amènera s'il le désir, à la préparation des examens fédéraux (galops 1 à 7), ainsi qu'à la compétition.<br>
|
||||
Le club met à votre disposition des installations modernes et agréables.</p>
|
||||
<hr><h2 class="text-center">Les installations</h2><hr>
|
||||
<p>Le Centre Equestre vous propose diverses installations accéssibles a tous.<br>
|
||||
Que se soit pour les cours les concours ou vos cheveaux tous est fait pour travailler et pour le bien de votre cheval.</p>
|
||||
<!--Description d'installation POP-UP Lien-->
|
||||
<ul>
|
||||
<li><a class="btn" title="Carrières d'obstacles" role="button" data-bs-toggle="modal" data-bs-target="#myModal1">2 Carrières d'obstacles : 90 x 40 / 80 x 50</a></li>
|
||||
<li><a class="btn" title="Carrière d'entraînement" role="button" data-bs-toggle="modal" data-bs-target="#myModal2">1 Carrière d'entraînement : 50 x 40</a></li>
|
||||
<li><a class="btn" title="Carrière de dressage" role="button" data-bs-toggle="modal" data-bs-target="#myModal3">1 Carrière de dressage : 65 x 30</a></li>
|
||||
<li><a class="btn" title="Manège" role="button" data-bs-toggle="modal" data-bs-target="#myModal4">1 Manège couvert et éclairé : 30m x 20m</a></li>
|
||||
<li><a class="btn" title="Boxes" role="button" data-bs-toggle="modal" data-bs-target="#myModal5">37 Boxes de 3m x 3m</a></li>
|
||||
<li><a class="btn" title="Stabulation" role="button" data-bs-toggle="modal" data-bs-target="#myModal6">1 Stabulation</a></li>
|
||||
<li><a class="btn" title="Paddocks" role="button" data-bs-toggle="modal" data-bs-target="#myModal7">7 Paddocks avec ou sans abris et 2 prés</a></li>
|
||||
<li><a class="btn" title="Rond de longe" role="button" data-bs-toggle="modal" data-bs-target="#myModal8">1 Rond de longe</a></li>
|
||||
</ul>
|
||||
<!-- Modal1 -->
|
||||
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content bg1">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title" id="exampleModalCenterTitle">2 Carrières d'obstacles : 90 x 40 / 80 x 50</h6>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<img class="img-thumbnail" src="./images/centre/obstacle.jpg">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal2 -->
|
||||
<div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content bg1">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title" id="exampleModalCenterTitle">Carrière d'entraînement : 50 x 40</h6>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<img class="img-thumbnail" src="./images/centre/carriere.jpg">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal3 -->
|
||||
<div class="modal fade" id="myModal3" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content bg1">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title" id="exampleModalCenterTitle">Carrière de dressage : 65 x 30</h6>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<img class="img-thumbnail" src="./images/centre/dressage.jpg">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal4 -->
|
||||
<div class="modal fade" id="myModal4" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content bg1">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title" id="exampleModalCenterTitle">Manège couvert et éclairé 30m x 20m</h6>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<img class="img-thumbnail" src="./images/centre/manege.jpg">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal5 -->
|
||||
<div class="modal fade" id="myModal5" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content bg1">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title" id="exampleModalCenterTitle">Boxes</h6>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<img class="img-thumbnail" src="./images/centre/boxe.jpg">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal6 -->
|
||||
<div class="modal fade" id="myModal6" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content bg1">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title" id="exampleModalCenterTitle">Stabulation pour poneys ou poulinage</h6>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<img class="img-thumbnail" src="./images/centre/stabulation.jpg">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal7 -->
|
||||
<div class="modal fade" id="myModal7" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content bg1">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title" id="exampleModalCenterTitle">Paddocks et Prés</h6>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<img class="img-thumbnail" src="./images/centre/paddock.jpg">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal8 -->
|
||||
<div class="modal fade" id="myModal8" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content bg1">
|
||||
<div class="modal-header">
|
||||
<h6 class="modal-title" id="exampleModalCenterTitle">Rond de longe</h6>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<img class="img-thumbnail" src="./images/centre/rond.jpg">
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- FinModal -->
|
||||
<hr><h2 class="text-center">Les enseignants</h2><hr>
|
||||
<div class="row text-center">
|
||||
<div class="col">
|
||||
<img class="img-thumbnail rounded" alt="" src="./images/centre/jean_philipe.jpg">
|
||||
<h5>Jean-Philippe</h5><h6>Monitorat BEES1 obtenu en 2004 / Responsable du Centre Equestre</h6>
|
||||
</div>
|
||||
<div class="col">
|
||||
<img class="img-thumbnail rounded" alt="" src="./images/centre/marianne.jpg">
|
||||
<h5>Marianne</h5><h6>Monitorat BPJEPS obtenu en 2012</h6>
|
||||
</div>
|
||||
</div>
|
||||
<hr><h2 class="text-center">Les sponsors 2017-2018</h2><hr>
|
||||
<div class="row text-center">
|
||||
<div class="col">
|
||||
<img class="img-thumbnail rounded" alt="" src="./images/sponsors/juriscopr.jpg">
|
||||
<h5>JURISCOPRO</h5><h6>Gestion syndic de copropriété, vente et location à Etam</h6>
|
||||
</div>
|
||||
<div class="col">
|
||||
<img class="img-thumbnail rounded" alt="" src="./images/sponsors/agralys-thoreau.jpg">
|
||||
<h5>AGRALYS-THOREAU</h5><h6>fournisseur d'aliments</h6>
|
||||
</div>
|
||||
<div class="col">
|
||||
<img class="img-thumbnail rounded" alt="" src="./images/sponsors/ramsay.jpg">
|
||||
<h5>RAMSAY SANTE</h5><a href="http://ramsaygds.fr/" target="_blank">Site Web</a>
|
||||
</div>
|
||||
<div class="col">
|
||||
<img class="img-thumbnail rounded" alt="" src="./images/sponsors/bprp.jpg">
|
||||
<h5>BANQUE POPULAIRE RIVES DE PARIS</h5>
|
||||
</div>
|
||||
</div><hr>
|
||||
</div>
|
||||
</section>
|
||||
<section id="content" class="container">
|
||||
<div>
|
||||
<h2 class="text-center">Tarifs 2018-2019</h2><hr>
|
||||
<div id="carouselExampleIndicators" class="carousel slide" data-bs-ride="carousel" data-bs-interval="10000">
|
||||
<div class="carousel-indicators">
|
||||
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="0" aria-label="Slide 1" class="active" aria-current="true"></button>
|
||||
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="1" aria-label="Slide 2"></button>
|
||||
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="2" aria-label="Slide 3"></button>
|
||||
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="3" aria-label="Slide 4"></button>
|
||||
</div>
|
||||
<div class="carousel-inner text-center" >
|
||||
<div class="carousel-item active">
|
||||
<div class="row">
|
||||
<div class="col"><img src="./images/tarifs/Tarif1.jpg" class="img-thumbnail"></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col"><h3><br>Cotisations</h3></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Baby poney de 2 à 4 ans</div>
|
||||
<div class="col text-left">offerte pour la 1ere carte valable 3 mois</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Moins de 16 ans</div>
|
||||
<div class="col text-left">125 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Adultes</div>
|
||||
<div class="col text-left">158 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Famille (parents + enfant(s) -18ans)</div>
|
||||
<div class="col text-left">283 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col"><h3><br>Licence Fédéral</h3></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Né(e) en 2001 & après</div>
|
||||
<div class="col text-left">25 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Né(e) en 2001 & avant</div>
|
||||
<div class="col text-left">36 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col"><h3><br>Licence Compétition</h3></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Compétition PRO</div>
|
||||
<div class="col text-left">330 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Compétition Amateur</div>
|
||||
<div class="col text-left">80 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Compétition Club</div>
|
||||
<div class="col text-left">Gratuite</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col"><h3><br>Compétition</h3></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Engagement</div>
|
||||
<div class="col text-left">variable</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Forfait Concours interne</div>
|
||||
<div class="col text-left">22 € + prix de l'engagement</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Forfait Concours externe</div>
|
||||
<div class="col text-left">56 € + prix de l'engagement</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item">
|
||||
<div class="row">
|
||||
<div class="col"><img src="./images/tarifs/Tarif2.jpg" class="img-thumbnail"></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col"><h3><br>Leçons</h3></div>
|
||||
<div class="w-100"></div>
|
||||
<br><div class="col text-center"><h5>Membre non propriétaire d'un équidé</h5></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center">Carte 10h cheval/poney </div>
|
||||
<div class="col">203 € </div>
|
||||
<div class="col text-left">**Droit d'accès à 122 € et 10 leçons à 61 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center">Carte 10h pour les - de 8 ans</div>
|
||||
<div class="col">188 €</div>
|
||||
<div class="col text-left">**Droit d'accès à 112 € et 10 leçons à 56 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center">Carte baby poney valable 3 mois</div>
|
||||
<div class="col">133 €</div>
|
||||
<div class="col text-left">**Droit d'accès à 75 € et 10 leçons à 38 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center">Leçon particulière</div>
|
||||
<div class="col">2h de carte</div>
|
||||
<div class="col"></div>
|
||||
<div class="w-100"></div>
|
||||
<br><div class="col text-center"><h5>Membre Propriétaire d'un équidé</h5></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center">Cartes 10h</div>
|
||||
<div class="col">140 €</div>
|
||||
<div class="col text-left">**Droit d'accès à 90 € et 10 leçons à 45 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center">Leçon particulière</div>
|
||||
<div class="col">2h de carte</div>
|
||||
<div class="col text-left">Forfait de 15 leçons valable 15 semaines dont 2 séances offertes</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center">Forfait Cheval/ Poney</div>
|
||||
<div class="col">270 € </div>
|
||||
<div class="col text-left">**Droit d'accès à 160 € et 10 leçons à 81 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center">Forfait pour les - de 8 ans</div>
|
||||
<div class="col">255 €</div>
|
||||
<div class="col text-left">**Droit d'accès à 146 € et 10 leçons à 73 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center">**Forfait 3 h de cours par semaine</div>
|
||||
<div class="col">**291€/mois</div>
|
||||
<div class="col"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item">
|
||||
<div class="row">
|
||||
<div class="col"><img src="./images/tarifs/Tarif3.jpg" class="img-thumbnail"></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col"><h3><br>Coût global mensuel pour un propriétaire</h3></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col">Tous ces tarifs inclus le droit d'accès aux installations sportives et le coût de l'hébergement de l'équidé<br>ainsi que le coût de 2h d'enseignement par semaine sauf ceux indiqués par <b>*</b>.</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center"><h5>Chevaux</h5></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Formule box</div>
|
||||
<div class="col text-left">508 €/mois</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Formule box et sorties paddock</div>
|
||||
<div class="col text-left">538 €/mois</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Formule box + copeaux et sorties paddock</div>
|
||||
<div class="col text-left">568 €/mois</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Formule box en 1/2 pension avec un propriétaire</div>
|
||||
<div class="col text-left">331 €/mois</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center"><h5>Poney</h5></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Formule box</div>
|
||||
<div class="col text-left">456 €/mois</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Formule box et sorties paddock</div>
|
||||
<div class="col text-left">486 €/mois</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center"><h5>Paddock</h5></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Formule paddock</div>
|
||||
<div class="col text-left">285 €/mois</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Formule paddock et accès manège</div>
|
||||
<div class="col text-left">315 €/mois</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">1/2 pension avec le club</div>
|
||||
<div class="col text-left">295 €/mois forfait 3 h par semaine</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">1/4 pension avec le club</div>
|
||||
<div class="col text-left">195 €/mois forfait 2 h par semaine</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-center"><h5>Champmotteux</h5></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Formule Pré</div>
|
||||
<div class="col text-left">250 €/mois</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Formule Pré et box</div>
|
||||
<div class="col text-left">350 €/mois</div>
|
||||
<div class="w-100"></div>
|
||||
<br><div class="col"><h6></b>*</b> pas d'enseignement inclus dans ces prestations, possibilité de demander le travail du cheval à raison de 2 ou 3h par semaine</h6></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col"><h6>*D'autres formules peuvent être étudiées, adressez-vous à l'accueil*</h6></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item">
|
||||
<div class="row">
|
||||
<div class="col"><img src="./images/tarifs/Tarif5.jpg" class="img-thumbnail"></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col">Inclus le droit d'accès aux installations sportives et le coût de l'enseignement</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col"><h3><br>Cavaliers de Passage</h3></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">1h Cheval / Poney</div>
|
||||
<div class="col text-left">30 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">1h Poney Shetland</div>
|
||||
<div class="col text-left">26 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Leçon particulière: Cheval / Poney</div>
|
||||
<div class="col text-left">52 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Leçon particulière: Poney Shetland</div>
|
||||
<div class="col text-left">41 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Pension box Cheval</div>
|
||||
<div class="col text-left">29 €/jour</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Pension box Poney</div>
|
||||
<div class="col text-left">22 €/jour</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Promenade en main 1/2h</div>
|
||||
<div class="col text-left">11 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">Promenade en main 1h</div>
|
||||
<div class="col text-left">16 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col"><h3><br>Stage d’Equitation</h3></div>
|
||||
<div class="w-100"></div>
|
||||
<br><div class="col text-center"><h5>Adhérents</h5></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">1 semaine</div>
|
||||
<div class="col text-left">282 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">1 journée (1/2 pension)</div>
|
||||
<div class="col text-left">62 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">1/2 journée</div>
|
||||
<div class="col text-left">45 €</div>
|
||||
<div class="w-100"></div>
|
||||
<br><div class="col text-center"><h5>Cavalier de Passage</h5></div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">1 semaine</div>
|
||||
<div class="col text-left">307 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">1/2 pension</div>
|
||||
<div class="col text-left">69 €</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col text-right">1/2 journée</div>
|
||||
<div class="col text-left">52 €</div>
|
||||
<div class="w-100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div><br><br>
|
||||
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span><span class="visually-hidden">Previous</span>
|
||||
</button>
|
||||
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="next">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span><span class="visually-hidden">Next</span>
|
||||
</button>
|
||||
</div>
|
||||
<h3>DROIT D'ACCES AU CENTRE EQUESTRE</h3>
|
||||
<p>L'accès aux installations sportives de l'établissement équestre, pendant les heures d'ouverture, est subordonné au paiement d'un droit d'accès.<br>
|
||||
Ce droit confère au titulaire l'accès à des fins d'utilisation</p>
|
||||
<li>des installations à caractère sportif de l'établissement équestre (manège, carrières, parcours, écuries et équipements sportifs recensés),</li>
|
||||
<li>de contribuer à la « vie du club», de circuler librement à pied dans l'enceinte de l'établissement,</li>
|
||||
<li>d'accéder aux différentes aires d'évolution mises à disposition par le centre équestre.</li><br>
|
||||
<p>Ce droit est strictement personnel et incessible.<br>
|
||||
Ces prestations relèvent du taux de TVA de 5.5%.</p>
|
||||
<h3>CONDITIONS COMMERCIALES</h3>
|
||||
<li>Les cartes, forfaits et cotisations annuelles sont personnelles et ne peuvent en aucun cas être cédées ou remboursées.</li>
|
||||
<li>Toute réservation non annulée 48h à l'avance sera due</li>
|
||||
<li>Les chèques vacances et les coupons sports sont acceptés</li><br>
|
||||
<img src="./images/tarifs/cheque.jpg" class="img-thumbnail rounded">
|
||||
</div><hr>
|
||||
</section>
|
||||
22
vue/contact.html
Normal file
22
vue/contact.html
Normal file
@@ -0,0 +1,22 @@
|
||||
<section id="content" class="container">
|
||||
<div>
|
||||
<h2 class="text-center">Nos Coordonnées</h2><hr>
|
||||
<div class="ratio ratio-16x9">
|
||||
<iframe
|
||||
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2646.700501475971!2d2.296194451504442!3d48.443087679147055!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47e5c68657aaa85f%3A0xbbe2b815619dc1e!2sLes+%C3%89curies+de+la+Boissi%C3%A8re!5e0!3m2!1sfr!2sfr!4v1476032117547"
|
||||
style="border:0;" allowfullscreen loading="lazy">
|
||||
</iframe>
|
||||
</div><hr>
|
||||
<div class="row fw-bold text-center">
|
||||
<div class="col">
|
||||
<h6>Projet Ecurie<br>
|
||||
Route de l'Essonne<br>
|
||||
91170 Viry-Châtillon</h6>
|
||||
</div>
|
||||
<div class="col">
|
||||
<h6>Téléphone : 07 69 93 34 05<br>
|
||||
E-mail : <a href="mailto:contact@ccbinformatique.fr">contact@ccbinformatique.fr</a></h6>
|
||||
</div>
|
||||
</div>
|
||||
</div><hr>
|
||||
</section>
|
||||
19
vue/evenement.php
Normal file
19
vue/evenement.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<section id="content" class="container">
|
||||
<div>
|
||||
<br><h2 class="text-center">Tous les évenements du club</h2><hr>
|
||||
<ul class="list-unstyled">
|
||||
<?php foreach($eventsAll as $event){ ?>
|
||||
<li class="border border-secondary rounded p-2 m-3 bg-white d-flex flex-column flex-md-row align-items-start">
|
||||
<img class="img-thumbnail rounded m-2" src=".<?php echo $event['imageevent']; ?>" alt="">
|
||||
<div class="ms-2 flex-fill">
|
||||
<h4 class="card-title"><?php echo $event['nom']; ?><br>
|
||||
<small class="text-muted">Le <?php setlocale (LC_TIME, 'fr_FR.utf-8','fra');echo strftime(" %e %B %Y", strtotime($event['dateevent'])); ?> à <?php echo $event['lieu'];?></small><br>
|
||||
<!--<a href="event.php#" class="btn btn-link p-0 text-danger">Participer</a>-->
|
||||
</h4>
|
||||
<p><?php echo $event['description']; ?></p>
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div><hr>
|
||||
</section>
|
||||
@@ -1,19 +1,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--MapsBootsrap-->
|
||||
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
|
||||
<footer>
|
||||
<div class="container pt-4">
|
||||
<ul class="pagination">
|
||||
<li class="page-item m-1"><a href="https://www.youtube.com" target="_blank"><img src="./images/autres/yt.png"/></a></li>
|
||||
<li class="page-item m-1"><a href="https://www.facebook.com" target="_blank"><img src="./images/autres/fb.png"/></a></li>
|
||||
<li class="page-item m-1"><h5> Ecurie | Cunat-Brulé © 2019-2022 <a href="policy.php">Tous droits réservés</a></h5></li>
|
||||
<li class="page-item m-1"><h5> 2019-2022 © Conception, administration et hébergement du site par CCB Informatique - <a href="policy.php">Tous droits réservés</a></h5></li>
|
||||
</ul>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<script src="./js/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" async></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,59 +1,34 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>Ecurie</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Projet Ecurie</title>
|
||||
<link rel="shortcut icon" type="image/png" href="./images/autres/favicon.png">
|
||||
<link rel="stylesheet" type="text/css" media="screen" href="./css/style.css">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||
<?php
|
||||
//Attribution des variables de session
|
||||
include("./controleur/membre/functions.php");
|
||||
include("./controleur/membre/constants.php");
|
||||
$lvl=(isset($_SESSION['privilege']))?(int) $_SESSION['privilege']:1;
|
||||
$id=(isset($_SESSION['ideleve']))?(int) $_SESSION['ideleve']:0;
|
||||
$pseudo=(isset($_SESSION['pseudo']))?$_SESSION['pseudo']:'';
|
||||
if(session_id() == '') { session_start(); }
|
||||
?>
|
||||
<link rel="stylesheet" media="all" href="./css/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" media="all" href="./css/style.css" type="text/css">
|
||||
<?php include('./config/init.php'); ?>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid bg1">
|
||||
<body class="bg1">
|
||||
<header>
|
||||
<div class="container">
|
||||
<div class="text-center"><a href="home.php"><img src="./images/autres/logo.png"></a></div>
|
||||
<div class="text-center"><a href="index.php"><img src="./images/autres/logo.png"></a></div>
|
||||
<nav class="navbar navbar-expand-lg navbar-dark bg-transparent">
|
||||
<a class="navbar-brand" href="home.php">Accueil</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<a class="navbar-brand" href="index.php">Accueil</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<ul class="navbar-nav me-auto">
|
||||
<li class="nav-item"><a class="nav-link" href="centre.php">Centre/Tarifs</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="activite.php">Activités</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="pension.php">Pensions</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="actualite.php">Actualités</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="evenement.php">Evénements</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="vitrine.php">Vitrine</a></li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Centre Equestre</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<a class="dropdown-item" href="centre.php">Le Centre</a>
|
||||
<a class="dropdown-item" href="tarif.php">Tarifs</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="contact.php">Nos Coordonnées</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item"><a class="nav-link disabled" href="vitrine.php">Vitrine</a></li>
|
||||
<li class="nav-item"><a class="nav-link disabled" href="actualite.php">Actualités</a></li>
|
||||
<li class="nav-item"><a class="nav-link disabled" href="evenement.php">Evénements</a></li>
|
||||
<li class="nav-item"><a class="nav-link disabled" href="pension.php">Pensions</a></li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownActivite" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Activités</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<a class="dropdown-item" href="poney_club.php">Poney Club</a>
|
||||
<a class="dropdown-item" href="ethologie.php">Ethologie</a>
|
||||
<a class="dropdown-item" href="stage.php">Stages</a>
|
||||
<a class="dropdown-item" href="balade.php">Balades et Randonnées</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownCompte" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Compte</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownCompte" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Compte</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdownCompte">
|
||||
<a class="dropdown-item" href="./espace_membre.php">Espace membre</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<?php if(isset($_SESSION['pseudo'])) { ?>
|
||||
@@ -71,6 +46,3 @@
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container">
|
||||
<div class="col">
|
||||
<div class="row">
|
||||
35
vue/home.html
Normal file
35
vue/home.html
Normal file
@@ -0,0 +1,35 @@
|
||||
<section id="content" class="container">
|
||||
<div>
|
||||
<div id="slideshowhome" class="carousel slide carousel-fade mb-4" data-bs-ride="carousel">
|
||||
<div class="carousel-inner">
|
||||
<div class="carousel-item active"><img class="d-block w-100" src="./images/home/home1.jpg" alt="Photo écurie 1" loading="lazy"></div>
|
||||
<div class="carousel-item"><img class="d-block w-100" src="./images/home/home2.jpg" alt="Photo écurie 2" loading="lazy"></div>
|
||||
<div class="carousel-item"><img class="d-block w-100" src="./images/home/home3.jpg" alt="Photo écurie 3" loading="lazy"></div>
|
||||
</div>
|
||||
<button class="carousel-control-prev" type="button" data-bs-target="#slideshowhome" data-bs-slide="prev">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span><span class="visually-hidden">Précédent</span>
|
||||
</button>
|
||||
<button class="carousel-control-next" type="button" data-bs-target="#slideshowhome" data-bs-slide="next">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span><span class="visually-hidden">Suivant</span>
|
||||
</button>
|
||||
</div>
|
||||
<h6>Notre écurie</h6>
|
||||
<p>Situées à 40 Km de Paris, en plein cœur du Parc du Gâtinais, l'écurie vous accueillent dans un écrin de verdure...<br>
|
||||
Vous y découvrirez, dans des infrastructures modernes et de qualité, une équitation sportive et ludique encadrée par des enseignants compétents.<br>
|
||||
Diverses activités vous sont proposées: de l'initiation à la compétition, sans oublier la formation et la préparation aux examens fédéraux.<br><br>
|
||||
Bonne saison 2018/2019 !!</p><br>
|
||||
<hr><h2 class="text-center">Découvrir l'écurie</h2><hr>
|
||||
<div class="row">
|
||||
<div class="col-md" >
|
||||
<div class="ratio ratio-16x9">
|
||||
<iframe src="https://www.youtube.com/embed/hiNhwcbRmNc" title="Présentation écurie 1" allow="autoplay; encrypted-media" allowfullscreen loading="lazy"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md">
|
||||
<div class="ratio ratio-16x9">
|
||||
<iframe src="https://www.youtube.com/embed/gluMtEUeZ20" title="Présentation écurie 2" allow="autoplay; encrypted-media" allowfullscreen loading="lazy"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><hr>
|
||||
</section>
|
||||
29
vue/pension.html
Normal file
29
vue/pension.html
Normal file
@@ -0,0 +1,29 @@
|
||||
<section id="content" class="container">
|
||||
<div>
|
||||
<br><h2 class="text-center">Les pensions</h2><hr>
|
||||
<h3>Pensions en Box</h3>
|
||||
<ul class="list-unstyled ms-3">
|
||||
<li>Box paillé de 3m x 3m</li>
|
||||
<li>Nourriture 3 fois par jour (granulés et/ou fourrage)</li>
|
||||
<li>Possibilité d'être lâché en demie-journée en paddock (voir tarifs)</li>
|
||||
</ul>
|
||||
<img class="img-thumbnail rounded my-3" src="./images/activites/pension1.jpg" alt="">
|
||||
<h3>Pension en paddock</h3>
|
||||
<ul class="list-unstyled ms-3">
|
||||
<li>Paddock avec ou sans abri</li>
|
||||
<li>Nourriture 2 fois par jour aux granulés et foin 1 fois par jour</li>
|
||||
<li>Possibilité d'être rentré au box la nuit (moyennant supplément)</li>
|
||||
</ul>
|
||||
<img class="img-thumbnail rounded my-3" src="./images/activites/pension2.jpg" alt="">
|
||||
<h3>Pension au Pré ou Pré / Box</h3>
|
||||
<p>En plus des services et activités proposés au centre équestre,<br>
|
||||
l'écurie dispose d'une "annexe" située à une quinzaine de Km, à Champmotteux.<br>
|
||||
Ce complexe, essentiellement composé de pâtures, dispose d'une carrière sablée et de quelques boxes.<br>
|
||||
L'accès à la balade et aux chemins de grandes randonnées est direct.</p>
|
||||
<p>Nous y accueillons votre équidé qu'il soit
|
||||
<b>actif, retraité ou simplement en "vacances"</b>;<br>
|
||||
Pension au Pré ou Pré / Box, avec complément et fourrage.</p>
|
||||
<img class="img-thumbnail rounded my-3" src="./images/activites/pension3.jpg" alt="">
|
||||
<h6 class="text-center"><b>*</b> Vous trouverez le coût de toutes nos prestations dans la rubrique "Tarifs".</h6>
|
||||
</div><hr>
|
||||
</section>
|
||||
34
vue/policy.html
Normal file
34
vue/policy.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<section id="content" class="container">
|
||||
<br><h2 class="text-center">Politique de confidentialité</h2><hr>
|
||||
<h6>Collecte des renseignements personnels</h6>
|
||||
<p>Les renseignements personnels que nous collectons sont recueillis au travers de formulaires et grâce à l'interactivité établie entre vous et notre site Web.<br>
|
||||
Nous utilisons également, comme indiqué dans la section suivante, des fichiers témoins et/ou journaux pour réunir des informations vous concernant. </p>
|
||||
<h6>Formulaires et interactivité:</h6>
|
||||
<p>Vos renseignements personnels sont collectés par le biais de formulaire, à savoir :<br>
|
||||
- Formulaire d'inscription au site Web<br>
|
||||
Nous utilisons les renseignements ainsi collectés pour les finalités suivantes :<br>
|
||||
- Contact</p>
|
||||
<h6>Droit d'opposition et de retrait</h6>
|
||||
<p>Nous nous engageons à vous offrir un droit d'opposition et de retrait quant à vos renseignementspersonnels.<br>
|
||||
Le droit d'opposition s'entend comme étant la possibilité offerte aux internautes de refuser que leurs renseignements personnels soient utilisés à certaines fins mentionnées lors de la collecte.<br>
|
||||
Le droit de retrait s'entend comme étant la possibilité offerte aux internautes de demander à ce que leurs renseignements personnels ne figurent plus, par exemple, dans une liste de diffusion.</p>
|
||||
<h6>Droit d'accès</h6>
|
||||
<p>Nous nous engageons à reconnaître un droit d'accès et de rectification aux personnes concernées désireuses de consulter, modifier, voire radier les informations les concernant.</p>
|
||||
<h6>Sécurité</h6>
|
||||
<p>Les renseignements personnels que nous collectons sont conservés dans un environnement sécurisé.<br>
|
||||
Les personnes travaillant pour nous sont tenues de respecter la confidentialité de vos informations.<br>
|
||||
Pour assurer la sécurité de vos renseignements personnels, nous avons recours aux mesures suivantes :<br>
|
||||
- Gestion des accès - personne autorisée<br>
|
||||
- Gestion des accès - personne concernée<br>
|
||||
- Logiciel de surveillance du réseau<br>
|
||||
- Sauvegarde informatique<br>
|
||||
- Développement de certificat numérique<br>
|
||||
- Identifiant / mot de passe<br>
|
||||
- Pare-feu (Firewalls)<br>
|
||||
Nous nous engageons à maintenir un haut degré de confidentialité en intégrant les dernières innovations technologiques permettant d'assurer la confidentialité de vos transactions.<br>
|
||||
Toutefois,comme aucun mécanisme n'offre une sécurité maximale, une part de risque est toujours présente lorsque l'on utilise Internet pour transmettre des renseignements personnels.</p>
|
||||
<h6>Législation</h6>
|
||||
<p>Nous nous engageons à respecter les dispositions législatives françaises</p>
|
||||
<h6>E-mail: <a href="mailto:contact@ccbinformatique.fr">contact@ccbinformatique.fr</a></h6>
|
||||
<hr>
|
||||
</section>
|
||||
29
vue/vitrine.php
Normal file
29
vue/vitrine.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<section id="content" class="container">
|
||||
<div>
|
||||
<br><h2 class="text-center">Boutique</h2><hr>
|
||||
<h6 class="text-center">Pour tout renseignement ou achat contacter le Club</h6>
|
||||
<div class="border border-secondary rounded text-center bg-white">
|
||||
<p>Une très large gamme de produits destinés à la pratique de l’équitation
|
||||
afin de pratiquer ce noble sport de la manière la plus efficace possible.
|
||||
La performance lors d’un entraînement de montage ou lors d’un concours de saut d’obstacles
|
||||
dépend également de l’équipement choisi par le cavalier.</p><br>
|
||||
<p> Il n’y a rien de mieux que des selles d’équitation ou des sangles de dressage adapté à votre animal ainsi que des équipements
|
||||
qui sauront vous apporter confort et optimisation et également de nombreux produits destinés à l’équipement du cheval au travail.</p>
|
||||
</div><hr>
|
||||
<h2 class="text-center">Produit actuellement en vente</h2><br>
|
||||
<div class="row row-cols-1 row-cols-md-3 g-3 p-3 border border-secondary rounded">
|
||||
<?php foreach($articlesCav as $cle => $article){ ?>
|
||||
<div class="col">
|
||||
<div class="card h-100">
|
||||
<img class="card-img-top px-5" src=".<?php echo $article['imagearticle'];?>" alt="">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title fw-normal"><?php echo $article['libelle'] ?></h5>
|
||||
<p class="card-text fw-light"><?php echo substr($article['description'], 0, 150).'...';?></p>
|
||||
<h5 class="card-title fw-bold"><?php echo $article['prix'] ?> €</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div><br>
|
||||
</section>
|
||||
Reference in New Issue
Block a user