Le repo des sources pour le site web des JM2L
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 

253 Zeilen
10 KiB

  1. <!DOCTYPE html>
  2. <html>
  3. <%namespace name="helpers" file="jm2l:templates/helpers.mako"/>
  4. <head>
  5. <title>JM2L 2015</title>
  6. <meta charset="utf-8">
  7. <meta name="keywords" content="python web application" />
  8. <meta name="description" content="jm2l LinuxAzur journée méditéranéenne logiciel libre" />
  9. <!-- Force latest IE rendering engine or ChromeFrame if installed -->
  10. <!--[if IE]>
  11. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  12. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  13. <![endif]-->
  14. <link rel="shortcut icon" href="/static/favicon.ico" />
  15. <link rel="stylesheet" href="/css/pylons.css" type="text/css" media="screen" />
  16. <link rel="stylesheet" href="/css/bootstrap.min.css" type="text/css" media="screen" />
  17. <link rel="stylesheet" href="/css/jm2l.css" type="text/css" media="screen" />
  18. <link rel="stylesheet" href="/css/bootstrap-responsive.css">
  19. ${self.cssAddOn()}
  20. <!--[if lte IE 6]>
  21. <link rel="stylesheet" href="/static/ie6.css" type="text/css" media="screen" charset="utf-8" />
  22. <![endif]-->
  23. <script src="/vendor/modernizr-2.8.3-respond-1.4.2.min.js"></script>
  24. ${self.cssAddOn()}
  25. ${self.jsAddOn_head()}
  26. </head>
  27. <body>
  28. <%
  29. context._kwargs['postpone_js']=[]
  30. DisplayYear = request.session.get('year', 2015)
  31. %>
  32. <%def name="jsAddOn_head()"></%def>
  33. <%def name="jsAddOn()"></%def>
  34. <%def name="cssAddOn()"></%def>
  35. ${helpers.uploader_js()}
  36. <div id="wrap">
  37. <div id="top">
  38. % if DisplayYear!=2015:
  39. ## style="background: url( ${"/img/%s/headerbg.png" % DisplayYear} ) repeat-x scroll 0 top #ffffff;">
  40. <div class="align-center">
  41. <a href="/">
  42. <div style="height:215px;background: url( ${"/img/%s/logo.png" % DisplayYear} ) no-repeat scroll center center transparent">
  43. </div>
  44. </a>
  45. </div>
  46. % else:
  47. <!-- Carousel
  48. ================================================== -->
  49. <div id="TitleCarousel" class="carousel slide" data-ride="carousel">
  50. <!-- Indicators -->
  51. <div class="carousel-inner" role="listbox">
  52. <div class="item ${["","active"][request.user and request.user.vote_logo==1 or request.user is None]}">
  53. <a href="/">
  54. <div style="height:215px;background: url(/img/2015/logo.png) no-repeat scroll center center transparent"></div>
  55. </a>
  56. </div>
  57. <div class="item ${["","active"][request.user and request.user.vote_logo==2 or 0]}">
  58. <a href="/">
  59. <div style="height:215px;background: url(/img/2015/logo_1.png) no-repeat scroll center center transparent"></div>
  60. </a>
  61. </div>
  62. <div class="item ${["","active"][request.user and request.user.vote_logo==3 or 0]}">
  63. <a href="/">
  64. <div style="height:215px;background: url(/img/2015/logo_2.png) no-repeat scroll center center transparent"></div>
  65. </a>
  66. </div>
  67. % if request.user and request.user.vote_logo not in [1,2,3]:
  68. <div class="item active">
  69. <div class="align-center">
  70. <H1>JM2L 2015</H1>
  71. <H2> &laquo; Do It Yourself &raquo;</H2>
  72. <h3>Choisissez ici votre logo préféré !</h3>
  73. <p>Utilisez les flèches pour choisir et voter !<br>
  74. Vous pouvez changer à tout moment, mais vous n'aurez droit qu'a un seul choix, le vôtre ;)</p>
  75. </div>
  76. </div>
  77. % endif
  78. </div>
  79. <a class="left Tcarousel-control" href="#TitleCarousel" role="button" data-slide="prev">
  80. <img src="/img/chev-left.png">
  81. </a>
  82. <a class="right Tcarousel-control" href="#TitleCarousel" role="button" data-slide="next">
  83. <img src="/img/chev-right.png">
  84. </a>
  85. <div class="carousel-vote">
  86. % if request.user:
  87. <a href="#" class="btn"></a>
  88. % else:
  89. <a href="/sign/login" class="btn">Je m'identifie !</a>
  90. % endif
  91. </div>
  92. </div><!-- /.carousel -->
  93. % endif
  94. </div>
  95. <div id="middle">
  96. <div class="navbar">
  97. <div class="navbar-inner">
  98. <div class="container">
  99. <div class="nav pull-left">
  100. <div class="btn-group">
  101. <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
  102. <span class="brand" style="padding: 0 10px 0 18px;">JM2L
  103. <small>${DisplayYear}</small>&nbsp;<span class="caret"></span></span></a>
  104. <ul class="dropdown-menu">
  105. % for tmpyear in range(2015, 2005, -1):
  106. % if tmpyear!=2014:
  107. <li><a href="/year/${tmpyear}">${tmpyear}</a></li>
  108. % endif
  109. % endfor
  110. </ul>
  111. </div>
  112. <div class="btn-group">
  113. <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
  114. % if request.user:
  115. <i class="icon-user"></i> ${request.user.prenom} ${request.user.nom}
  116. % else:
  117. <i class="icon-user icon-white"></i> Visiteur
  118. % endif
  119. <span class="caret"></span>
  120. </a>
  121. <ul class="dropdown-menu">
  122. % if request.user:
  123. % if request.user.Staff:
  124. <li><a href="/Staff">Partie Staff</a></li>
  125. <li><a href="/ListSalles">Gérer les salles</a></li>
  126. % endif
  127. <li><a href="/sign/out">Me déconnecter</a></li>
  128. % else:
  129. <li><a href="/participer-l-evenement#inscription">Je m'inscris</a></li>
  130. <li><a href="/sign/login">Je m'identifie</a></li>
  131. % endif
  132. ## <li>Mode
  133. ## <span class="visible-phone"> ✔ Phone</span>
  134. ## <span class="visible-tablet"> ✔ Tablet</span>
  135. ## <span class="visible-desktop"> ✔ Desktop</span>
  136. ## </li>
  137. </ul>
  138. </div>
  139. </div>
  140. <ul class="nav nav-pills pull-right">
  141. <li class="${accueil or ''}"><a href="/">Accueil</a></li>
  142. <li class="${programme or ''}"><a href="/${DisplayYear}/le-programme">Programme</a></li>
  143. <li class="${presse or ''}"><a href="/${DisplayYear}/dossier-de-presse">Presse</a></li>
  144. <li class="${plan or ''}"><a href="/nous-rejoindre">Contact et Plan</a></li>
  145. % if request.user:
  146. <li class="${participer or ''}"><a href="/MesJM2L">Mes JM2L</a></li>
  147. % else:
  148. <li class="${participer or ''}"><a href="/participer-l-evenement">Participer</a></li>
  149. % endif
  150. </ul>
  151. </div>
  152. </div>
  153. </div>
  154. <div class="middle align-center">
  155. </div>
  156. </div>
  157. <div id="bottom">
  158. % for type, message in request.session.pop_flash():
  159. <div class="container-fluid">
  160. <br>
  161. <div class="span6 offset3">
  162. <div class="alert alert-${type}">
  163. <button type="button" class="close" data-dismiss="alert">&times;</button>
  164. ${message}
  165. </div>
  166. </div>
  167. </div>
  168. % endfor
  169. <div class="container-fluid">
  170. <!--Body content-->
  171. ${next.body()}
  172. </div>
  173. </div>
  174. </div>
  175. <footer class="footer">
  176. <div class="container">
  177. <h4>JM2L 2005-2015</h4>
  178. <p>
  179. Concocté par <a href="http://www.linux-azur.org/">Linux Azur</a> ~
  180. <a href="http://creativecommons.org/licenses/by-sa/4.0/">CopyFriendly</a>
  181. </p>
  182. <p>
  183. +33 6 52 42 31 37 ~ contact at jm2l.linux-azur dot org
  184. </p>
  185. <p>
  186. Conception et construction en <a href="http://git.linux-azur.org/JM2L/jm2l/src/master">DIY</a> ~
  187. Hébergé par <a href="http://www.heberg-24.com/"> Heberg24 </a>
  188. </p>
  189. <p>
  190. Vous avez trouvé un bug ? <a href="http://git.linux-azur.org/JM2L/jm2l/issues">Reportez-le ici</a>
  191. </p>
  192. </div>
  193. </footer>
  194. <script src="/vendor/jquery.min.js"></script>
  195. <script src="/vendor/bootstrap.min.js"></script>
  196. <script src="/vendor/fileupload/js/jquery-uploader.min.js"></script>
  197. <script src="/vendor/ckeditor/ckeditor.js"></script>
  198. <script src="/js/plugins.js"></script>
  199. ${self.jsAddOn()}
  200. ## Then Handle Javascript
  201. <script>
  202. % for jsitem in context._kwargs['postpone_js']:
  203. ${jsitem | n}
  204. % endfor
  205. ## Call Control Handler
  206. HandleControls();
  207. </script>
  208. <!-- Piwik -->
  209. <script type="text/javascript">
  210. var _paq = _paq || [];
  211. _paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
  212. _paq.push(['trackPageView']);
  213. _paq.push(['enableLinkTracking']);
  214. (function() {
  215. var u="//stats.style-python.fr/";
  216. _paq.push(['setTrackerUrl', u+'piwik.php']);
  217. _paq.push(['setSiteId', 4]);
  218. var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
  219. g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  220. })();
  221. </script>
  222. <noscript><p><img src="//stats.style-python.fr/piwik.php?idsite=4" style="border:0;" alt="" /></p></noscript>
  223. <!-- End Piwik Code -->
  224. % if request.user:
  225. <script>
  226. function handlevote() {
  227. currentIndex = $('div.active').index() + 1;
  228. $('.carousel-vote a').attr('href', "/vote_logo/" + currentIndex )
  229. if (currentIndex==${request.user.vote_logo or 0}) {
  230. $('.carousel-vote a').removeClass('btn-primary').addClass('btn-success')
  231. $('.carousel-vote a').html("<i class='icon-ok icon-white'></i> Mon préféré ! ");
  232. } else {
  233. $('.carousel-vote a').removeClass('btn-success').addClass('btn-primary');
  234. $('.carousel-vote a').html("<i class='icon-star icon-white'></i> Je vote pour ce logo ! ");
  235. }
  236. }
  237. $('#TitleCarousel').bind('slid', function() {
  238. handlevote();
  239. });
  240. handlevote();
  241. </script>
  242. % endif
  243. </body>
  244. </html>