Le repo des sources pour le site web des JM2L
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 

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