Browse Source

Un squelette basé sur le design créé par Jordan

cf la capture écran sur l'article https://contrib.spip.net/Refonte-de-l-identite-graphique

Ce squelette Z et SCSS est conçu pour être surchargé par des thèmes spécialisé, sous la forme d'autres plugins à installer.

Ce ne sont pas des thèmes au sens de ceux qui existent pour la dist ou pour Spipr, ces thèmes là peuvent déclarer des dépendances, des configurations, des options etc.
Ils s'installent donc comme des plugins et pas avec Zen-Garden.

Deux thèmes pour l'instant : programmer.spip.net, et spip.net

C'est un travail en cours, j'uploade tout ça sur la zone pour le partager et en discuter.

TODO : une documentation du squelette et de la façon de créer un thème (surcharges).
pull/3/head
nicolas.dorigny@gmail.com 4 years ago
commit
d470a5d737
  1. 134
      .gitattributes
  2. 3
      article.html
  3. 1
      aside/article.html
  4. 1
      aside/dist.html
  5. 1
      aside/mot.html
  6. 1
      aside/rubrique.html
  7. 3
      aside/sommaire.html
  8. 38
      body.html
  9. 11
      breadcrumb/article.html
  10. 6
      breadcrumb/auteur.html
  11. 4
      breadcrumb/dist.html
  12. 11
      breadcrumb/mot.html
  13. 11
      breadcrumb/rubrique.html
  14. 0
      breadcrumb/sommaire.html
  15. 61
      content/article.html
  16. 31
      content/auteur.html
  17. 42
      content/mot.html
  18. 83
      content/recherche.html
  19. 23
      content/rubrique.html
  20. 5
      content/sommaire.html
  21. 0
      extra/dist.html
  22. BIN
      favicon.ico
  23. 13
      footer/dist.html
  24. 16
      formulaires/recherche.html
  25. 42
      formulaires/recherche.php
  26. 21
      galactic_autorisations.php
  27. 49
      galactic_fonctions.php
  28. 75
      galactic_options.php
  29. 21
      galactic_pipelines.php
  30. 2
      head/404.html
  31. 5
      head/article.html
  32. 11
      head/auteur.html
  33. 5
      head/breve.html
  34. 26
      head/dist.html
  35. 6
      head/mot.html
  36. 3
      head/plan.html
  37. 2
      head/recherche.html
  38. 5
      head/rubrique.html
  39. 5
      head/site.html
  40. 23
      head/sommaire.html
  41. 7
      header/dist.html
  42. 7
      header/sommaire.html
  43. 60
      images/favicon-footer.svg
  44. BIN
      images/favicon-topnav.png
  45. 60
      images/favicon-topnav.svg
  46. BIN
      images/favicon.png
  47. BIN
      images/icone-calendrier.png
  48. BIN
      images/icone-dropdown-over.png
  49. BIN
      images/icone-dropdown.png
  50. 5
      images/icone-loupe.svg
  51. 6
      images/icone-rss.svg
  52. 8
      images/icone-telecharger.svg
  53. BIN
      images/logo_relief.png
  54. 153
      inclure/forum.html
  55. 0
      inclure/head-theme.html
  56. 38
      inclure/head.html
  57. 15
      inclure/menu_lang.html
  58. 7
      inclure/menu_lang_select.html
  59. 14
      inclure/navigation_mots_cles.html
  60. 19
      inclure/navigation_tous_mots_cles.html
  61. 3
      javascript/modernizr-custom.js
  62. 51
      javascript/scripts.js
  63. 15
      lang/galactic_fr.php
  64. 14
      lang/paquet-galactic_fr.php
  65. 13
      modeles/article_traductions.html
  66. 14
      modeles/rubrique_traductions.html
  67. 19
      modeles/synthese.html
  68. 21
      modeles/synthese_branche.html
  69. 49
      nav/dist.html
  70. 26
      paquet.xml
  71. BIN
      prive/themes/spip/images/galactic-128.png
  72. BIN
      prive/themes/spip/images/galactic-32.png
  73. BIN
      prive/themes/spip/images/galactic-64.png
  74. 3
      rubrique.html
  75. 260
      scss/base/_main.scss
  76. 427
      scss/base/_normalize.scss
  77. 86
      scss/base/_print.scss
  78. 182
      scss/base/_spip.scss
  79. 116
      scss/base/_typo.scss
  80. 25
      scss/blocs/_breadcrumb.scss
  81. 28
      scss/blocs/_content.scss
  82. 60
      scss/blocs/_footer.scss
  83. 131
      scss/blocs/_header.scss
  84. 70
      scss/blocs/_layout.scss
  85. 175
      scss/blocs/_nav.scss
  86. 389
      scss/components/_boussole.scss
  87. 65
      scss/components/_comments.scss
  88. 338
      scss/components/_forms.scss
  89. 46
      scss/galactic.scss
  90. 1
      scss/galactic_theme.scss
  91. 7
      scss/styles/_sommaire.scss
  92. 195
      scss/styles/_styles.scss
  93. 139
      scss/utils/_helpers.scss
  94. 50
      scss/utils/_mixins.scss
  95. 68
      scss/utils/_variables.scss
  96. 20
      structure.html
  97. 46
      webfonts/montserrat/SIL Open Font License.txt
  98. 5
      webfonts/montserrat/generator_config.txt
  99. BIN
      webfonts/montserrat/montserrat-black-webfont.woff
  100. BIN
      webfonts/montserrat/montserrat-black-webfont.woff2

134
.gitattributes

@ -0,0 +1,134 @@
* text=auto !eol
/article.html -text
aside/article.html -text
aside/dist.html -text
aside/mot.html -text
aside/rubrique.html -text
aside/sommaire.html -text
/body.html -text
breadcrumb/article.html -text
breadcrumb/auteur.html -text
breadcrumb/dist.html -text
breadcrumb/mot.html -text
breadcrumb/rubrique.html -text
breadcrumb/sommaire.html -text
content/article.html -text
content/auteur.html -text
content/mot.html -text
content/recherche.html -text
content/rubrique.html -text
content/sommaire.html -text
extra/dist.html -text
/favicon.ico -text
footer/dist.html -text
formulaires/recherche.html -text
formulaires/recherche.php -text
/galactic_autorisations.php -text
/galactic_fonctions.php -text
/galactic_options.php -text
/galactic_pipelines.php -text
head/404.html -text
head/article.html -text
head/auteur.html -text
head/breve.html -text
head/dist.html -text
head/mot.html -text
head/plan.html -text
head/recherche.html -text
head/rubrique.html -text
head/site.html -text
head/sommaire.html -text
header/dist.html -text
header/sommaire.html -text
images/favicon-footer.svg -text
images/favicon-topnav.png -text
images/favicon-topnav.svg -text
images/favicon.png -text
images/icone-calendrier.png -text
images/icone-dropdown-over.png -text
images/icone-dropdown.png -text
images/icone-loupe.svg -text
images/icone-rss.svg -text
images/icone-telecharger.svg -text
images/logo_relief.png -text
inclure/forum.html -text
inclure/head-theme.html -text
inclure/head.html -text
inclure/menu_lang.html -text
inclure/menu_lang_select.html -text
inclure/navigation_mots_cles.html -text
inclure/navigation_tous_mots_cles.html -text
javascript/modernizr-custom.js -text
javascript/scripts.js -text
lang/galactic_fr.php -text
lang/paquet-galactic_fr.php -text
modeles/article_traductions.html -text
modeles/rubrique_traductions.html -text
modeles/synthese.html -text
modeles/synthese_branche.html -text
nav/dist.html -text
/paquet.xml -text
prive/themes/spip/images/galactic-128.png -text
prive/themes/spip/images/galactic-32.png -text
prive/themes/spip/images/galactic-64.png -text
/rubrique.html -text
scss/base/_main.scss -text
scss/base/_normalize.scss -text
scss/base/_print.scss -text
scss/base/_spip.scss -text
scss/base/_typo.scss -text
scss/blocs/_breadcrumb.scss -text
scss/blocs/_content.scss -text
scss/blocs/_footer.scss -text
scss/blocs/_header.scss -text
scss/blocs/_layout.scss -text
scss/blocs/_nav.scss -text
scss/components/_boussole.scss -text
scss/components/_comments.scss -text
scss/components/_forms.scss -text
scss/galactic.scss -text
scss/galactic_theme.scss -text
scss/styles/_sommaire.scss -text
scss/styles/_styles.scss -text
scss/utils/_helpers.scss -text
scss/utils/_mixins.scss -text
scss/utils/_variables.scss -text
/structure.html -text
webfonts/montserrat/SIL[!!-~]Open[!!-~]Font[!!-~]License.txt -text
webfonts/montserrat/generator_config.txt -text
webfonts/montserrat/montserrat-black-webfont.woff -text
webfonts/montserrat/montserrat-black-webfont.woff2 -text
webfonts/montserrat/montserrat-bold-webfont.woff -text
webfonts/montserrat/montserrat-bold-webfont.woff2 -text
webfonts/montserrat/montserrat-extrabold-webfont.woff -text
webfonts/montserrat/montserrat-extrabold-webfont.woff2 -text
webfonts/montserrat/montserrat-extralight-webfont.woff -text
webfonts/montserrat/montserrat-extralight-webfont.woff2 -text
webfonts/montserrat/montserrat-light-webfont.woff -text
webfonts/montserrat/montserrat-light-webfont.woff2 -text
webfonts/montserrat/montserrat-medium-webfont.woff -text
webfonts/montserrat/montserrat-medium-webfont.woff2 -text
webfonts/montserrat/montserrat-regular-webfont.woff -text
webfonts/montserrat/montserrat-regular-webfont.woff2 -text
webfonts/montserrat/montserrat-semibold-webfont.woff -text
webfonts/montserrat/montserrat-semibold-webfont.woff2 -text
webfonts/montserrat/montserrat-thin-webfont.woff -text
webfonts/montserrat/montserrat-thin-webfont.woff2 -text
webfonts/montserrat/sources[!!-~]otf/Montserrat-Black.otf -text
webfonts/montserrat/sources[!!-~]otf/Montserrat-Bold.otf -text
webfonts/montserrat/sources[!!-~]otf/Montserrat-ExtraBold.otf -text
webfonts/montserrat/sources[!!-~]otf/Montserrat-ExtraLight.otf -text
webfonts/montserrat/sources[!!-~]otf/Montserrat-Light.otf -text
webfonts/montserrat/sources[!!-~]otf/Montserrat-Medium.otf -text
webfonts/montserrat/sources[!!-~]otf/Montserrat-Regular.otf -text
webfonts/montserrat/sources[!!-~]otf/Montserrat-SemiBold.otf -text
webfonts/montserrat/sources[!!-~]otf/Montserrat-Thin.otf -text
webfonts/montserrat/sources[!!-~]otf/MontserratAlternates-Black.otf -text
webfonts/montserrat/sources[!!-~]otf/MontserratAlternates-Bold.otf -text
webfonts/montserrat/sources[!!-~]otf/MontserratAlternates-ExtraBold.otf -text
webfonts/montserrat/sources[!!-~]otf/MontserratAlternates-ExtraLight.otf -text
webfonts/montserrat/sources[!!-~]otf/MontserratAlternates-Light.otf -text
webfonts/montserrat/sources[!!-~]otf/MontserratAlternates-Medium.otf -text
webfonts/montserrat/sources[!!-~]otf/MontserratAlternates-Regular.otf -text
webfonts/montserrat/sources[!!-~]otf/MontserratAlternates-SemiBold.otf -text
webfonts/montserrat/sources[!!-~]otf/MontserratAlternates-Thin.otf -text

