base.html 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. {% load static %}
  2. <!DOCTYPE html>
  3. <html lang="fr" class="h-100">
  4. <head>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  7. <!-- SEO: Métadonnées de base -->
  8. <meta name="keywords" content="{%if page.p_mots_clefs%}{{page.p_mots_clefs}}{% endif %}">
  9. <meta name="description" content="{% if page.p_description %}{{page.p_description}}{% endif %}">
  10. <meta name="author" content="Mr Duhaz">
  11. <meta name="robots" content="index, follow">
  12. <!-- SEO: Langue et localisation -->
  13. <meta property="og:locale" content="fr_FR">
  14. <link rel="alternate" hreflang="fr" href="{{ request.build_absolute_uri }}" />
  15. {% block add_meta_description %}{% endblock %}
  16. <title>{{page.c_sitename}}{% if page.p_meta_title %} | {{page.p_meta_title}}{% elif page.p_titre %} | {{page.p_titre}}{% endif %}</title>
  17. <link rel="shortcut icon" href="/static/favicon.ico">
  18. <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N" crossorigin="anonymous">
  19. <link href="//fonts.googleapis.com/css2?family=Kufam&display=swap" rel="stylesheet">
  20. <script src="https://kit.fontawesome.com/7cf2a101ac.js"></script>
  21. {% if not request.user.is_authenticated %}
  22. <script data-ad-client="ca-pub-0171697375250839" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  23. {% endif %}
  24. <style type="text/css">
  25. img {
  26. display: block;
  27. max-width: 100%;
  28. height: auto;
  29. }
  30. body {
  31. background-color:black;
  32. background-image: url('{% static page.c_bgimagelogo %}'), url('{% static page.c_bgimage %}') ;
  33. background-position: 96% 95%, center ;
  34. background-size: 20%,cover;
  35. background-repeat: no-repeat;
  36. background-attachment: fixed;
  37. font-size: 15px;
  38. }
  39. </style>
  40. </head>
  41. <body class="d-flex flex-column h-100">
  42. <header style="color: #fff; font-family: Kufam', cursive;">
  43. <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: {{page.c_bgcolor}};">
  44. <div class="container-fluid">
  45. <div class="collapse navbar-collapse" id="navbarSupportedContent">
  46. <a class="navbar-brand" href="{% url 'core_index' %}"><i class="{{page.c_sitelogo}}"></i> {{page.c_sitename}} </a>
  47. {% if page.p_menu_haut %}
  48. <ul class="navbar-nav mr-auto">
  49. {% regroup page.p_menu_haut by p_menu_parent as menu_with_parent %}
  50. {% for p_menu_parent in menu_with_parent%}
  51. {% if p_menu_parent.grouper != none %}
  52. <div class="navbar-nav dropdown">
  53. <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fas fa-bars" ></i> {{ p_menu_parent.grouper }}</a>
  54. <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
  55. {% for item in p_menu_parent.list|dictsortreversed:"p_menu_poid" %}
  56. <a class="dropdown-item {% if item.p_proteger == True and user.is_authenticated %} {% elif item.p_proteger == False %} {% else %}disabled{% endif %}" {%if item.p_type == "lien_ext" %}target="_blank"{% endif %} href="{{item.p_adresse}}">{% if item.p_icone %}<i class="{{item.p_icone}}" ></i> {% endif %}{{item.p_titre}}</a></li>
  57. {% endfor %}
  58. </div>
  59. </div>
  60. {% else %}
  61. {% for item in p_menu_parent.list %}
  62. <li class="nav-item"><a class="nav-link {% if item.p_proteger == True and user.is_authenticated %} {% elif item.p_proteger == False %} {% else %}disabled{% endif %}" {%if item.p_type == "lien_ext" %}target="_blank"{% endif %} href="{{item.p_adresse}}">{% if item.p_icone %}<i class="{{item.p_icone}}" ></i> {% endif %}{{item.p_titre}}</a></li>
  63. {% endfor %}
  64. {% endif %}
  65. {% endfor %}
  66. </ul>
  67. {% endif %}
  68. {% if page.c_menulogin == 'True' %}
  69. <div class="navbar-nav dropdown">
  70. <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fas fa-id-badge" ></i> Mon profil</a>
  71. <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
  72. {% if not request.user.is_authenticated %}
  73. <a class="dropdown-item" href="{% url 'core_login' %}" ><i class="fas fa-sign-in-alt"></i> Connexion</a>
  74. {% elif request.user.is_authenticated %}
  75. <a class="dropdown-item" href="{% url 'admin:index' %}" ><i class="fas fa-cog" ></i> Admin</a>
  76. <a class="dropdown-item" href="{% url 'core_logout' %}" ><i class="fas fa-sign-out-alt"></i> Déconnexion</a>
  77. {% endif %}
  78. </div>
  79. </div>
  80. {% endif %}
  81. </div>
  82. <div class="pos-f-t d-lg-none justify-content-end">
  83. <a class="navbar-brand" href="{% url 'core_index' %}"><i class="{{page.c_sitelogo}}"></i> {{page.c_sitename}} </a>
  84. <div class="collapse" id="navbarToggleExternalContent">
  85. <div class="p-3" style="background-color: {{page.c_bgcolor}};">
  86. {% if page.p_menu_haut %}
  87. <ul class="navbar-nav">
  88. {% for item in page.p_menu_haut %}
  89. <li class="nav-item"><a class="nav-link" {%if item.p_type == "lien_ext" %}target="_blank"{% endif %} href="{{item.p_adresse}}">{% if item.p_icone %}<i class="{{item.p_icone}}" ></i> {% endif %}{{item.p_titre}}</a></li>
  90. {% endfor %}
  91. {% if page.c_menulogin == 'True' %}
  92. <hr>
  93. {% if not request.user.is_authenticated %}
  94. <li class="nav-item"><a class="nav-link" href="{% url 'core_login' %}" ><i class="fas fa-sign-in-alt"></i> Connexion</a></li>
  95. {% elif request.user.is_authenticated %}
  96. <li class="nav-item"><a class="nav-link" href="{% url 'admin:index' %}" ><i class="fas fa-cog" ></i> Admin</a></li>
  97. <li class="nav-item"><a class="nav-link" href="{% url 'core_logout' %}" ><i class="fas fa-sign-out-alt"></i> Déconnexion</a></li>
  98. {% endif %}
  99. {% endif %}
  100. </ul>
  101. {% endif %}
  102. </div>
  103. </div>
  104. <nav class="navbar navbar-dark" style="background-color: {{page.c_bgcolor}};">
  105. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation">
  106. <span class="navbar-toggler-icon"></span>
  107. </button>
  108. </nav>
  109. </div>
  110. </div>
  111. </nav>
  112. </header>
  113. <main role="main" class="flex-shrink-0">
  114. <div class="container-fluid mw-100">
  115. <div class="row p-2">
  116. {% block left_panel %}
  117. {% endblock %}
  118. <div class="col-lg-9 p-lg-1 p-md-0 mb-sm-1">
  119. {% if messages %}
  120. <div class="card-body messages p-0 mr-3 ml-3">
  121. {% for message in messages %}
  122. <div class="m-2 alert alert-dismissable alert-{{ message.tags }}" data-alert="alert">
  123. <button type="button" class="close" data-dismiss="alert" >&times;</button>
  124. {{ message }}
  125. </div>
  126. {% endfor %}
  127. </div>
  128. {% endif %}
  129. {% if page.c_card_mp == 'True'%}<div class="card" style="background-color: rgba(250,250,250,0.88);" >
  130. {% if page.p_see_title_and_des_in_templates == True %}
  131. <div class="card-header">
  132. <h2>{% block title %}{% if page.p_icone != "" %}<i class="{{page.p_icone}}"></i> {% endif %}{{page.p_titre|safe}}{% endblock %}</h2>
  133. </div>
  134. {% endif %}
  135. {% else %}
  136. <div>
  137. {% endif %}
  138. {% if page.p_include %}
  139. {% include page.p_include %}
  140. {% else %}
  141. {% block main %}{% endblock %}
  142. {% endif %}
  143. </div>
  144. </div>
  145. <div class="col-lg-3 p-lg-1 p-md-0 mb-sm-1">
  146. {% if page.c_card_rp == 'True'%}<div class="card" style="background-color: rgba(250,250,250,0.88);" >{% endif %}
  147. {% comment %} {% if page.c_includ_rp != 'None'%}{% include page.c_includ_rp %}{% endif %} {% endcomment %}
  148. {% block right_panel %}
  149. {% endblock %}
  150. {% if not request.user.is_authenticated and page.p_right and not "account/" in request.path %}
  151. <div class="card-body">
  152. <h5 class="card-title"> Une Pub </h5>
  153. <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  154. <!-- Pub-1 -->
  155. <ins class="adsbygoogle"
  156. style="display:block"
  157. data-ad-client="ca-pub-0171697375250839"
  158. data-ad-slot="9918621322"
  159. data-ad-format="auto"
  160. data-full-width-responsive="true">
  161. </ins>
  162. <script>
  163. (adsbygoogle = window.adsbygoogle || []).push({});
  164. </script>
  165. {% endif %}
  166. {% if page.c_card_rp != 'None'%}</div>{% endif %}
  167. </div>
  168. </div>
  169. </div>
  170. </main>
  171. <footer class="footer mt-auto py-1 text-white" style="background-color: {{page.c_bgcolor}};">
  172. <div class="container">
  173. {{page.c_sitename}} - {{page.c_siteversion}}
  174. {% if page.p_menu_pied %}
  175. {% for item in page.p_menu_pied %}
  176. <a class="link-light" href="{{item.p_adresse}}">{{item.p_titre}}</a>{% if not forloop.last %}, {% endif %}
  177. {% endfor %}
  178. {% endif %}
  179. </div>
  180. </footer>
  181. {% block modals %}{% endblock %}
  182. <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js" crossorigin="anonymous"></script>
  183. <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
  184. <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.min.js" integrity="sha384-+sLIOodYLS7CIrQpBjl+C7nPvqq+FbNUBDunl/OZv93DB7Ln/533i8e/mZXLi/P+" crossorigin="anonymous"></script>
  185. {% block script %}
  186. {% endblock %}
  187. </body>
  188. </html>