This commit is contained in:
Yass 2026-02-08 19:49:17 +01:00
parent aec3c845e0
commit edb6c00219
22 changed files with 941 additions and 69 deletions

View file

@ -1,3 +1,6 @@
<article class="col-md-3 mb-4">
<div class="card h-100 shadow-sm article-card">

34
views/footer.tpl Normal file
View file

@ -0,0 +1,34 @@
<footer class="footer container-fluid d-flex justify-content-around">
<div class="col-3">
<ul>
<li><a href="#">Découvrir</a>
<li><a href="#">Customisation</a>
<li><a href="#">Emploi</a>
<li><a href="#">A propos</a>
</ul>
</div>
<div class="col-3">
<ul>
<li><a href="#">Recruter</a>
<li><a href="#">Partenariat</a>
<li><a href="#">Blog</a>
<li><a href="#">Aide et support</a>
</ul>
</div>
<div class="col-3">
<ul>
<li><a href="#">Politique de confidentialité</a>
<li><a href="#">Politique sur les données</a>
<li><a href="#">CGU</a>
<li><a href="#">CGV</a>
</ul>
</div>
<div class="col-3">
<p>Suivez-nous</p>
</div>
</footer>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="js/scripts.js"></script>
</body>
</html>

86
views/header.tpl Normal file
View file

@ -0,0 +1,86 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="assests/css/style.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
<script src="https://use.fontawesome.com/releases/v6.3.0/js/all.js" crossorigin="anonymous"></script>
<title>Folliow</title>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light">
<div class="container-fluid">
{* Logo *}
<a class="navbar-brand d-flex align-items-center" href="#">
<img src="assests/img/logo.png" alt="Logo" class="logo-image">
</a>
{* Toggler pour mobile *}
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
{* Menu de navigation *}
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="?ctrl=&action=">Découvrir</a>
</li>
<li class="nav-item">
<a class="nav-link" href="?ctrl=''&action=''">Customisation</a>
</li>
<li class="nav-item">
<a class="nav-link" href="?ctrl=''&action=''">Orientation</a>
</li>
<li class="nav-item">
<a class="nav-link" href="?ctrl=''&action=''">À propos</a>
</li>
<li class="nav-item">
<a class="nav-link" href="?ctrl=project&action=search">Rechercher</a>
</li>
</ul>
{* Menu secondaire *}
<nav class="col-4 d-flex justify-content-end align-items-center" aria-label="Connexion utilisateur">
{if !isset($smarty.session.user)}
{* Utilisateur non connecté *}
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="index.php?ctrl=user&action=signin" title="Créer un compte" aria-label="Créer un compte">
S'inscrire
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="index.php?ctrl=user&action=login" title="Se connecter" aria-label="Se connecter">
Se connecter
</a>
</li>
</ul>
{else}
{* Utilisateur connecté *}
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="edit_account.php" title="Modifier mon compte" aria-label="Modifier mon compte">
<img src=".{$smarty.session.user.user_image}"
class="rounded-circle flex-shrink-0 mt-2 ml-5"
style="width: 36px; height: 36px; object-fit: cover;"
alt="Photo de profil">
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="index.php?ctrl=user&action=logout" title="Se déconnecter" aria-label="Se déconnecter">
Logout
</a>
</li>
</ul>
{/if}
</nav>
</div>
</div>
</nav>
</body>
</html>

View file

@ -1,3 +1,4 @@
{extends file="views/layout.tpl"}
{block name="content"}
<section class="container mt-5 p-5 d-flex flex-column align-items-center text-center">
@ -12,8 +13,8 @@
<h2 class="visually-hidden">Les 4 derniers articles</h2>
<div class="row mb-2">
{foreach from=$arrArticleToDisplay item=objArticle}
{include file="views/partials/preview.php"}
{foreach from=$arrProjectToDisplay item=objProject}
{include file="views/_partial/preview.tpl"}
{/foreach}
</section>
{{/block}}
{/block}

View file

@ -1,4 +1,6 @@
{extends file="views/layout.tpl"}
{block name="content"}
<!-- Page : Inscription -->
@ -172,4 +174,5 @@
</div>
</div>
</main>
</main>
{/block}

View file

@ -1,7 +1,7 @@
{include file="./views/partials/header.tpl"}
{include file="views/_partial/header.tpl"}
{block name="content"}
{/block}
{include file="./views/partials/footer.tpl"}
{include file="views/_partial/footer.tpl"}

View file

@ -1,23 +0,0 @@
<section aria-label="Se connecter">
<?php if (count($arrError) > 0) {?>
<div class="alert alert-danger">
<?php foreach ($arrError as $strError){ ?>
<p><?php echo $strError; ?></p>
<?php } ?>
</div>
<?php } ?>
<form method="post">
<p>
<label>Mail:</label>
<input name="mail" value="<?php echo($strMail); ?>"
class="form-control <?php if (isset($arrError['mail'])) { echo 'is-invalid'; } ?> " type="text" >
</p>
<p>
<label>Mot de passe:</label>
<input name="pwd" class="form-control <?php if (isset($arrError['pwd'])) { echo 'is-invalid'; } ?> " type="text" >
</p>
<p>
<input class="form-control btn btn-primary" type="submit" >
</p>
</form>
</section>

35
views/login.tpl Normal file
View file

@ -0,0 +1,35 @@
{extends file="views/layout.tpl"}
{block name="content"}
<section aria-label="Se connecter">
{* Affichage des erreurs *}
{if $arrError|count > 0}
<div class="alert alert-danger">
{foreach from=$arrError item=strError}
<p>{$strError}</p>
{/foreach}
</div>
{/if}
<form method="post">
<p>
<label>Mail:</label>
<input name="mail"
value="{$strMail|default:''}"
class="form-control {if isset($arrError.mail)}is-invalid{/if}"
type="email">
</p>
<p>
<label>Mot de passe:</label>
<input name="pwd"
class="form-control {if isset($arrError.pwd)}is-invalid{/if}"
type="password">
</p>
<p>
<input class="form-control btn btn-primary" type="submit" value="Se connecter">
</p>
</form>
</section>
{/block}