3
article.html

@ -0,0 +1,3 @@
<BOUCLE_principale_article(ARTICLES){id_article}>
<INCLURE{fond=structure,env,id_secteur=#ID_SECTEUR,type-page=article,composition=#COMPOSITION} />
</BOUCLE_principale_article>

1
aside/article.html

@ -0,0 +1 @@
<INCLURE{fond=inclure/navigation_mots_cles}{id_article} />

1
aside/dist.html

@ -0,0 +1 @@

1
aside/mot.html

@ -0,0 +1 @@
<INCLURE{fond=inclure/navigation_tous_mots_cles}{env}{ajax} />

1
aside/rubrique.html

@ -0,0 +1 @@
<INCLURE{fond=inclure/navigation_mots_cles}{id_rubrique} />

3
aside/sommaire.html

@ -0,0 +1,3 @@
[(#REM) Inscription au site
#FORMULAIRE_INSCRIPTION
]

38
body.html

@ -0,0 +1,38 @@
<body class="body[--(#ENV{type-page})][ body--(#COMPOSITION)]">
<div class="page__wrapper">
<div class="page__header page--container">
<INCLURE{fond=header/#ENV{type-page},env}>
</div>
<div class="page__content page--container">
<main class="contentMain" role="main">
<div class="contentMain__breadcrumb">
<INCLURE{fond=breadcrumb/#ENV{type-page},env}>
</div>
<div class="contentMain__main">
<INCLURE{fond=content/#ENV{type-page},env}>
</div>
<aside class="contentMain__extra">
<INCLURE{fond=extra/#ENV{type-page},env}>
</aside>
</main>
<nav class="contentNav">
<div class="contentNav__main" role="navigation">
<INCLURE{fond=nav/#ENV{type-page},env}>
</div>
<aside class="contentNav__aside">
<INCLURE{fond=aside/#ENV{type-page},env}>
</aside>
</nav>
</div>
<footer class="page__footer">
<div class="page--container">
<INCLURE{fond=footer/#ENV{type-page}}/>
</div>
</footer>
</div>
</body>

11
breadcrumb/article.html

@ -0,0 +1,11 @@
<B_breadcrumb>
<nav role="navigation">
<p><span class="visuallyhidden"><:skelrmp:vousetesici:></span>
<BOUCLE_breadcrumb(ARTICLES){id_article}>
<span><a href="#URL_SITE_SPIP"><:accueil_site:></a></span>
<BOUCLE_ariane(HIERARCHIE){id_article}><span><a href="#URL_RUBRIQUE">[(#TITRE|couper{60})]</a></span></BOUCLE_ariane>
[<span>(#TITRE|couper{60})</span>]
</BOUCLE_breadcrumb>
</p>
</nav>
</B_breadcrumb>

6
breadcrumb/auteur.html

@ -0,0 +1,6 @@
<nav role="navigation">
<p><span class="visuallyhidden"><:skelrmp:vousetesici:></span>
<span><a href="#URL_SITE_SPIP"><:accueil_site:></a></span>
<BOUCLE_ariane(AUTEURS){id_auteur}><span>[(#NOM|couper{60})]</span></BOUCLE_ariane>
</p>
</nav>

4
breadcrumb/dist.html

@ -0,0 +1,4 @@
<nav role="navigation">
<span><a href="#URL_SITE_SPIP"><:accueil_site:></a></span>
</nav>

11
breadcrumb/mot.html

@ -0,0 +1,11 @@
<B_breadcrumb>
<nav role="navigation">
<p><span class="visuallyhidden"><:skelrmp:vousetesici:></span>
<BOUCLE_breadcrumb(MOTS){id_mot}>
<span><a href="#URL_SITE_SPIP"><:accueil_site:></a></span>
<BOUCLE_ariane(GROUPES_MOTS){id_groupe}><span>[(#TITRE|couper{60})]</span></BOUCLE_ariane>
[<span>(#TITRE|couper{60})</span>]
</BOUCLE_breadcrumb>
</p>
</nav>
</B_breadcrumb>

11
breadcrumb/rubrique.html

@ -0,0 +1,11 @@
<B_breadcrumb>
<nav role="navigation">
<p><span class="visuallyhidden"><:skelrmp:vousetesici:></span>
<BOUCLE_breadcrumb(RUBRIQUES){id_rubrique}>
<span><a href="#URL_SITE_SPIP"><:accueil_site:></a></span>
<BOUCLE_ariane(HIERARCHIE){id_rubrique}><span><a href="#URL_RUBRIQUE">[(#TITRE|couper{60})]</a></span></BOUCLE_ariane>
[<span>(#TITRE|couper{60})</span>]
</BOUCLE_breadcrumb>
</p>
</nav>
</B_breadcrumb>

0
breadcrumb/sommaire.html

61
content/article.html

@ -0,0 +1,61 @@
<BOUCLE_art(ARTICLES){id_article}>
[(#PLUGIN{polyhier}|oui)
#INCLURE{fond=inclure/documentation_hierarchie_poly,id_article,id_rubrique}
]
<article>
<div class="cartouche surlignable">
[(#LOGO_ARTICLE|image_reduire{180,120})]
[<p class="#EDIT{surtitre} surtitre">(#SURTITRE)</p>]
<h1 class="#EDIT{titre} entry-title" itemprop="name">#TITRE</h1>
[<p class="#EDIT{soustitre} soustitre">(#SOUSTITRE)</p>]
</div>
<div class="surlignable">
[<div class="#EDIT{descriptif} descriptif">(#DESCRIPTIF|PtoBR)</div>]
[<div class="#EDIT{chapo} chapo" itemprop="description">(#CHAPO|image_reduire{#CONFIG{documentation/taille_redimensionnement_image,440}, 0})</div>]
[<div class="#EDIT{texte} texte" itemprop="text">(#TEXTE|image_reduire{#CONFIG{documentation/taille_redimensionnement_image,440},0})</div>]
</div>
[(#PLUGIN{a2a}|oui)
<INCLURE{fond=inclure/a2a-articles,id_article} />]
[<div class="notes surlignable"><p class="pas_surlignable"><:info_notes:></p>(#NOTES)</div>]
[(#REM) Gestion du portfolio et des documents
Le critere {env} permet de passer d'autres arguments de la page
par exemple l'id_document choisi pour un affichage complet
]
[(#INCLURE{fond=inclure/documents,env})]
[<div class="extra ps">
<div class="#EDIT{ps}">(#PS|image_reduire{120,0})</div>
</div>]
<div class="article__statut">
[<p class="auteurs"><:auteur:>
(#LESAUTEURS)</p>]
<BOUCLE_mot(MOTS){type=Licence}{id_article}>[<p><:documentation:licence:>
<abbr class="licence"[ title="(#DESCRIPTIF|attribut_html)"]>(#TITRE)</abbr></p>]</BOUCLE_mot>
[<p class="publication"><:documentation:publie_le:>
<abbr class="published" itemprop="datePublished" title="[(#DATE|date_iso)]">(#DATE|affdate{d/m/y})</abbr></p>]
[<p><:documentation:mis_a_jour:>
<abbr class="modified updated" itemprop="dateModified" title="[(#MAJ|date_iso)]">(#DATE|affdate{d/m/y}|!={#MAJ|affdate{d/m/y}}|?{#MAJ|affdate{d/m/y}})</abbr></p>]
[<p class="traductions"><:documentation:traductions:>
(#MODELE{article_traductions})</p>]
</div>
[(#REM)
Si pas traduit dans plus d'une langue, le modele article_traductions n'affiche rien ce qui est normal
On ajoute donc juste cette meta inLanguage pour http://schema.org/Article qui sera invisible par l'utilisateur mais là
][(#MODELE{article_traductions}|non)<meta itemprop="inLanguage" content="#LANG" />]
[(#REM) Forum de l'article ]
[(#PARAMETRES_FORUM|oui)
<div id="forum">
<INCLURE{fond=inclure/forum}{id_article} />
#FORMULAIRE_FORUM{#SELF}
</div>]
</article>
</BOUCLE_art>

31
content/auteur.html

@ -0,0 +1,31 @@
<BOUCLE_principale(AUTEURS) {id_auteur}>
<div class="vcard" itemscope itemtype="http://schema.org/Person">[(#REM) microformat vcard]
<div class="cartouche">
[(#LOGO_AUTEUR|image_reduire{224,*})]
<h1 class="#EDIT{qui} fn">#NOM</h1>
</div>
[<div class="#EDIT{bio} texte note">(#BIO)</div>]
[<p class="#EDIT{hyperlien} hyperlien"><:voir_en_ligne:> : <a href="(#URL_SITE)" class="url org spip_out">[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]</a></p>]
</div>[(#REM) / vcard]
[(#REM) Articles de l'auteur ]
<B_articles>
<div>
#ANCRE_PAGINATION
<h2><:articles_auteur:> (#GRAND_TOTAL)</h2>
<ul>
<BOUCLE_articles(ARTICLES) {id_auteur} {!par popularite} {pagination 10}>
<li><a href="#URL_ARTICLE">#TITRE</a></li>
</BOUCLE_articles>
</ul>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</div>
</B_articles>
#FORMULAIRE_ECRIRE_AUTEUR
[<div class="notes"><hr />(#NOTES)</div>]
</BOUCLE_principale>

42
content/mot.html

@ -0,0 +1,42 @@
<BOUCLE_principale(MOTS) {id_mot}>
<div class="cartouche">
[(#LOGO_MOT|image_reduire{180,120})]
<h1 class="[(#EDIT{titre})]">#TITRE</h1>
</div>
[<div class="#EDIT{texte} chapo">(#TEXTE|image_reduire{#CONFIG{documentation/taille_redimensionnement_image,440},0})</div>]
[(#REM) Rubriques liees au mot-cle ]
<B_rubriques>
<div class="menu">
<h2><:rubriques:></h2>
<ul class="items rubriques">
<BOUCLE_rubriques(RUBRIQUES) {id_mot} {par titre} {lang?}>
<li class='item'><h3><a href="#URL_RUBRIQUE">#TITRE</a></h3>
[<p class="introduction">(#INTRODUCTION{150}|ptobr)</p>]
</li>
</BOUCLE_rubriques>
</ul>
</div>
</B_rubriques>
[(#REM) Articles lies au mot-cle ]
<B_articles>
<div class="menu">
#ANCRE_PAGINATION
<h2><:articles:></h2>
<ul class="items articles">
<BOUCLE_articles(ARTICLES) {id_mot} {par popularite}{inverse} {pagination 10} {lang?}>
<li class='item'><h3><a href="#URL_ARTICLE">#TITRE</a></h3>
[<p class="introduction">(#INTRODUCTION{150}|ptobr)</p>]
</li>
</BOUCLE_articles>
</ul>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</div>
</B_articles>
[<div class="notes"><h2><:info_notes:></h2>(#NOTES)</div>]
</BOUCLE_principale>

83
content/recherche.html

@ -0,0 +1,83 @@
[<div class="cartouche">
<h1><:resultats_recherche:></h1>
<p class="soustitre">&#171;&nbsp;(#RECHERCHE)&nbsp;&#187;</p>
</div>]
[(#REM) Articles trouves ]
<B_articles>
#ANCRE_PAGINATION
<h2><:articles:> (#GRAND_TOTAL)</h2>
<ul>
<BOUCLE_articles(ARTICLES) {recherche} {!par points} {pagination 5}>
<li class="block-link-parent"><strong><strong><a href="#URL_ARTICLE"[ hreflang="(#LANG)"]>#TITRE</a></strong></strong>
[<br>(#INTRODUCTION{150}|ptobr)]
</li>
</BOUCLE_articles>
</ul>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</B_articles>
[(#REM) Rubriques trouvees ]
<B_rubriques>
#ANCRE_PAGINATION
<h2><:rubriques:> (#GRAND_TOTAL)</h2>
<ul>
<BOUCLE_rubriques(RUBRIQUES) {recherche} {!par points} {pagination 5}>
<li class="block-link-parent"><strong><strong><a href="#URL_RUBRIQUE"[ hreflang="(#LANG)"]>#TITRE</a></strong></strong>
[<br>(#INTRODUCTION{150}|ptobr)]
</li>
</BOUCLE_rubriques>
</ul>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</B_rubriques>
[(#REM) Mots-cles trouves ]
<B_mots>
#ANCRE_PAGINATION
<h2><:mots_clefs:> (#GRAND_TOTAL)</h2>
<ul>
<BOUCLE_mots(MOTS) {recherche} {!par points} {pagination 5}>
<li><strong><a href="#URL_MOT">#TITRE</a></strong></li>
</BOUCLE_mots>
</ul>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</B_mots>
[(#REM) Breves trouvees ]
<B_breves>
#ANCRE_PAGINATION
<h2><:breves:breves:> (#GRAND_TOTAL)</h2>
<ul>
<BOUCLE_breves(BREVES) {recherche} {!par points} {pagination 5}>
<li><strong><a href="#URL_BREVE">#TITRE</a></strong></li>
</BOUCLE_breves>
</ul>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</B_breves>
[(#REM) Messages trouves ]
<B_messages>
#ANCRE_PAGINATION
<h2><:messages_forum:> (#GRAND_TOTAL)</h2>
<ul>
<BOUCLE_messages(FORUMS?) {recherche} {!par points} {pagination 5}>
[<li class="block-link-parent">
<strong><a href="#URL_FORUM"[ title="(#TITRE|attribut_html|couper{80})"]>(#TEXTE|couper{80})</a></strong>
</li>]
</BOUCLE_messages>
</ul>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</B_messages>
[(#REM) Sites web trouves ]
<B_sites>
#ANCRE_PAGINATION
<h2><:sites_web:> (#GRAND_TOTAL)</h2>
<ul>
<BOUCLE_sites(SITES) {recherche} {!par points} {pagination 5}>
<li><strong><a href="[(#ID_SYNDIC|generer_url_entite{site,'','',#CONNECT})]">#NOM_SITE</a></strong></li>
</BOUCLE_sites>
</ul>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</B_sites>

23
content/rubrique.html

@ -0,0 +1,23 @@
<BOUCLE_rubrique_principal(RUBRIQUES) {id_rubrique}>
<article>
<div class="cartouche">
[(#LOGO_RUBRIQUE|image_reduire{180,120})]
<h1 class="#EDIT{titre}">#TITRE</h1>
</div>
[<div class="#EDIT{descriptif} descriptif">(#DESCRIPTIF|PtoBR)</div>]
[<div class="#EDIT{texte} chapo">(#TEXTE)</div>]
[<div class="notes"><h2><:info_notes:></h2>(#NOTES)</div>]
<div class="article__statut">
[<p><:documentation:mis_a_jour:>
<abbr class="modified" itemprop="dateModified" title="[(#DATE|date_iso)]">(#DATE|affdate{d/m/y})</abbr></p>]
[(#ID_TRAD|oui)[<p class="traductions"><:documentation:traductions:>
(#MODELE{rubrique_traductions})</p>]]
</div>
</article>
</BOUCLE_rubrique_principal>

5
content/sommaire.html

@ -0,0 +1,5 @@
<div class="cartouche">
<h1>#NOM_SITE_SPIP</h1>
</div>
#DESCRIPTIF_SITE_SPIP

0
extra/dist.html

BIN
favicon.ico

13
footer/dist.html

@ -0,0 +1,13 @@
<ul>
<li class="favicon"><a href="http://www.spip.net/" class="spip_out"><:site_realise_avec_spip:></a></li>
<?php if (isset($GLOBALS['visiteur_session']['id_auteur']) && $GLOBALS['visiteur_session']['id_auteur']) { ?>
<li><a href="#URL_LOGOUT" rel="nofollow"><:icone_deconnecter:></a></li>
<?php } else { ?>
<li><a href="[(#URL_PAGE{login}|parametre_url{url,#SELF})]" rel="nofollow"><:lien_connecter:></a></li>
<?php } ?>
<?php include_spip('inc/autoriser'); if (autoriser('ecrire')) { ?>
<li><a href="#URL_ECRIRE"><:espace_prive:></a></li>
<?php } ?>
<li><a href="[(#URL_PAGE{plan}|parametre_url{lang,#LANG})]"><:plan_site:></a></li>
<li class="rss"><a href="#URL_PAGE{backend}" rel="alternate" title="<:syndiquer_site:>">RSS&nbsp;2.0</a></li>
</ul>

16
formulaires/recherche.html

@ -0,0 +1,16 @@
<div class="formulaire_spip formulaire_recherche[ (#ENV{class})]" id="formulaire_recherche">
<form action="[(#ENV{action})]" method="get">
[(#ENV{action}|form_hidden)]
[<input type="hidden" name="lang" value="(#ENV{lang})"/>]
<label for="#ENV{_id_champ}" class="visuallyhidden">
<:info_rechercher_02:>
</label>
<img class="icone-svg" src="#CHEMIN{images/icone-loupe.svg}" alt="" width="16" height="16">
<div class="search">
<input type="search" placeholder="<:info_rechercher:>" name="recherche" id="#ENV{_id_champ}" [ value="(#ENV{recherche})" ] accesskey="4" autocapitalize="off" autocorrect="off"/>
</div>
<div class="submit">
<input type="submit" value="&gt;&gt;" title="<:info_rechercher:>"/>
</div>
</form>
</div>

42
formulaires/recherche.php

@ -0,0 +1,42 @@
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2016 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* chargement des valeurs par defaut des champs du #FORMULAIRE_RECHERCHE
* on peut lui passer l'url de destination en premier argument
* on peut passer une deuxième chaine qui va différencier le formulaire pour pouvoir en utiliser plusieurs sur une même page
*
* @param string $lien URL amène le formulaire validé
* @param string $class Une class différenciant le formulaire
* @return array
*/
function formulaires_recherche_charger_dist($lien = '', $class = '') {
if ($GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site']) {
$lang = $GLOBALS['spip_lang'];
} else {
$lang = '';
}
$action = ($lien ? $lien : generer_url_public('recherche')); # action specifique, ne passe pas par Verifier, ni Traiter
return
array(
'action' => $action,
'recherche' => _request('recherche'),
'lang' => $lang,
'class' => $class,
'_id_champ' => $class ? substr(md5($action . $class), 0, 4) : 'recherche'
);
}

21
galactic_autorisations.php

@ -0,0 +1,21 @@
<?php
/**
* Définit les autorisations du plugin Squelette SPIP
*
* @plugin Squelette SPIP
* @copyright 2017
* @author Jordan, nicod_
* @licence GNU/GPL
* @package SPIP\Skelspip\Autorisations
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Fonction d'appel pour le pipeline
* @pipeline autoriser */
function galactic_autoriser() {
}

49
galactic_fonctions.php

@ -0,0 +1,49 @@
<?php
/**
* Fonctions utiles au plugin Squelette SPIP
*
* @plugin Squelette SPIP
* @copyright 2017
* @author Jordan, nicod_
* @licence GNU/GPL
* @package SPIP\Skelspip\Fonctions
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* On définit le critères enfants si on n'a pas polyhiérarchie
*/
if(!function_exists('critere_enfants_dist')){
function critere_enfants_dist($idb, &$boucles, $crit){
global $exceptions_des_tables;
$boucle = &$boucles[$idb];
if (isset($crit->param[0])){
$arg = calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent);
}
else
$arg = kwote(calculer_argument_precedent($idb, 'id_rubrique', $boucles));
if ($boucle->type_requete == 'rubriques' OR isset($exceptions_des_tables[$boucle->id_table]['id_parent'])) {
$id_parent = isset($exceptions_des_tables[$boucle->id_table]['id_parent']) ?
$exceptions_des_tables[$boucle->id_table]['id_parent'] :
'id_parent';
$mparent = $boucle->id_table . '.' . $id_parent;
}
else {
$mparent = $boucle->id_table . '.id_rubrique';
}
$where = array();
$where[] = "is_array(\$r=$arg)?sql_in('$mparent',\$r):array('=', '$mparent', \$r)";
$where = reset($where);
$boucle->where[]= $where;
}
}

75
galactic_options.php

@ -0,0 +1,75 @@
<?php
/**
* Options au chargement du plugin Squelette SPIP
*
* @plugin Squelette SPIP
* @copyright 2017
* @author Jordan, nicod_
* @licence GNU/GPL
* @package SPIP\Skelspip\Options
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
// correction des intertitres
$GLOBALS['debut_intertitre'] = "\n<h2 class=\"spip\">\n";
$GLOBALS['fin_intertitre'] = "</h2>\n";
// les thèmes doivent contenir galactic dans le préfixe
define('_ZENGARDEN_FILTRE_THEMES','galactic');
/*
|----------------------------|
| header |
|----------------------------|
| | |
| content | nav |
| | |
| | |
| | |
| |--------|
| | aside |
|-------------------| |
| extra | |
| | |
|----------------------------|
| footer |
|----------------------------|
*/
// définition des blocs Z
$GLOBALS['z_blocs'] = array(
'content',
'head',
'header',
'breadcrumb',
'extra',
'nav',
'aside',
'footer',
);
define('_URLS_PROPRES_MIN', 2); // pour fr/ et en/
define('PLUGIN_COLORATION_CODE_TAB_WIDTH', 4);
define('PLUGIN_COLORATION_CODE_SANS_STYLES', true); // styles dans un fichier css specifique
// stocker la langue d'arrivee pour que le sommaire affiche la langue souhaitee
// et on ajoute la langue dans le contexte systematiquement.
if (!$langue = _request('lang')) {
include_spip('inc/lang');
$langues = explode(',', $GLOBALS['meta']['langues_multilingue']);
$langue = utiliser_langue_visiteur();
if (!in_array($langue, $langues)) {
$langue = $GLOBALS['meta']['langue_site'];
}
set_request('lang', $langue);
}
// stocker la langue...
if ($langue != $_COOKIE['spip_lang']) {
include_spip('inc/cookie');
spip_setcookie('spip_lang', $langue);
}

21
galactic_pipelines.php

@ -0,0 +1,21 @@
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Insertion dans le pipeline pre_boucle (SPIP)
*
* Tri des articles et rubriques par "num titre, titre" par défaut
*
* @param Object $boucle
* @return Object
*/
function galactic_pre_boucle($boucle){
if (in_array($boucle->type_requete, array('rubriques','articles'))
AND !$boucle->order) {
$boucle->select[] = "0+" . $boucle->id_table . ".titre AS autonum";
$boucle->order[] = "'autonum'";
$boucle->order[] = "'" . $boucle->id_table . ".titre'";
}
return $boucle;
}

2
head/404.html

@ -0,0 +1,2 @@
<title><:pass_erreur:> 404 - [(#NOM_SITE_SPIP|textebrut)]</title>
<meta name="robots" content="none" />

5
head/article.html

@ -0,0 +1,5 @@
<BOUCLE_article_head(ARTICLES) {id_article}>
<title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#INTRODUCTION{150}|attribut_html)" />]
[<link rel="canonical" href="(#URL_ARTICLE|url_absolue)" />]
</BOUCLE_article_head>

11
head/auteur.html

@ -0,0 +1,11 @@
<BOUCLE_auteur_head(AUTEURS) {id_auteur}>
<title>[(#NOM|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#BIO|couper{150}|attribut_html)" />]
[<link rel="canonical" href="(#URL_AUTEUR|url_absolue)" />]
[(#REM) Favicon personnalisee a partir du logo (si filtres d'image) ]
[(#MODELE{favicon}{favicon=#LOGO_AUTEUR})]
[(#REM) Lien vers le flux RSS des articles de l'auteur ]
<link rel="alternate" type="application/rss+xml" title="[(#NOM|textebrut)]" href="[(#URL_PAGE{backend}|parametre_url{id_auteur,#ID_AUTEUR})]" />
</BOUCLE_auteur_head>

5
head/breve.html

@ -0,0 +1,5 @@
<BOUCLE_breve_principal(BREVES) {id_breve}>
<title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#INTRODUCTION{150}|attribut_html)" />]
[<link rel="canonical" href="(#URL_BREVE|url_absolue)" />]
</BOUCLE_breve_principal>

26
head/dist.html

@ -0,0 +1,26 @@
[(#REM)
Cette inclusion est celle utilisee par defaut lorsqu'un head/xxx demande
n'existe pas
Ces deux balises #NOM_SITE_SPIP et #DESCRIPTIF_SITE_SPIP
permettent de récupérer des informations de configuration de SPIP
que l'on renseigne dans l'espace privé.
Ces enregistrements sont stockés en base de donnée dans une
table appelée "spip_meta". Les champs de la table peuvent aussi
être récupérés en utilisant la balise #CONFIG{nom de la configuration}
ce qui donnerait ici : #CONFIG{nom_site_spip}
Les |mot suivants les #BALISE indique qu'on applique certains traitements
au texte retourné par la balise.
|textebrut supprime toute balise HTML, |couper{150} coupe le texte
retourné à 150 caractères. Ces "filtres" peuvent se chaîner
|filtreA|filtreB ...
Ces deux lignes permettent au bout du compte de renseigner le titre
de la page affiché tout en haut du navigateur ainsi que la description du site
(utile aux moteurs de recherche)
]
<title>[(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#DESCRIPTIF_SITE_SPIP|couper{150}|textebrut)" />]

6
head/mot.html

@ -0,0 +1,6 @@
<BOUCLE_principale(MOTS) {id_mot} >
<title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#DESCRIPTIF|couper{150}|attribut_html)" />]
[(#REM) Lien vers le flux RSS des articles du mot cle ]
<link rel="alternate" type="application/rss+xml"[ title="(#TITRE|attribut_html)"] href="[(#URL_PAGE{backend}|parametre_url{id_mot,#ID_MOT})]" />
</BOUCLE_principale>

3
head/plan.html

@ -0,0 +1,3 @@
<title><:plan_site:> - [(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#DESCRIPTIF_SITE_SPIP|couper{150}|attribut_html)" />]
<meta name="robots" content="none" />

2
head/recherche.html

@ -0,0 +1,2 @@
<title><:resultats_recherche:> - [(#NOM_SITE_SPIP|textebrut)]</title>
<meta name="robots" content="none" />

5
head/rubrique.html

@ -0,0 +1,5 @@
<BOUCLE_rubrique_head(RUBRIQUES) {id_rubrique}>
<title>[(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#INTRODUCTION{150}|textebrut)" />]
[<link rel="canonical" href="(#URL_RUBRIQUE|url_absolue)" />]
</BOUCLE_rubrique_head>

5
head/site.html

@ -0,0 +1,5 @@
<BOUCLE_site(SITES){id_syndic}>
<title>[(#NOM_SITE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#DESCRIPTIF|couper{150}|textebrut)" />]
<meta name="robots" content="none" />
</BOUCLE_site>

23
head/sommaire.html

@ -0,0 +1,23 @@
[(#REM)
Ces deux balises #NOM_SITE_SPIP et #DESCRIPTIF_SITE_SPIP
permettent de récupérer des informations de configuration de SPIP
que l'on renseigne dans l'espace privé.
Ces enregistrements sont stockés en base de donnée dans une
table appelée "spip_meta". Les champs de la table peuvent aussi
être récupérés en utilisant la balise #CONFIG{nom de la configuration}
ce qui donnerait ici : #CONFIG{nom_site_spip}
Les |mot suivants les #BALISE indique qu'on applique certains traitements
au texte retourné par la balise.
|textebrut supprime toute balise HTML, |couper{150} coupe le texte
retourné à 150 caractères. Ces "filtres" peuvent se chaîner
|filtreA|filtreB ...
Ces deux lignes permettent au bout du compte de renseigner le titre
de la page affiché tout en haut du navigateur ainsi que la description du site
(utile aux moteurs de recherche)
]
<title>[(#NOM_SITE_SPIP|typo|textebrut)][ - (#SLOGAN_SITE_SPIP|typo|textebrut)]</title>
[<meta name="description" content="(#DESCRIPTIF_SITE_SPIP|couper{150}|textebrut)" />]

7
header/dist.html

@ -0,0 +1,7 @@
<div class="header__nav">
[<a rel="start" href="#URL_SITE_SPIP">(#LOGO_SITE_SPIP|image_reduire{0,50}|inserer_attribut{alt,#NOM_SITE_SPIP|textebrut})<span class="visuallyhidden"><:accueil_site:></span></a>]
<INCLURE{fond=inclure/menu_lang}{lang} />
</div>
<div class="header__search">
#FORMULAIRE_RECHERCHE
</div>

7
header/sommaire.html

@ -0,0 +1,7 @@
<div class="header__nav">
[(#LOGO_SITE_SPIP|image_reduire{0,50})]
<INCLURE{fond=inclure/menu_lang}{lang} />
</div>
<div class="header__search">
#FORMULAIRE_RECHERCHE
</div>

60
images/favicon-footer.svg

@ -0,0 +1,60 @@
<svg version="1.1" id="Calque_4" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-0.1 246.5 595.8 595.6" enable-background="new -0.1 246.5 595.8 595.6" xml:space="preserve">
<g>
<g>
<path fill="#FFFFFF" d="M423.9,423.4c-26.5-108.1-135.8-174.3-244-147.7c-10.1,2.4-19.6,5.7-28.9,9.5
c-42.8,24.4-79.5,59.3-105.7,101.3c-18.8,40.2-24.4,87-13.1,133.4c35.7,145.1,172.2,169.6,246.3,206.5
c15.8,7.7,28.3,21.7,32.7,39.9c8,32.1-11.9,65-44.1,72.7c-0.3,0-0.6,0-0.6,0c-1.2,0.3-2.4,0.6-3,0.6c-0.3,0-0.6,0-0.6,0.3l0,0
c11.3,1.5,23.2,2.1,34.8,2.1c19.6,0,39-1.8,57.8-5.7h0.3c0,0,0,0,0.3,0c31.5-22.9,47.9-63.2,38.1-103.4l0,0c0,0,0,0,0-0.3l0,0
v-0.3c-26.5-106.1-136.7-94.7-154.4-166.3c-12.5-50.6,21.4-89.4,72.1-101.9c30.1-7.4,60.2,0.6,82.2,18.5c3.3,2.7,7.1,6,11,10.4
c0,0.3,0.3,0.3,0.3,0.6c0,0,0,0,0.3,0.3c0.6,0.9,1.5,1.5,2.1,2.4c0.6,0.6,0.9,1.2,1.5,1.8c0.6,0.6,0.9,1.2,1.5,2.1l0.3,0.3
c4.5,6,7.4,10.4,11.3,9.5c3.3-0.9,5.4-8.6,6.3-14C431.4,472.6,429.9,447.9,423.9,423.4z"/>
</g>
</g>
<g>
<g>
<path fill="#848484" d="M311.3,766.4c-4.5-18.5-17-32.1-32.7-39.9C204.4,689.5,68,665.4,32.2,519.9
c-11.3-46.4-5.7-93.3,13.1-133.4c-8.9,14.3-16.7,29.5-23.2,45.2c-0.6,1.5-1.2,3.3-1.8,4.8c-1.2,3-2.4,6.3-3.6,9.5
c-0.6,1.5-1.2,3.3-1.8,4.8c-1.2,3.3-2.1,6.5-3,9.8c-0.6,1.8-0.9,3.3-1.5,5.1c-0.6,1.8-0.9,3.3-1.5,5.1c-0.9,3.3-1.5,6.8-2.4,10.1
c-0.3,1.8-0.6,3.3-1.2,5.1c-0.3,1.8-0.6,3.3-0.9,5.1c-0.3,0.9-0.3,2.1-0.6,3c-0.3,1.2-0.3,2.1-0.6,3.3c0,0.9-0.3,1.8-0.3,2.7
c0,1.5,0,2.7-0.3,3.9c-0.3,1.8-0.6,3.6-0.6,5.4c-0.3,1.5-0.3,3-0.6,4.8c-0.3,2.1-0.3,4.5-0.6,6.5c-0.3,2.7-0.3,5.1-0.6,7.7
c0,1.5-0.3,3-0.3,4.8c0,0.3,0,0.6,0,0.9c0,1.5,0,3.3,0,4.8c0,1.8,0,3.9,0,5.7c0,2.4,0,4.8,0,7.1c0,1.5,0,2.7,0,4.2
c0,1.2,0,2.4,0.3,3.6c0,0.6,0,1.5,0,2.1c0,1.8,0.3,3.3,0.3,5.1c0,0.6,0,1.5,0.3,2.1c0.3,2.1,0.3,4.2,0.6,6.3
c0.3,2.1,0.6,4.2,0.6,6.5c0,0.9,0.3,1.8,0.3,3c0.3,1.5,0.3,2.7,0.6,4.2s0.3,3,0.6,4.5c0,0.6,0,1.2,0.3,1.5c0.3,1.5,0.6,3,0.9,4.5
c0.3,1.2,0.3,2.4,0.6,3.6c0.3,1.2,0.6,2.4,0.6,3.6c0.3,0.9,0.3,2.1,0.6,3c0.3,1.5,0.6,2.7,0.9,4.2c0.6,2.1,0.9,3.9,1.5,6
c0.6,1.8,0.9,3.3,1.5,5.1c3,10.7,6.5,21.1,10.4,31.3c0.6,1.5,1.2,3,1.8,4.5c0.9,1.8,1.5,3.9,2.4,5.7c0.9,1.8,1.5,3.6,2.4,5.1
c0,0.3,0.3,0.6,0.3,0.6c0.6,1.5,1.5,3,2.1,4.2c0.3,0.9,0.9,1.8,1.5,2.7c0.6,1.2,1.2,2.4,2.1,3.9c0.9,1.8,1.8,3.6,2.7,5.4
c0.6,1.5,1.5,2.7,2.4,4.2c0.3,0.6,0.9,1.2,1.2,2.1c0.6,0.9,1.2,2.1,1.8,3c0.6,1.2,1.5,2.7,2.4,3.9c1.2,1.8,2.4,3.9,3.6,5.7
c1.2,1.8,2.4,3.6,3.6,5.7c3.9,5.7,7.7,11,11.6,16.1c1.5,1.8,2.7,3.6,4.2,5.1c1.2,1.2,2.1,2.7,3.3,3.9c1.8,2.1,3.6,4.2,5.4,6.3
c1.5,1.5,3,3.3,4.5,4.8s3,3.3,4.5,4.8c18.5,19,39.6,35.4,62.6,48.8c34.5,20.2,73.6,33.6,115.3,38.7c0.3,0,0.6,0,0.9-0.3
c0.6-0.3,1.8-0.3,3-0.6c0.3,0,0.6,0,0.6,0C299.4,831,319.4,798.5,311.3,766.4z"/>
</g>
</g>
<g>
<g>
<path fill="#848484" d="M297.9,246.5c-2.1,0-4.5,0-6.5,0c-1.2,0-2.4,0-3.6,0c-1.8,0-3.6,0-5.4,0.3c-2.1,0-4.2,0.3-6.3,0.3
c-0.6,0-1.2,0-1.8,0.3c-2.4,0.3-4.5,0.3-6.8,0.6c-1.8,0.3-3.3,0.3-5.1,0.6c-1.2,0-2.4,0.3-3.9,0.6s-3.3,0.3-4.8,0.6
s-3.3,0.6-4.8,0.9c-3.3,0.6-6.3,1.2-9.5,1.8c-1.5,0.3-3.3,0.6-4.8,0.9c-1.8,0.3-3.6,0.9-5.7,1.2c-1.8,0.3-3.3,0.9-5.1,1.2
c-0.6,0-1.2,0.3-1.8,0.6c-3,0.9-6,1.5-8.9,2.4c-0.3,0-0.9,0.3-1.5,0.3c-2.7,0.9-5.1,1.5-7.7,2.4c-0.3,0-0.6,0-0.6,0.3
c-1.8,0.6-3.9,1.2-5.7,2.1c-0.3,0-0.9,0.3-1.2,0.3c-0.9,0.3-1.5,0.6-2.4,0.9h-0.3c-1.8,0.9-3.3,1.5-5.1,2.4c-0.3,0-0.3,0-0.6,0.3
c-0.6,0.3-0.9,0.3-1.5,0.6c-2.1,0.9-4.2,1.8-6.3,2.7c-2.4,0.9-4.5,2.1-6.8,3c-0.3,0-0.6,0.3-0.6,0.3c-0.3,0-0.6,0.3-0.9,0.3
c-1.2,0.6-2.7,1.2-3.9,1.8c-1.8,0.9-3.3,1.5-5.1,2.4c-1.5,0.6-3,1.5-4.5,2.4c-0.3,0.3-0.6,0.3-1.2,0.6c-2.4,1.2-4.5,2.4-6.5,3.6
c9.2-3.9,18.8-7.1,28.9-9.5c108.1-26.5,217.5,39.3,244,147.4c6,24.4,7.1,49.1,4.5,72.7c-0.9,5.7-3,13.4-6.3,14
c-3.9,0.9-6.8-3.3-11.3-9.5l-0.3-0.3c-0.6-0.6-0.9-1.2-1.5-2.1c-0.6-0.6-0.9-1.2-1.5-1.8c-0.6-0.9-1.2-1.5-2.1-2.4
c0,0,0,0-0.3-0.3c0-0.3-0.3-0.3-0.3-0.6c-3.9-4.5-7.4-8-11-10.4c-22-18.2-52.2-25.9-82.2-18.5c-50.6,12.5-84.3,51.2-72.1,101.9
c17.6,71.5,127.8,60.2,154.4,166.3v0.3l0,0c0,0,0,0,0,0.3s0,0,0,0c9.8,40.2-6.5,80.8-38.4,103.4c4.8-0.9,9.5-2.1,14.3-3.3
c2.4-0.6,4.8-1.2,7.1-1.8c4.8-1.2,9.2-2.7,14-4.2c6.8-2.4,13.7-4.8,20.2-7.4c7.7-3.3,15.5-6.8,23.2-10.7c5.7-3,11.3-6,16.7-9.2
c1.8-1.2,3.6-2.1,5.4-3.3c1.8-1.2,3.6-2.4,5.4-3.6c1.8-1.2,3.6-2.4,5.4-3.6c1.8-1.2,3.6-2.4,5.1-3.6c1.8-1.2,3.3-2.4,5.1-3.6
c0,0,0,0,0.3-0.3c1.5-1.2,3.3-2.4,4.8-3.6c3.3-2.7,6.5-5.4,9.8-8c1.5-1.5,3.3-2.7,4.8-4.2c1.5-1.5,3-2.7,4.8-4.2
c1.5-1.5,3-2.7,4.5-4.2c0,0,0.3,0,0.3-0.3c1.5-1.5,3-3,4.5-4.5c1.5-1.5,3-3,4.5-4.5c4.2-4.5,8.3-9.2,12.5-14
c1.5-1.5,2.7-3.3,3.9-4.8c0.9-1.2,1.8-2.1,2.7-3.3c0.9-0.9,1.5-2.1,2.4-3c1.2-1.5,2.1-2.7,3-4.2c0.9-1.5,2.1-2.7,3-4.2
c0.3-0.6,0.6-1.2,1.2-1.5c0.9-1.5,1.8-2.7,2.7-4.2c1.2-1.8,2.4-3.6,3.6-5.4c5.1-8,9.8-16.4,14.3-25c0.9-1.5,1.5-3,2.4-4.5
c0.6-1.5,1.5-3.3,2.1-4.8c0.6-1.5,1.5-3,2.1-4.5c0.6-1.8,1.5-3.3,2.1-5.1c0.9-2.4,1.8-4.5,2.7-6.8v-0.3c0.9-2.1,1.8-4.2,2.4-6.5
c0.6-2.1,1.5-3.9,2.1-6c0.3-0.9,0.6-1.8,0.9-3c0.6-1.5,1.2-3.3,1.5-5.1c0.6-1.8,0.9-3.3,1.5-5.1c0.6-1.5,0.9-3,1.2-4.5
c0-0.6,0.3-0.9,0.3-1.5c0.3-1.5,0.9-2.7,1.2-4.2c0.3-0.9,0.6-2.1,0.6-3c0.3-1.5,0.6-3,0.9-4.5c0.9-4.2,1.8-8.3,2.7-12.8
c0.3-1.5,0.6-3,0.6-4.5c0.3-1.8,0.6-3.6,0.9-5.4c0.3-1.5,0.3-3,0.6-4.5c0-0.9,0.3-1.5,0.3-2.4c0.3-1.8,0.6-3.9,0.6-6
c0-0.3,0-0.3,0-0.6c0.3-1.8,0.3-3.6,0.6-5.1c0-1.5,0.3-3,0.3-4.5c0-0.6,0-1.2,0-1.8c0-1.5,0.3-3,0.3-4.5c0-0.9,0-2.1,0-3
c0-1.5,0-3,0-4.5c0-2.4,0-4.5,0-6.8C595.9,379.9,462.4,246.5,297.9,246.5z"/>
</g>
</g>
</svg>

BIN
images/favicon-topnav.png

After

Width: 30  |  Height: 30  |  Size: 2.5 KiB

60
images/favicon-topnav.svg

@ -0,0 +1,60 @@
<svg version="1.1" id="Calque_4" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 123.3 594.7 595" enable-background="new 0 123.3 594.7 595" xml:space="preserve">
<g>
<g>
<path fill="#FFFFFF" d="M423.5,300.1c-26.5-108-135.7-174.1-243.8-147.6c-10.1,2.4-19.6,5.7-28.9,9.5
C108,186.4,71.4,221.2,45.2,263.2c-18.8,40.2-24.4,86.9-13.1,133.3c35.7,145,172,169.4,246.1,206.3c15.8,7.7,28.3,21.7,32.7,39.9
c8,32.1-11.9,64.9-44.1,72.6c-0.3,0-0.6,0-0.6,0c-1.2,0.3-2.4,0.6-3,0.6c-0.3,0-0.6,0-0.6,0.3l0,0c11.3,1.5,23.2,2.1,34.8,2.1
c19.6,0,39-1.8,57.7-5.7h0.3c0,0,0,0,0.3,0c31.5-22.9,47.9-63.1,38.1-103.3l0,0c0,0,0,0,0-0.3l0,0v-0.3
c-26.5-106-136.6-94.6-154.2-166.1c-12.5-50.6,21.4-89.3,72-101.8c30.1-7.4,60.1,0.6,82.1,18.5c3.3,2.7,7.1,6,11,10.4
c0,0.3,0.3,0.3,0.3,0.6c0,0,0,0,0.3,0.3c0.6,0.9,1.5,1.5,2.1,2.4c0.6,0.6,0.9,1.2,1.5,1.8c0.6,0.6,0.9,1.2,1.5,2.1l0.3,0.3
c4.5,6,7.4,10.4,11.3,9.5c3.3-0.9,5.4-8.6,6.3-14C431,349.2,429.5,324.5,423.5,300.1z"/>
</g>
</g>
<g>
<g>
<path fill="#C01D70" d="M311,642.7c-4.5-18.5-17-32.1-32.7-39.9c-74.1-36.9-210.4-61-246.1-206.3c-11.3-46.4-5.7-93.2,13.1-133.3
c-8.9,14.3-16.7,29.5-23.2,45.2c-0.6,1.5-1.2,3.3-1.8,4.8c-1.2,3-2.4,6.3-3.6,9.5c-0.6,1.5-1.2,3.3-1.8,4.8
c-1.2,3.3-2.1,6.5-3,9.8c-0.6,1.8-0.9,3.3-1.5,5.1c-0.6,1.8-0.9,3.3-1.5,5.1c-0.9,3.3-1.5,6.8-2.4,10.1c-0.3,1.8-0.6,3.3-1.2,5.1
c-0.3,1.8-0.6,3.3-0.9,5.1c-0.3,0.9-0.3,2.1-0.6,3c-0.3,1.2-0.3,2.1-0.6,3.3c0,0.9-0.3,1.8-0.3,2.7c0,1.5,0,2.7-0.3,3.9
c-0.3,1.8-0.6,3.6-0.6,5.4c-0.3,1.5-0.3,3-0.6,4.8c-0.3,2.1-0.3,4.5-0.6,6.5c-0.3,2.7-0.3,5.1-0.6,7.7c0,1.5-0.3,3-0.3,4.8
c0,0.3,0,0.6,0,0.9c0,1.5,0,3.3,0,4.8c0,1.8,0,3.9,0,5.7c0,2.4,0,4.8,0,7.1c0,1.5,0,2.7,0,4.2c0,1.2,0,2.4,0.3,3.6
c0,0.6,0,1.5,0,2.1c0,1.8,0.3,3.3,0.3,5.1c0,0.6,0,1.5,0.3,2.1c0.3,2.1,0.3,4.2,0.6,6.3s0.6,4.2,0.6,6.5c0,0.9,0.3,1.8,0.3,3
c0.3,1.5,0.3,2.7,0.6,4.2c0.3,1.5,0.3,3,0.6,4.5c0,0.6,0,1.2,0.3,1.5c0.3,1.5,0.6,3,0.9,4.5c0.3,1.2,0.3,2.4,0.6,3.6
c0.3,1.2,0.6,2.4,0.6,3.6c0.3,0.9,0.3,2.1,0.6,3c0.3,1.5,0.6,2.7,0.9,4.2c0.6,2.1,0.9,3.9,1.5,6c0.6,1.8,0.9,3.3,1.5,5.1
c3,10.7,6.5,21.1,10.4,31.3c0.6,1.5,1.2,3,1.8,4.5c0.9,1.8,1.5,3.9,2.4,5.7c0.9,1.8,1.5,3.6,2.4,5.1c0,0.3,0.3,0.6,0.3,0.6
c0.6,1.5,1.5,3,2.1,4.2c0.3,0.9,0.9,1.8,1.5,2.7c0.6,1.2,1.2,2.4,2.1,3.9c0.9,1.8,1.8,3.6,2.7,5.4c0.6,1.5,1.5,2.7,2.4,4.2
c0.3,0.6,0.9,1.2,1.2,2.1c0.6,0.9,1.2,2.1,1.8,3c0.6,1.2,1.5,2.7,2.4,3.9c1.2,1.8,2.4,3.9,3.6,5.7s2.4,3.6,3.6,5.7
c3.9,5.7,7.7,11,11.6,16.1c1.5,1.8,2.7,3.6,4.2,5.1c1.2,1.2,2.1,2.7,3.3,3.9c1.8,2.1,3.6,4.2,5.4,6.3c1.5,1.5,3,3.3,4.5,4.8
c1.5,1.5,3,3.3,4.5,4.8c18.5,19,39.6,35.4,62.5,48.8c34.5,20.2,73.5,33.6,115.2,38.7c0.3,0,0.6,0,0.9-0.3c0.6-0.3,1.8-0.3,3-0.6
c0.3,0,0.6,0,0.6,0C299.1,707.3,319.1,674.8,311,642.7z"/>
</g>
</g>
<g>
<g>
<path fill="#C01D70" d="M297.6,123.3c-2.1,0-4.5,0-6.5,0c-1.2,0-2.4,0-3.6,0c-1.8,0-3.6,0-5.4,0.3c-2.1,0-4.2,0.3-6.3,0.3
c-0.6,0-1.2,0-1.8,0.3c-2.4,0.3-4.5,0.3-6.8,0.6c-1.8,0.3-3.3,0.3-5.1,0.6c-1.2,0-2.4,0.3-3.9,0.6c-1.5,0.3-3.3,0.3-4.8,0.6
c-1.5,0.3-3.3,0.6-4.8,0.9c-3.3,0.6-6.3,1.2-9.5,1.8c-1.5,0.3-3.3,0.6-4.8,0.9c-1.8,0.3-3.6,0.9-5.7,1.2c-1.8,0.3-3.3,0.9-5.1,1.2
c-0.6,0-1.2,0.3-1.8,0.6c-3,0.9-6,1.5-8.9,2.4c-0.3,0-0.9,0.3-1.5,0.3c-2.7,0.9-5.1,1.5-7.7,2.4c-0.3,0-0.6,0-0.6,0.3
c-1.8,0.6-3.9,1.2-5.7,2.1c-0.3,0-0.9,0.3-1.2,0.3c-0.9,0.3-1.5,0.6-2.4,0.9h-0.3c-1.8,0.9-3.3,1.5-5.1,2.4c-0.3,0-0.3,0-0.6,0.3
c-0.6,0.3-0.9,0.3-1.5,0.6c-2.1,0.9-4.2,1.8-6.3,2.7c-2.4,0.9-4.5,2.1-6.8,3c-0.3,0-0.6,0.3-0.6,0.3c-0.3,0-0.6,0.3-0.9,0.3
c-1.2,0.6-2.7,1.2-3.9,1.8c-1.8,0.9-3.3,1.5-5.1,2.4c-1.5,0.6-3,1.5-4.5,2.4c-0.3,0.3-0.6,0.3-1.2,0.6c-2.4,1.2-4.5,2.4-6.5,3.6
c9.2-3.9,18.8-7.1,28.9-9.5c108-26.5,217.3,39.3,243.8,147.3c6,24.4,7.1,49.1,4.5,72.6c-0.9,5.7-3,13.4-6.3,14
c-3.9,0.9-6.8-3.3-11.3-9.5l-0.3-0.3c-0.6-0.6-0.9-1.2-1.5-2.1c-0.6-0.6-0.9-1.2-1.5-1.8c-0.6-0.9-1.2-1.5-2.1-2.4
c0,0,0,0-0.3-0.3c0-0.3-0.3-0.3-0.3-0.6c-3.9-4.5-7.4-8-11-10.4c-22-18.2-52.1-25.9-82.1-18.5c-50.6,12.5-84.2,51.2-72,101.8
c17.6,71.4,127.7,60.1,154.2,166.1v0.3l0,0c0,0,0,0,0,0.3s0,0,0,0c9.8,40.2-6.5,80.7-38.4,103.3c4.8-0.9,9.5-2.1,14.3-3.3
c2.4-0.6,4.8-1.2,7.1-1.8c4.8-1.2,9.2-2.7,14-4.2c6.8-2.4,13.7-4.8,20.2-7.4c7.7-3.3,15.5-6.8,23.2-10.7c5.7-3,11.3-6,16.7-9.2
c1.8-1.2,3.6-2.1,5.4-3.3c1.8-1.2,3.6-2.4,5.4-3.6s3.6-2.4,5.4-3.6s3.6-2.4,5.1-3.6c1.8-1.2,3.3-2.4,5.1-3.6c0,0,0,0,0.3-0.3
c1.5-1.2,3.3-2.4,4.8-3.6c3.3-2.7,6.5-5.4,9.8-8c1.5-1.5,3.3-2.7,4.8-4.2c1.5-1.5,3-2.7,4.8-4.2c1.5-1.5,3-2.7,4.5-4.2
c0,0,0.3,0,0.3-0.3c1.5-1.5,3-3,4.5-4.5c1.5-1.5,3-3,4.5-4.5c4.2-4.5,8.3-9.2,12.5-14c1.5-1.5,2.7-3.3,3.9-4.8
c0.9-1.2,1.8-2.1,2.7-3.3c0.9-0.9,1.5-2.1,2.4-3c1.2-1.5,2.1-2.7,3-4.2s2.1-2.7,3-4.2c0.3-0.6,0.6-1.2,1.2-1.5
c0.9-1.5,1.8-2.7,2.7-4.2c1.2-1.8,2.4-3.6,3.6-5.4c5.1-8,9.8-16.4,14.3-25c0.9-1.5,1.5-3,2.4-4.5c0.6-1.5,1.5-3.3,2.1-4.8
c0.6-1.5,1.5-3,2.1-4.5c0.6-1.8,1.5-3.3,2.1-5.1c0.9-2.4,1.8-4.5,2.7-6.8v-0.3c0.9-2.1,1.8-4.2,2.4-6.5c0.6-2.1,1.5-3.9,2.1-6
c0.3-0.9,0.6-1.8,0.9-3c0.6-1.5,1.2-3.3,1.5-5.1c0.6-1.8,0.9-3.3,1.5-5.1c0.6-1.5,0.9-3,1.2-4.5c0-0.6,0.3-0.9,0.3-1.5
c0.3-1.5,0.9-2.7,1.2-4.2c0.3-0.9,0.6-2.1,0.6-3c0.3-1.5,0.6-3,0.9-4.5c0.9-4.2,1.8-8.3,2.7-12.8c0.3-1.5,0.6-3,0.6-4.5
c0.3-1.8,0.6-3.6,0.9-5.4c0.3-1.5,0.3-3,0.6-4.5c0-0.9,0.3-1.5,0.3-2.4c0.3-1.8,0.6-3.9,0.6-6c0-0.3,0-0.3,0-0.6
c0.3-1.8,0.3-3.6,0.6-5.1c0-1.5,0.3-3,0.3-4.5c0-0.6,0-1.2,0-1.8c0-1.5,0.3-3,0.3-4.5c0-0.9,0-2.1,0-3c0-1.5,0-3,0-4.5
c0-2.4,0-4.5,0-6.8C595.3,256.6,461.9,123.3,297.6,123.3z"/>
</g>
</g>
</svg>

BIN
images/favicon.png

After

Width: 800  |  Height: 800  |  Size: 21 KiB

BIN
images/icone-calendrier.png

After

Width: 24  |  Height: 24  |  Size: 595 B

BIN
images/icone-dropdown-over.png

After

Width: 27  |  Height: 26  |  Size: 1.1 KiB

BIN
images/icone-dropdown.png

After

Width: 27  |  Height: 26  |  Size: 429 B

5
images/icone-loupe.svg

@ -0,0 +1,5 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 14 14" enable-background="new 0 0 14 14" xml:space="preserve">
<circle fill="none" stroke="#E11270" stroke-width="2" stroke-miterlimit="10" cx="5.5" cy="5.5" r="4.5"/>
<line fill="none" stroke="#E11270" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" x1="8.7" y1="8.7" x2="13" y2="13"/>
</svg>

6
images/icone-rss.svg

@ -0,0 +1,6 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 87.5 87.5" enable-background="new 0 0 87.5 87.5" xml:space="preserve">
<circle fill="#AFAFB0" cx="12" cy="75.5" r="12"/>
<path fill="#AFAFB0" d="M58,87.5H41c0-22.6-18.4-41-41-41l0,0v-17C32,29.5,58,55.5,58,87.5z"/>
<path fill="#AFAFB0" d="M70,87.5c0-38.7-31.3-70-70-70V0c48.3,0,87.5,39.2,87.5,87.5H70z"/>
</svg>

8
images/icone-telecharger.svg

@ -0,0 +1,8 @@
<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 12.1 11" enable-background="new 0 0 12.1 11" xml:space="preserve">
<path fill="#FFFFFF" d="M11.4,6.4c-0.3,0-0.6,0.2-0.6,0.5V10H1.3V6.9c0-0.3-0.4-0.5-0.6-0.5S0,6.6,0,6.9v3.7C0,10.8,0.6,11,0.8,11
h10.3c0.3,0,0.9-0.2,0.9-0.4V6.9C12.1,6.6,11.7,6.4,11.4,6.4"/>
<path fill="#FFFFFF" d="M5.4,8.5c0,0.2,0.3,0.4,0.5,0.4c0.2,0,0.3-0.1,0.4-0.2c0,0,0,0,0,0l2.5-2.5C9,6.1,9,5.8,8.8,5.6
c-0.2-0.2-0.6-0.2-0.7,0L6.3,7.2V0.5C6.3,0.2,6.3,0,6,0C5.8,0,5.7,0.2,5.7,0.5v6.6L4,5.6c-0.2-0.2-0.6-0.2-0.8,0
C3.1,5.8,3,6.1,3.2,6.3L5.4,8.5z"/>
</svg>

BIN
images/logo_relief.png

After

Width: 1000  |  Height: 743  |  Size: 132 KiB

153
inclure/forum.html

@ -0,0 +1,153 @@
[(#REM) Cette balise (invisible) provoque le recalcul du forum
la premiere fois qu'un message est poste (cf. inc/invalideur). ]
[(#PARAMETRES_FORUM|?{''})]
[(#REM) Nombre total de messages ]
<BOUCLE_decompte(FORUMS?) {id_rubrique ?}{id_article ?}{id_breve ?}{id_syndic ?}{objet?}{id_objet?} {plat} />[(#TOTAL_BOUCLE|>{0}|oui)
<h2>[(#TOTAL_BOUCLE|singulier_ou_pluriel{documentation:commentaire,documentation:commentaires})]</h2>]
[(#TOTAL_BOUCLE|=={0}|oui)<h2><:documentation:commentaire_aucun:></h2>]
<div class="comment_link"><a href="#formulaire_forum" class="ajoute_commentaire"><:documentation:commentez:></a></div>
<//B_decompte>
<br class="nettoyeur" />
[(#REM) Messages du forum ]
#SET{config_thread,#CONFIG{comments/comments_fil,list}}
<B_forums>
<BOUCLE_forums(FORUMS?) {objet ?}{id_objet ?}{id_rubrique ?}{id_article ?}{id_breve ?}{id_syndic ?}{0,1}>
<div class="comments-#GET{config_thread}">
<B_comments-list>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
<ul class="forum comment-ul">
<BOUCLE_comments-list(FORUMS) {si #PLUGIN{comments}|et{#GET{config_thread}|=={list}}|oui}{statut IN publie} {objet ?}{id_objet ?}{id_rubrique ?}{id_article ?}{id_breve ?}{id_syndic ?}{plat}{par date}{pagination 30}>
<li class="comment-li[ (#COMPTEUR_BOUCLE|alterner{'odd','even'})][ (#COMPTEUR_BOUCLE|=={1}|oui)first][ (#EXPOSE)]">
[(#INCLURE{fond=inclure/comment,id_forum,compteur=#COMPTEUR_BOUCLE})]
</li>
</BOUCLE_comments-list>
</ul>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</B_comments-list>
<B_comments-thread>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
<ul class="forum comment-ul">
<BOUCLE_comments-thread(FORUMS){si #PLUGIN{comments}|et{#GET{config_thread}|=={thread}}}{statut IN publie} {objet ?}{id_objet ?}{id_rubrique ?}{id_article ?}{id_breve ?}{id_syndic ?} {par date}{pagination 10}>
<li class="comment-li[ (#COMPTEUR_BOUCLE|alterner{'odd','even'})][ (#COMPTEUR_BOUCLE|=={1}|oui)first][ (#EXPOSE)]">
[(#INCLURE{fond=inclure/comment,id_forum,compteur=#COMPTEUR_BOUCLE,thread=oui})]
[<p class="repondre"><a
href="(#PARAMETRES_FORUM|url_reponse_forum)"
onclick="jQuery(this).add_reply_to([(#ID_FORUM)]);return false;"
rel="noindex nofollow"><:forum:repondre_message:></a></p>]
<B_comments-fils>
<ul class="comments-ul comments-fils">
<BOUCLE_comments-fils(FORUMS){id_parent}{par date}>
<li class="comment-li[ (#COMPTEUR_BOUCLE|alterner{'odd','even'})][ (#COMPTEUR_BOUCLE|=={1}|oui)first][ (#EXPOSE)]">
[(#INCLURE{fond=inclure/comment,id_forum,thread=oui})]
[<p class="repondre"><a
href="(#PARAMETRES_FORUM|url_reponse_forum)"
onclick="jQuery(this).add_reply_to([(#ID_FORUM)]);return false;"
rel="noindex nofollow"><:forum:repondre_message:></a></p>]
<BOUCLE_comments-fils-etc(boucle_comments-fils)></BOUCLE_comments-fils-etc>
</li>
</BOUCLE_comments-fils>
</ul>
</B_comments-fils>
</li>
</BOUCLE_comments-thread>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</ul>
[<script type="text/javascript">/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/
(#INCLURE{javascript/thread-move.js}|compacte{js})
/*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/</script>]
</B_comments-thread>
<B_comments-list-1>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
<ul class="forum comment-ul">
<BOUCLE_comments-list-1(FORUMS){si #PLUGIN{comments}|et{#GET{config_thread}|in_array{#LISTE{thread-1,thread1}}}|oui}{objet ?}{id_objet ?}{id_rubrique ?}{id_article ?}{id_breve ?}{id_syndic ?} {!par date_thread}{pagination 10}>
<li class="comment-li comment-item[ (#COMPTEUR_BOUCLE|alterner{'odd','even'})][ (#COMPTEUR_BOUCLE|=={1}|oui)first][ (#EXPOSE)][(#ID_OBJET|me{#OBJET,#ID_AUTEUR})me]">
<INCLURE{fond=inclure/comment}{id_forum}{compteur=#COMPTEUR_BOUCLE}{thread=oui}>
<B_comments-fils-1>
<ul class="comments-ul comments-items">
<BOUCLE_comments-fils-1(FORUMS){id_thread}{id_forum!=#_comments-list-1:ID_FORUM}{par date}>
<li class="comment-li comment-item[ (#COMPTEUR_BOUCLE|=={1}|oui)first][ (#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|oui)last][(#ID_OBJET|me{#OBJET,#ID_AUTEUR})me]">
<INCLURE{fond=inclure/comment}{id_forum}{thread=oui}>
</li>
</BOUCLE_comments-fils-1>
</ul>
</B_comments-fils-1>
[<p class="comment-reply"><a
href="(#PARAMETRES_FORUM|url_reponse_forum)"
onclick="jQuery(this).add_reply_to([(#ID_THREAD)]);return false;"
rel="noindex nofollow"><:forum:repondre_message:></a></p>]
</li>
</BOUCLE_comments-list-1>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</ul>
[<script type="text/javascript">/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/
(#INCLURE{javascript/thread-move.js})
/*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/</script>]
</B_comments-list-1>
<B_forums_pas_comment>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
<ul class="forum comment-ul">
<BOUCLE_forums_pas_comment(FORUMS?) {objet ?}{id_objet ?}{id_rubrique ?}{id_article ?}{id_breve ?}{id_syndic ?} {par date}{pagination 30}>
<li class="forum-fil comment-li[ (#COMPTEUR_BOUCLE|alterner{'odd','even'})][ (#COMPTEUR_BOUCLE|=={1}|oui)first][ (#EXPOSE)]">
<div class="forum-message">
<div class="forum-chapo">
<strong class="#EDIT{titre} forum-titre"><a href="#forum#ID_FORUM" name="forum#ID_FORUM" id="forum#ID_FORUM">#TITRE</a></strong>
<small>[(#DATE|affdate_jourcourt)][&nbsp;(#DATE|heures)][:(#DATE|minutes)][, <:par_auteur:> <span class="#EDIT{qui}">(#NOM|couper{80})</span>]</small>
</div>
<div class="#EDIT{texte} forum-texte">
[(#TEXTE|lignes_longues)]
[<div class="notes surlignable">(#NOTES|lignes_longues)</div>]
[<p class="#EDIT{hyperlien} hyperlien"><:voir_en_ligne:> : <a href="(#URL_SITE)" class="spip_out">[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]</a></p>]
<BOUCLE_doc(DOCUMENTS){id_forum}>
[(#EXTENSION|match{'^(gif|jpg|png)$'}|?{
[(#MODELE{emb}|image_reduire{300})]
,
#LOGO_DOCUMENT{#URL_DOCUMENT}
})]
</BOUCLE_doc>
[<p class="repondre"><a href="(#PARAMETRES_FORUM|url_reponse_forum)" rel="noindex nofollow"><:forum:repondre_message:></a></p>]
</div>
</div>
</BOUCLE_si_pas_comments>
<B_forums_fils>
<ul>
<BOUCLE_forums_fils(FORUMS?) {id_parent} {par date}>
<li class="forum comment-li">
<div class="forum-message">
<div class="forum-chapo">
<strong class="#EDIT{titre} forum-titre"><a href="#forum#ID_FORUM" name="forum#ID_FORUM" id="forum#ID_FORUM">#TITRE</a></strong>
<small>[(#DATE|affdate_jourcourt)][&nbsp;(#DATE|heures)][:(#DATE|minutes)][, <:par_auteur:> <span class="#EDIT{qui}">(#NOM|couper{80})</span>]</small>
</div>
<div class="#EDIT{texte} forum-texte">
[(#TEXTE|lignes_longues)]
[<div class="notes surlignable">(#NOTES|lignes_longues)</div>]
[<p class="#EDIT{hyperlien} hyperlien"><:voir_en_ligne:> : <a href="(#URL_SITE)" class="spip_out">[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]})]</a></p>]
<BOUCLE_doc2(DOCUMENTS){id_forum}>
[(#EXTENSION|match{'^(gif|jpg|png)$'}|?{
[(#MODELE{emb}|image_reduire{300})]
,
#LOGO_DOCUMENT{#URL_DOCUMENT}
})]
</BOUCLE_doc2>
[<p class="repondre"><a href="(#PARAMETRES_FORUM|url_reponse_forum)" rel="noindex nofollow"><:forum:repondre_message:></a></p>]
</div>
</div>
<BOUCLE_forums_boucle(boucle_forums_fils)></BOUCLE_forums_boucle>
</li>
</BOUCLE_forums_fils>
</ul>
</B_forums_fils>
</li>
</BOUCLE_forums_pas_comment>
[<p class="pagination">(#PAGINATION{page_precedent_suivant})</p>]
</ul>
</B_forums_pas_comment>
<//B_comments-list-1>
<//B_comments-thread>
<//B_comments-list>
</div>
</BOUCLE_forums>
</B_forums>

0
inclure/head-theme.html

38
inclure/head.html

@ -0,0 +1,38 @@
[(#REM) Fierement fabrique avec SPIP ]
<meta name="generator" content="SPIP[ (#SPIP_VERSION)]" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
[(#REM) Lien vers le flux RSS du site ]
[<link rel="alternate" type="application/rss+xml" title="<:syndiquer_site:>" href="(#URL_PAGE{backend})" />]
[(#REM) Feuille de style générique ]
[<link rel="stylesheet" href="(#CSS{scss/galactic.css})" type="text/css" />]
[(#REM) Fierement fabrique avec SPIP ]
<meta name="generator" content="SPIP[ (#SPIP_VERSION)]" />
#INSERT_HEAD_CSS
#INSERT_HEAD
[(#REM) javascript générique ]
[<script src="(#CHEMIN{javascript/scripts.js})"></script>]
[<script src="(#CHEMIN{javascript/modernizr-custom.js})"></script>]
[(#REM) javascript du thème (si présent) ]
[<script src="(#CHEMIN{javascript/theme.js})"></script>]
[<link rel="icon" type="image/x-icon" href="(#CHEMIN{favicon.ico}|url_absolue_si)" />
[<link rel="shortcut icon" type="image/x-icon" href="(#CHEMIN{favicon.ico}|url_absolue_si)" />]]
<BOUCLE_topnav(CONDITION){si #VAL{_SPIP_TOPNAV}|defined|oui}>
<script type="text/javascript">
(function() {
var d=document,g=d.createElement('script'),s=d.getElementsByTagName('script')[0];
g.type='text/javascript';g.defer=true;g.async=true;g.src="//boussole.spip.net/?page=spipnav.js&lang=#LANG";s.parentNode.insertBefore(g,s);
})();
</script>
</BOUCLE_topnav>

15
inclure/menu_lang.html

@ -0,0 +1,15 @@
<B_langues>
[(#TOTAL_BOUCLE|>{1}|oui)
<div class="menu-lang">
<span class='menu-lang__select'>[(#LANG|traduire_nom_langue|ucfirst)]</span>
<ul class="menu-lang__items">]
<BOUCLE_langues(ARTICLES){fusion lang}{par lang}{lang!=#LANG}>
[(#TOTAL_BOUCLE|>{1}|oui)
<li lang="#LANG" xml:lang="#LANG" dir="#LANG_DIR" class="menu-lang__item">
<a href="#URL_SITE_SPIP/?lang=#LANG" rel="alternate" hreflang="#LANG">[(#LANG|traduire_nom_langue|ucfirst)]</a>
</li>]
</BOUCLE_langues>
[(#TOTAL_BOUCLE|>{1}|oui)
</ul>
</div>]
</B_langues>

7
inclure/menu_lang_select.html

@ -0,0 +1,7 @@
<B_langues>
<select class="menu menu-lang">
<BOUCLE_langues(ARTICLES){fusion lang}{par lang}>
<option [(#LANG|=={#ENV{lang}}|oui)selected="selected"] value="#LANG" >[(#LANG|traduire_nom_langue)]</option>
</BOUCLE_langues>
</select>
</B_langues>

14
inclure/navigation_mots_cles.html

@ -0,0 +1,14 @@
<BOUCLE_afficher_mots(CONDITION){si #ENV{id_article,#ENV{id_rubrique}}}>
<B_mots>
<div class="menu menu--mots">
<h2><:documentation:mots_cles:></h2>
<ul class='mots items'>
<BOUCLE_mots(MOTS) {id_article?}{id_rubrique?} {par multi titre}>
<li class="item[ (#EXPOSE{on,off})]">
<a href="[(#URL_MOT|parametre_url{lang,#LANG,&})]" rel="tag">#TITRE
</a></li>
</BOUCLE_mots>
</ul>
</div>
</B_mots>
</BOUCLE_afficher_mots>

19
inclure/navigation_tous_mots_cles.html

@ -0,0 +1,19 @@
[(#REM) Menu de navigation mots-cles ]
<B_groupes>
<div class="menu simple">
<h2><:documentation:mots_cles:></h2>
<ul class='groupes items'>
<BOUCLE_groupes(GROUPES_MOTS){par multi titre}>
<B_mots>
<li class="item[ (#_groupes:EXPOSE{on,off})]"><span class='titre'>#_groupes:TITRE</span>
<ul class='mots items'>
<BOUCLE_mots(MOTS) {id_groupe}{par multi titre}>
<li class="item[ (#EXPOSE{on,off})]"><a href="[(#URL_MOT|parametre_url{lang,#LANG})]" rel="tag">#TITRE</a></li>
</BOUCLE_mots>
</ul>
</li>
</B_mots>
</BOUCLE_groupes>
</ul>
</div>
</B_groupes>

3
javascript/modernizr-custom.js

@ -0,0 +1,3 @@
/*! modernizr 3.5.0 (Custom Build) | MIT *
* https://modernizr.com/download/?-touchevents-setclasses !*/
!function(e,n,t){function o(e,n){return typeof e===n}function s(){var e,n,t,s,a,i,r;for(var l in c)if(c.hasOwnProperty(l)){if(e=[],n=c[l],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;t<n.options.aliases.length;t++)e.push(n.options.aliases[t].toLowerCase());for(s=o(n.fn,"function")?n.fn():n.fn,a=0;a<e.length;a++)i=e[a],r=i.split("."),1===r.length?Modernizr[r[0]]=s:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=s),f.push((s?"":"no-")+r.join("-"))}}function a(e){var n=u.className,t=Modernizr._config.classPrefix||"";if(p&&(n=n.baseVal),Modernizr._config.enableJSClass){var o=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");n=n.replace(o,"$1"+t+"js$2")}Modernizr._config.enableClasses&&(n+=" "+t+e.join(" "+t),p?u.className.baseVal=n:u.className=n)}function i(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):p?n.createElementNS.call(n,"http://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}function r(){var e=n.body;return e||(e=i(p?"svg":"body"),e.fake=!0),e}function l(e,t,o,s){var a,l,f,c,d="modernizr",p=i("div"),h=r();if(parseInt(o,10))for(;o--;)f=i("div"),f.id=s?s[o]:d+(o+1),p.appendChild(f);return a=i("style"),a.type="text/css",a.id="s"+d,(h.fake?h:p).appendChild(a),h.appendChild(p),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(n.createTextNode(e)),p.id=d,h.fake&&(h.style.background="",h.style.overflow="hidden",c=u.style.overflow,u.style.overflow="hidden",u.appendChild(h)),l=t(p,e),h.fake?(h.parentNode.removeChild(h),u.style.overflow=c,u.offsetHeight):p.parentNode.removeChild(p),!!l}var f=[],c=[],d={_version:"3.5.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var t=this;setTimeout(function(){n(t[e])},0)},addTest:function(e,n,t){c.push({name:e,fn:n,options:t})},addAsyncTest:function(e){c.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=d,Modernizr=new Modernizr;var u=n.documentElement,p="svg"===u.nodeName.toLowerCase(),h=d._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];d._prefixes=h;var m=d.testStyles=l;Modernizr.addTest("touchevents",function(){var t;if("ontouchstart"in e||e.DocumentTouch&&n instanceof DocumentTouch)t=!0;else{var o=["@media (",h.join("touch-enabled),("),"heartz",")","{#modernizr{top:9px;position:absolute}}"].join("");m(o,function(e){t=9===e.offsetTop})}return t}),s(),a(f),delete d.addTest,delete d.addAsyncTest;for(var v=0;v<Modernizr._q.length;v++)Modernizr._q[v]();e.Modernizr=Modernizr}(window,document);

51
javascript/scripts.js

@ -0,0 +1,51 @@
if(!window.console) {
window.console = {
log: function(str) {
return
}
};
}
$(document).ready(function() {
globalPage.init();
});
var globalPage = (function() {
var that = {};
that.init = function() {
// liens sortant et PDF en target _blank + ajout d'une mention dans le title ou alt des images (accessibilité)
$('a.spip_out, a.spip_url, a.spip_glossaire, a[href$=".pdf"], a[href$=".doc"]').each(function() {
$(this).attr('target', '_blank');
if($(this).attr('title') && $(this).attr('title').length) {
$(this).attr('title', $(this).attr('title') + ' - Nouvelle fenêtre');
} else if($(this).text().trim().length) {
$(this).attr('title', $(this).text().trim() + ' - Nouvelle fenêtre');
} else {
$(this).find('img').each(function() {
$(this).attr('alt', $(this).attr('alt') + ' - Nouvelle fenêtre');
});
}
});
// gestion du "faux select" sur le menu de langue
var $menu_lang_ = $('.menu-lang');
var $menu_lang__select = $('.menu-lang__select');
var $menu_lang__items = $('.menu-lang__items');
$menu_lang__select.on('click', function() {
$menu_lang_.toggleClass('open');
$menu_lang__items.slideToggle('fast');
});
$menu_lang__items.find('a').on('click', function(e) {
$menu_lang__select.text($(this).text());
$menu_lang__items.hide();
$(this).parent('li').addClass('on');
});
};
return that;
})();

15
lang/galactic_fr.php

@ -0,0 +1,15 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
$GLOBALS[$GLOBALS['idx_lang']] = array(
// S
'galactic_titre' => 'Galactic',
// T
'titre_page_configurer_galactic' => 'Configurer Galactic',
);

14
lang/paquet-galactic_fr.php

@ -0,0 +1,14 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}