File size: 5,761 Bytes
a1be761
 
 
 
 
 
1d1a1ec
a1be761
 
1d1a1ec
a1be761
 
1d1a1ec
a1be761
 
1d1a1ec
a1be761
 
1d1a1ec
a1be761
 
 
 
 
 
 
1d1a1ec
 
 
 
 
a1be761
 
 
1d1a1ec
a1be761
 
 
 
 
1d1a1ec
a1be761
 
 
 
 
 
 
 
 
1d1a1ec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a1be761
1d1a1ec
a1be761
 
 
 
 
 
 
 
 
 
 
1d1a1ec
a1be761
 
 
 
 
 
1d1a1ec
a1be761
 
 
c48f4d2
1d1a1ec
a1be761
 
 
 
 
1d1a1ec
a1be761
 
 
 
 
 
1d1a1ec
a1be761
 
1d1a1ec
a1be761
 
1d1a1ec
a1be761
 
 
1d1a1ec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<!DOCTYPE html>
<html lang="fr" data-theme="light">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{% block title %}Plateforme Éducative{% endblock %}</title>

    <!-- Bootstrap CSS from CDN -->
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">

    <!-- Font Awesome for icons -->
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">

    <!-- Google Fonts -->
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">

    <!-- Custom CSS -->
    <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">

    <!-- Additional CSS specific to templates -->
    {% block styles %}{% endblock %}
</head>
<body>
    <!-- Header -->
    <header class="main-header">
        <div class="container header-container">
            <!-- Burger Menu Button -->
            <button id="burger-menu" class="burger-menu-button" title="Ouvrir le menu">
                <i class="fas fa-bars"></i>
            </button>

            <h1 class="site-title">
                <a href="{{ url_for('main_bp.index') }}">Méthodologies</a>
            </h1>

            <div class="header-actions">
                <!-- Theme toggle button -->
                <button id="theme-toggle" class="theme-toggle" title="Changer de thème">
                    <i class="fas fa-moon"></i>
                </button>

                <!-- Admin link if admin is logged in -->
                {% if session.get('admin_logged_in') %}
                <a href="{{ url_for('admin_bp.dashboard') }}" class="btn btn-primary btn-sm ms-2">
                    <i class="fas fa-cog"></i> Gestion
                </a>
                {% endif %}
            </div>
        </div>
    </header>

    <!-- Sidebar Overlay -->
    <div id="sidebar-overlay" class="sidebar-overlay"></div>

    <!-- Sidebar 1: Matières -->
    <nav id="sidebar-matieres" class="sidebar">
        <div class="sidebar-header">
            <h4>Matières</h4>
            <button class="close-sidebar-btn" data-sidebar-id="sidebar-matieres" title="Fermer le menu">×</button>
        </div>
        <ul id="matieres-list-sidebar" class="sidebar-list">
            {# Assure-toi de passer la variable 'matieres' depuis ta route Flask #}
            {# Example: return render_template('index.html', matieres=get_all_matieres()) #}
            {% if matieres %}
                {% for matiere in matieres %}
                    {# Utilise |e pour échapper les caractères spéciaux dans le nom pour l'attribut data #}
                    <li data-matiere-id="{{ matiere.id }}" data-matiere-nom="{{ matiere.nom | e }}">
                        {{ matiere.nom }}
                        <i class="fas fa-chevron-right float-end"></i>
                    </li>
                {% endfor %}
            {% else %}
                <li>Aucune matière disponible.</li>
            {% endif %}
        </ul>
    </nav>

    <!-- Sidebar 2: Sous-catégories -->
    <nav id="sidebar-sous-categories" class="sidebar">
        <div class="sidebar-header">
            <button id="sidebar-back-button" class="sidebar-back-button" title="Retour aux matières">
                <i class="fas fa-arrow-left"></i>
            </button>
            <h4 id="sidebar-sous-categories-title">Sous-catégories</h4>
            <button class="close-sidebar-btn" data-sidebar-id="sidebar-sous-categories" title="Fermer le menu">×</button>
        </div>
        <ul id="sous-categories-list-sidebar" class="sidebar-list">
            <!-- Les sous-catégories seront chargées ici par JavaScript -->
            <li>Chargement...</li>
        </ul>
    </nav>

    <!-- Flash messages -->
    <div class="container mt-3 flash-container">
        {% with messages = get_flashed_messages(with_categories=true) %}
            {% if messages %}
                {% for category, message in messages %}
                    <div class="alert alert-{{ category if category != 'message' else 'info' }} alert-dismissible fade show" role="alert">
                        {{ message }}
                        <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
                    </div>
                {% endfor %}
            {% endif %}
        {% endwith %}
    </div>

    <!-- Main content -->
    <main class="main-content">
        <div class="container">
            {% block content %}{% endblock %}
        </div>
    </main>

    <!-- Footer -->
    <footer class="main-footer">
        <div class="container footer-content">
            

            <!-- Feedback form -->
            <div class="feedback-form">
                <h4 class="feedback-title">Votre avis nous intéresse</h4>
                <form id="feedback-form" action="{{ url_for('main_bp.submit_feedback') }}" method="POST">
                    <div class="form-group mb-2">
                        <textarea id="feedback-message" name="message" class="form-control" rows="2" placeholder="Laissez-nous un message..." required></textarea>
                    </div>
                    <button type="submit" class="btn btn-primary">Envoyer</button>
                </form>
            </div>
        </div>
    </footer>

    <!-- Bootstrap JS Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>

    <!-- Main JavaScript -->
    <script src="{{ url_for('static', filename='js/main.js') }}"></script>

    <!-- Additional JavaScript -->
    {% block scripts %}{% endblock %}
</body>
</html>