Add initial migrations, admin configurations, and base CSS for the project

This commit is contained in:
mrtoine 2025-12-10 20:18:51 +01:00
parent 16897b6010
commit 8fe6fe5390
19 changed files with 2101 additions and 68 deletions

View file

@ -1,16 +1,31 @@
{% extends 'layout.html' %}
{% block content %}
<section class="profile-section">
{% block profile-nav %}
{% include "../partials/_profile_nav.html" %}
{% endblock %}
<div class="profile-details">
<form method="POST" enctype="multipart/form-data">
{% csrf_token %}
{{ user_form.as_p }}
<button type="submit" class="btn btn-primary">Mettre à jour</button>
</form>
</div>
{% include "../partials/_profile_nav.html" %}
</section>
<div class="profile-content">
<div class="profile-grid">
<div class="profile-card">
<h3>Paramètres du compte</h3>
<form method="post">
{% csrf_token %}
{{ user_form.as_p }}
<div class="text-right" style="margin-top:12px; display:flex; gap:8px; justify-content:flex-end;">
<a href="{% url 'profile' %}" class="btn btn-secondary">Annuler</a>
<button type="submit" class="btn btn-primary">Enregistrer</button>
</div>
</form>
</div>
<div class="profile-card">
<h3>Conseils</h3>
<ul class="profile-about-list">
<li>Assurez-vous que votre adresse email est valide pour récupérer votre compte.</li>
<li>Utilisez un mot de passe unique et robuste (mélange de lettres, chiffres, symboles).</li>
<li>Votre nom dutilisateur est visible publiquement — choisissez-le avec soin.</li>
</ul>
</div>
</div>
</div>
</section>
{% endblock %}

View file

@ -1,13 +1,49 @@
{% extends 'layout.html' %}
{% block content %}
<section class="profile-section">
{% block profile-nav %}
{% include "../partials/_profile_nav.html" %}
{% endblock %}
<div class="profile-details">
<p><strong>Pseudo :</strong> {{ user.username }}</p>
<p><strong>Date d'nscription :</strong> {{ user.date_joined|date:"F j, Y" }}</p>
<p><strong>Bio de profil :</strong> {{ user.profile.biography }}</p>
{% include "../partials/_profile_nav.html" %}
<div class="profile-content">
<div class="profile-grid">
<div class="profile-card" id="about">
<h3>À propos</h3>
<ul class="profile-about-list">
<li><strong>Pseudo</strong> : {{ user.username }}</li>
<li><strong>Nom complet</strong> : {{ user.profile.first_name }} {{ user.profile.last_name }}</li>
<li><strong>Inscription</strong> : {{ user.date_joined|date:"j F Y" }}</li>
</ul>
{% if user.profile.biography %}
<p class="profile-bio-body">{{ user.profile.biography }}</p>
{% else %}
<p class="profile-bio-body muted">Aucune bio pour le moment.</p>
{% endif %}
</div>
<div class="profile-card">
<h3>Cours publiés</h3>
{% with courses=user.course_set.all %}
{% if courses %}
<ul class="profile-courses">
{% for course in courses|slice:":6" %}
<li>
<a href="{% url 'courses:show' course_id=course.id course_name=course.slug %}">
<img src="/{{ course.thumbnail }}" alt="{{ course.name }}" class="course-thumb-mini">
<span>{{ course.name }}</span>
</a>
</li>
{% endfor %}
</ul>
{% else %}
<p class="muted">Aucun cours publié.</p>
{% endif %}
{% endwith %}
</div>
<div class="profile-card">
<h3>Activité</h3>
<p class="muted">Le fil dactivité de cet utilisateur arrive bientôt.</p>
</div>
</div>
</div>
</section>
{% endblock %}

View file

@ -1,18 +1,53 @@
{% extends 'layout.html' %}
{% block content %}
<section class="profile-section">
{% block profile-nav %}
{% include "../partials/_profile_nav.html" %}
{% endblock %}
<div class="profile-details">
<p><strong>Username:</strong> {{ user.username }}</p>
<p><strong>Email:</strong> {{ user.email }}</p>
<p><strong>Nom complet:</strong> {{ user.profile.first_name }} {{ user.profile.last_name }}</p>
<p><strong>Inscription:</strong> {{ user.date_joined|date:"F j, Y" }}</p>
<p><strong>Bio:</strong> {{ user.profile.biography }}</p>
</div>
<div class="profile-actions">
<a href="{% url 'profile_update' %}" class="btn btn-primary">Modifier le profil publique</a><br><br>
{% include "../partials/_profile_nav.html" %}
<div class="profile-content">
<div class="profile-grid">
<div class="profile-card" id="about">
<h3>À propos</h3>
<ul class="profile-about-list">
<li><strong>Pseudo</strong> : {{ user.username }}</li>
<li><strong>Nom complet</strong> : {{ user.profile.first_name }} {{ user.profile.last_name }}</li>
<li><strong>Email</strong> : {{ user.email }}</li>
<li><strong>Inscription</strong> : {{ user.date_joined|date:"j F Y" }}</li>
</ul>
{% if user.profile.biography %}
<p class="profile-bio-body">{{ user.profile.biography }}</p>
{% else %}
<p class="profile-bio-body muted">Ajoutez une bio pour présenter votre parcours.</p>
{% endif %}
</div>
<div class="profile-card">
<h3>Mes cours</h3>
{% with courses=user.course_set.all %}
{% if courses %}
<ul class="profile-courses">
{% for course in courses|slice:":6" %}
<li>
<a href="{% url 'courses:show' course_id=course.id course_name=course.slug %}">
<img src="/{{ course.thumbnail }}" alt="{{ course.name }}" class="course-thumb-mini">
<span>{{ course.name }}</span>
</a>
</li>
{% endfor %}
</ul>
<div class="text-right">
<a class="btn btn-secondary btn-sm" href="{% url 'user_courses' %}">Voir tous mes cours</a>
</div>
{% else %}
<p class="muted">Aucun cours publié pour le moment.</p>
{% endif %}
{% endwith %}
</div>
<div class="profile-card">
<h3>Activité</h3>
<p class="muted">Le fil dactivité arrive bientôt.</p>
</div>
</div>
</div>
</section>
{% endblock %}

View file

@ -1,11 +1,39 @@
{% extends 'layout.html' %}
{% block content %}
<section>
<h2>Update Profile</h2>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ profile_form.as_p }}
<button type="submit">Modifier</button>
</form>
<section class="profile-section">
{% include "../partials/_profile_nav.html" %}
<div class="profile-content">
<div class="profile-grid">
<div class="profile-card">
<h3>Modifier mon profil public</h3>
<div style="display:flex; align-items:center; gap:16px; margin: 10px 0 14px;">
<img src="/{{ user.profile.avatar }}" alt="Avatar actuel" class="profile-avatar" style="width:72px;height:72px;margin-top:0;">
<div>
<div class="muted">Aperçu de lavatar actuel</div>
<small class="muted">Vous pouvez téléverser une nouvelle image cidessous.</small>
</div>
</div>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ profile_form.as_p }}
<div class="text-right" style="margin-top:12px; display:flex; gap:8px; justify-content:flex-end;">
<a href="{% url 'profile' %}" class="btn btn-secondary">Annuler</a>
<button type="submit" class="btn btn-primary">Enregistrer</button>
</div>
</form>
</div>
<div class="profile-card">
<h3>Conseils</h3>
<ul class="profile-about-list">
<li>Utilisez votre vrai nom pour être plus facilement reconnu.</li>
<li>Une bio claire aide la communauté à mieux vous connaître.</li>
<li>Privilégiez une photo carrée pour un meilleur rendu.</li>
</ul>
</div>
</div>
</div>
</section>
{% endblock %}