Remove all migration files and unused CSS files from the project.
This commit is contained in:
parent
440f5a7df4
commit
16897b6010
28 changed files with 265 additions and 2278 deletions
|
|
@ -1,12 +1,90 @@
|
|||
{% extends 'layout.html' %}
|
||||
|
||||
{% block content %}
|
||||
<section class="edito">
|
||||
<p>Bienvenue sur <strong>Partir de zero</strong>, votre nouvelle communauté dédiée à l'apprentissage des langages informatiques !</p>
|
||||
<section class="hero">
|
||||
<div class="hero-inner">
|
||||
<h1>Apprenez à coder de A à Z</h1>
|
||||
<p class="hero-sub">Des cours gratuits et payants, structurés et concrets, pour progresser rapidement en programmation.</p>
|
||||
<div class="button-grp hero-cta">
|
||||
<a class="button cta-primary" href="{% url 'register' %}"><i class="fa-solid fa-play"></i> Commencer gratuitement</a>
|
||||
<a class="button cta-secondary" href="{% url 'courses:list' %}"><i class="fa-solid fa-book"></i> Voir les cours</a>
|
||||
</div>
|
||||
<div class="hero-trust">
|
||||
<span><i class="fa-solid fa-check"></i> Pas de carte requise pour commencer</span>
|
||||
<span><i class="fa-solid fa-clock"></i> À votre rythme</span>
|
||||
<span><i class="fa-solid fa-certificate"></i> Accès premium en option</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<p>Je crois que l'apprentissage de la programmation et du développement est une aventure passionnante et accessible à tous. Que vous soyez un débutant curieux ou un développeur expérimenté en quête de nouvelles compétences, la plateforme est conçue pour vous accompagner à chaque étape de votre parcours.</p>
|
||||
<section class="features">
|
||||
<div class="feature">
|
||||
<div class="feat-ico"><i class="fa-solid fa-route"></i></div>
|
||||
<h3>Parcours guidés</h3>
|
||||
<p>Des cheminements clairs pour débuter et monter en compétence sans vous perdre.</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<div class="feat-ico"><i class="fa-solid fa-code"></i></div>
|
||||
<h3>Pratique d'abord</h3>
|
||||
<p>Des projets concrets, des exercices et des corrections expliquées pas-à-pas.</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<div class="feat-ico"><i class="fa-solid fa-people-group"></i></div>
|
||||
<h3>Communauté</h3>
|
||||
<p>Posez vos questions et obtenez de l'aide de la communauté et de l'auteur.</p>
|
||||
</div>
|
||||
</section>
|
||||
{% block course %}
|
||||
{% include "courses/partials/list.html" %}
|
||||
{% endblock %}
|
||||
|
||||
<section class="pricing-teaser">
|
||||
<h2>Gratuit pour commencer, Premium pour aller plus loin</h2>
|
||||
<ul class="ul-arrow">
|
||||
<li>Cours d'introduction gratuits</li>
|
||||
<li>Contenu premium détaillé: projets complets, corrections, téléchargements</li>
|
||||
<li>Accès à vie aux cours achetés</li>
|
||||
</ul>
|
||||
<div class="button-grp">
|
||||
<a class="button cta-primary" href="{% url 'register' %}">Créer mon compte</a>
|
||||
<a class="button cta-secondary" href="{% url 'courses:list' %}">Parcourir les cours</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="carousel">
|
||||
<h2>Cours en vedette</h2>
|
||||
<div class="carousel-track">
|
||||
{% for course in courses|slice:":6" %}
|
||||
<a class="carousel-item card" href="{% url 'courses:show' course.id course.name|slugify %}">
|
||||
<div class="ratio-16x9">
|
||||
<img src="{{ course.thumbnail.url }}" alt="{{ course.name }}" loading="lazy">
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3>{{ course.name }}</h3>
|
||||
</div>
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<!-- Simple scroll hint -->
|
||||
<div class="center" aria-hidden="true" style="opacity:.8; margin-top:8px;">Glissez pour parcourir →</div>
|
||||
|
||||
</section>
|
||||
|
||||
<section class="testimonials">
|
||||
<h2>Ils progressent avec Partir de zéro</h2>
|
||||
<div class="testimonials-grid">
|
||||
<div class="testimonial">
|
||||
<p>“Des cours clairs et progressifs. J’ai enfin compris Django et j’ai lancé mon premier projet.”</p>
|
||||
<div class="who">Alexandre — Débutant devenu autonome</div>
|
||||
</div>
|
||||
<div class="testimonial">
|
||||
<p>“L’approche projet et les explications pas-à-pas m’ont fait gagner des semaines.”</p>
|
||||
<div class="who">Sarah — Étudiante en informatique</div>
|
||||
</div>
|
||||
<div class="testimonial">
|
||||
<p>“Parfait pour reprendre les bases et aller plus loin. Le mode sombre est top 👌.”</p>
|
||||
<div class="who">Yassine — Dev front-end</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
|
|
|||
|
|
@ -4,18 +4,33 @@
|
|||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{% load static %}
|
||||
<link rel="stylesheet" href="{% static 'css/design.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'css/profile.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'css/forms.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'css/tabs.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'css/utils.css' %}">
|
||||
<link rel="stylesheet" href="/static/css/colors_dark.css">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600;1,700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{% static 'css/app.css' %}">
|
||||
<link id="theme-css" rel="stylesheet" href="{% static 'css/colors_dark.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'highlight/styles/agate.min.css' %}">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" integrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{% static 'favicon.ico' %}">
|
||||
<!-- <script src="{% static 'js/night_day.js' %}" defer></script> -->
|
||||
<script src="{% static 'js/functions.js' %}" defer></script>
|
||||
<script src="{% static 'highlight/highlight.min.js' %}"></script>
|
||||
<script>
|
||||
// Theme bootstrap: apply saved preference ASAP to avoid flash
|
||||
(function() {
|
||||
try {
|
||||
var stored = localStorage.getItem('pdz-theme');
|
||||
var prefersLight = window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches;
|
||||
var theme = stored || (prefersLight ? 'light' : 'dark');
|
||||
document.documentElement.setAttribute('data-theme', theme);
|
||||
// If light, switch the theme stylesheet href before paint
|
||||
if (theme === 'light') {
|
||||
var link = document.getElementById('theme-css');
|
||||
if (link) link.href = "{% static 'css/colors_light.css' %}";
|
||||
}
|
||||
} catch (e) {}
|
||||
})();
|
||||
</script>
|
||||
<script src="{%static 'highlight/highlight.min.js' %}"></script>
|
||||
<script defer>hljs.highlightAll();</script>
|
||||
<title>PartirDeZero</title>
|
||||
</head>
|
||||
|
|
@ -23,60 +38,65 @@
|
|||
{% block header %}
|
||||
{% include "partials/_header.html" %}
|
||||
{% endblock %}
|
||||
<!-- Guirlande de Noël SVG -->
|
||||
<svg width="100%" height="200px" viewBox="0 0 1000 200" xmlns="http://www.w3.org/2000/svg">
|
||||
<path id="wire" d="M0,100 Q250,200 500,100 T1000,100" stroke="black" stroke-width="2" fill="none" pathLength="100"/>
|
||||
<circle class="light" r="10" fill="red">
|
||||
<animateMotion repeatCount="indefinite" dur="0s">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="green">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.1;0.1" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="blue">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.2;0.2" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="yellow">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.3;0.3" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="purple">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.4;0.4" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="red">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.5;0.5" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="green">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.6;0.6" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="blue">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.7;0.7" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="yellow">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.8;0.8" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="purple">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.9;0.9" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
</svg>
|
||||
<!-- Décor saisonnier (désactivé par défaut) -->
|
||||
<!--
|
||||
<div class="seasonal-banner">
|
||||
Guirlande de Noël
|
||||
<svg width="100%" height="200px" viewBox="0 0 1000 200" xmlns="http://www.w3.org/2000/svg">
|
||||
<path id="wire" d="M0,100 Q250,200 500,100 T1000,100" stroke="black" stroke-width="2" fill="none" pathLength="100"/>
|
||||
<circle class="light" r="10" fill="red">
|
||||
<animateMotion repeatCount="indefinite" dur="0s">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="green">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.1;0.1" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="blue">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.2;0.2" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="yellow">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.3;0.3" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="purple">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.4;0.4" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="red">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.5;0.5" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="green">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.6;0.6" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="blue">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.7;0.7" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="yellow">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.8;0.8" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
<circle class="light" r="10" fill="purple">
|
||||
<animateMotion repeatCount="indefinite" dur="0s" keyPoints="0.9;0.9" keyTimes="0;1">
|
||||
<mpath href="#wire"/>
|
||||
</animateMotion>
|
||||
</circle>
|
||||
</svg>
|
||||
</div>
|
||||
-->
|
||||
<main>
|
||||
{% if messages %}
|
||||
<ul class="flash_messages">
|
||||
|
|
|
|||
|
|
@ -1,18 +1,36 @@
|
|||
<footer>
|
||||
<div class="footer">
|
||||
<footer class="site-footer">
|
||||
<div class="footer-columns">
|
||||
<div class="about">
|
||||
<h5>A propos de moi</h5>
|
||||
<p>Je suis un développeur web expérimenté avec plus de 10 ans d'expérience dans ce domaine. J'ai également développé des compétences en programmation Python et en utilisation du framework Django au cours des dernières années, et je suis passionné par l'art du développement de logiciels.</p>
|
||||
<h5>À propos</h5>
|
||||
<p>Développeur web full‑stack, passionné par Python, Django et les expériences soignées. Ici, on apprend en s'amusant — sans négliger la rigueur pro.</p>
|
||||
</div>
|
||||
<div class="footer-link">
|
||||
<h5>Liens</h5>
|
||||
<h5>Navigation</h5>
|
||||
<ul>
|
||||
<li><a href="https://www.kiloukoi.be" target="_blank">Kiloukoi.be</a></li>
|
||||
<li><a href="http://toine-traveller.org" target="_blank">Mon blog voyage</a></li>
|
||||
<li><a href="/">Accueil</a></li>
|
||||
<li><a href="{% url 'courses:list' %}">Cours</a></li>
|
||||
<li><a href="#">Tutoriels</a></li>
|
||||
<li><a href="#">Billets</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer-link">
|
||||
<h5>Suivre</h5>
|
||||
<ul class="social">
|
||||
{% if settings.github_url %}
|
||||
<li><a href="https://github.com/" target="_blank" rel="noopener"><i class="fa-brands fa-github"></i> GitHub</a></li>
|
||||
{% endif %}
|
||||
{% if settings.twitter_url %}
|
||||
<li><a href="https://x.com/" target="_blank" rel="noopener"><i class="fa-brands fa-x-twitter"></i> X</a></li>
|
||||
{% endif %}
|
||||
{% if settings.contact_email %}
|
||||
<li><a href="mailto:contact@exemple.com"><i class="fa-solid fa-envelope"></i> Email</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<p class="center">
|
||||
Partir de Zero ©2024 - v0.1.1 - Designed and created by <a href="https://www.partirdezero.com" target="_blank">Anthony VIOLET</a>
|
||||
</p>
|
||||
<div class="footer-legal">
|
||||
<span>Partir de Zero ©2024 - {% now "Y" %}</span>
|
||||
<span>v0.1.1</span>
|
||||
<span>Site fièrement créer par <a href="https://av-interactive.be" target="_blank" rel="noopener">AV Interactive</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<!-- TODO : Améliorer la mise en page -->
|
||||
<nav>
|
||||
<nav class="site-nav">
|
||||
<div class="brand"><i class="fa-solid fa-terminal"></i>Partir de zéro<br><span class="subtitle comment">/* Anthony Violet */</span></div>
|
||||
<div class="navbar">
|
||||
<ul id="menu">
|
||||
|
|
@ -41,6 +41,11 @@
|
|||
Visiteur
|
||||
{% endif %}
|
||||
</li>
|
||||
<li>
|
||||
<button id="themeToggle" class="button button-ghost" aria-label="Basculer le thème" title="Basculer le thème">
|
||||
<i class="fa-solid fa-sun"></i>
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- <div class="navend"><a><i class="fa-solid fa-moon"></i></a></div> -->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue