feat: hello nezu !

un squelette sous bootstrap4  compatible avec agenda
pull/3/head
erational 2 weeks ago
commit 3140c4edd1

@ -0,0 +1,23 @@
[(#REM)
page 404 ++
param:
- (rien)
]#HTTP_HEADER{HTTP/1.0 #ENV{code,'404 Not Found'}}
#HTTP_HEADER{"Cache-Control: no-store, no-cache, must-revalidate"}
#HTTP_HEADER{Pragma: no-cache}<!DOCTYPE html>
<html lang="#LANG">
<head>
<INCLURE{fond=inc/head,no-bot=oui} />
<title><:pass_erreur:> [(#ENV{status, 404}|intval) - ][(#NOM_SITE_SPIP|textebrut)]</title>
</head>
<body>
<INCLURE{fond=inc/header} />
<INCLURE{fond=inc/404, env} />
<INCLURE{fond=inc/footer} />
</body>
</html>

@ -0,0 +1,10 @@
# Nezu
![nezu](./prive/themes/spip/images/nezu-xx.svg)
Un squelette éditorial sous Bootstrap 4 compatible avec le plugin agenda
## Documentation
https://contrib.spip.net/xxxx

@ -0,0 +1,286 @@
[(#REM)
patron de la page article
]<!doctype html>
<html lang="#LANG">
<head>
<title>#NOM_SITE_SPIP - Page Patron ARTICLE </title>
<INCLURE{fond=inc/head,no-bot=oui} />
</head>
<body>
<INCLURE{fond=inc/header, id_rubrique=1} />
<!-- content :article-body -->
<div class="article-body-wrapper">
<div class="container">
<div class="row">
<!-- article-header -->
<div class="col-lg-8 offset-lg-2 article-header">
<div class="ariane">
<ul aria-label="breadcrumb">
<li class="home"><a href="#URL_SITE_SPIP"><:nezu:accueil_site:></a> <span>&gt;</span></li>
<li><a href="rubrique1.html">Rubrique grand-parente</a> <span>&gt;</span></li>
<li><a href="rubrique298.html" class="on">Rubrique parente</a></li>
</ul>
</div>
<h1 class="article-h1">Un article factice</h1>
<div class="article-chapo">
Chapeau de l'article. Felis vitae elit ut sem quam orci Vestibulum ante nibh nec. Enim ridiculus tincidunt Nam dui metus sed In ipsum nec et. Habitasse ultrices id Suspendisse ligula dui leo elit Maecenas quis nibh. Justo auctor eget neque dapibus aliquam Aenean purus orci tincidunt In. Vivamus metus semper interdum ante pellentesque est nibh eu ac.
</div>
</div>
<!-- #article-header -->
<!-- article-body -->
<div class="col-lg-8 offset-lg-2 article-body">
[<div class="article-logo">(#CHEMIN{img/test-big.jpg}|balise_img)</div>]
<p><span class='spip_document_15941 spip_documents'>
[(#CHEMIN{img/essai-photo1.jpg}|balise_img{test image})]
</span></p>
<h2 class="article-h2">Intertitre de type H2</h2>
<p>Turpis pretium ante nibh ligula ut sed justo <a href="">Pellentesque metus Vivamus</a>. Id vel fermentum eu tincidunt sed enim lorem magnis sapien senectus. Et interdum justo orci a dui Nam tincidunt Suspendisse Ut nibh. Massa Mauris ut Duis ornare quis magnis gravida amet in tincidunt. Tincidunt eu vel Vestibulum pretium justo et urna.</p>
<blockquote class="spip">
<h2 class="article-h2">Encart type Quote</h2>
Pellentesque metus Vivamus. 20% Id vel fermentum eu tincidunt sed enim lorem magnis sapien senectus. Et interdum justo orci a dui Nam tincidunt Suspendisse Ut nibh. Massa Mauris ut Duis ornare quis magnis gravida amet in tincidunt.
</blockquote>
<blockquote class="spip_poesie">
<div>Encart type Poésie</div>
<div>Pellentesque metus Vivamus. 20% Id vel fermentum eu tincidunt sed enim lorem magnis sapien senectus. Et interdum justo orci a dui Nam tincidunt Suspendisse Ut nibh. Massa Mauris ut Duis ornare quis magnis gravida amet in tincidunt.</div>
</blockquote>
<p>Ante nibh ligula ut sed justo Pellentesque metus Vivamus. Id vel fermentum eu tincidunt sed enim lorem magnis sapien senectus. Et interdum justo orci a dui Nam tincidunt Suspendisse Ut nibh. Massa Mauris ut Duis ornare quis magnis gravida amet in tincidunt. Tincidunt eu vel Vestibulum pretium justo et urna.</p>
<h2 class="article-h2">Test video</h2>
#MODELE{oembed,url=https://www.youtube.com/watch?v=PSnXavWB9kA}
<h2 class="article-h2">Objectifs</h2>
<p>Turpis pretium ante nibh ligula ut sed justo Pellentesque metus Vivamus. Id vel fermentum eu tincidunt sed enim lorem magnis sapien senectus. Et interdum justo orci a dui Nam tincidunt Suspendisse Ut nibh. Massa Mauris ut Duis ornare quis magnis gravida amet in tincidunt. Tincidunt eu vel Vestibulum pretium justo et urna.</p>
<ul class='spip'>
<li>Concevoir, fabriquer et documenter une réalisation technique numérique.</li>
<li>Concevoir et documenter un parcours pédagogique mobilisant cette réalisation technique, adapté à son contexte professionnel.</li>
<li>Dutiliser les base de lélectronique programmable pour fabriquer des projets
<ul>
<li>Ante nibh ligula ut sed justo Pellentesque metus Vivamus. Id vel fermentum eu tincidunt sed .Turpis pretium ante nibh ligula ut sed justo Pellentesque metus Vivamus.</li>
<li>Ligula ut sed justo Pellentesque metus Vivamus.</li>
</ul>
</li>
<li>Connaitre et mobiliser des compétences et ressources en fabrication numérique sur son territoire.</li>
<li>Se constituer un réseau dhomologue sur le territoire en vue de projets collaboratifs.</li>
</ul>
<h2 class="article-h2">Des graphes aussi</h2>
<p> <span class='spip_document_15941 spip_documents spip_documents_center'>
[(#CHEMIN{img/test.jpg}|balise_img)]
</span></p>
<p>Eu sagittis In sed leo Cras Nunc vel aliquam Curabitur Sed. Sed ut non accumsan orci nunc rutrum lorem nibh cursus mauris. Egestas faucibus elit Sed tempus Nullam natoque massa eu lorem et. Id consectetuer risus elit massa ac vitae faucibus laoreet ligula tristique. Ante Vivamus hac volutpat fringilla eget sem ipsum vel hac turpis. </p>
<p>Dui Vestibulum id Proin id Nunc orci augue id leo et. Augue congue adipiscing aliquam quis lobortis enim at dui scelerisque egestas. Vitae et cursus semper ornare sollicitudin cursus orci Vestibulum Nam at. Euismod mauris convallis porta tristique et neque Sed venenatis pellentesque vel. Magna accumsan sit at porttitor pharetra semper condimentum tortor elit vitae. Ut et vitae habitant quam et Aenean elit Mauris.</p>
<p>Nibh ut scelerisque accumsan Vestibulum interdum tristique elit condimentum nisl tellus. A Lorem mauris facilisis vel aliquam sed justo sed tempus ligula. Morbi magnis vitae Phasellus egestas Duis rutrum cursus ac sit eu. Donec porta metus velit Nam Donec vel nec montes eros rhoncus. Massa quis convallis convallis semper sed consectetuer habitant gravida Duis.</p>
<blockquote class="spip">
<p>La finalité est de permettre aux stagiaires de se construire une culture numérique sur la fabrication numérique dans la perspective de transposer dans le domaine professionnel.</p>
</blockquote>
<p>Felis vitae elit ut sem quam orci Vestibulum ante nibh nec. Enim ridiculus tincidunt Nam dui metus sed In ipsum nec et. Habitasse ultrices id Suspendisse ligula dui leo elit Maecenas quis nibh. Justo auctor eget neque dapibus aliquam Aenean purus orci tincidunt In. Vivamus metus semper interdum ante pellentesque est nibh eu ac.</p>
<h2 class="article-h2">Tableaux</h2>
<table class="spip">
<thead>
<tr>
<th>Parfum</th>
<th>Valeur</th>
</tr>
</thead>
<tbody>
<tr class='row_odd odd'>
<td>Vanilla</td>
<td>15.05</td>
</tr>
<tr class='row_even even'>
<td>Chocolat</td>
<td>25.05</td>
</tr>
<tr class='row_odd odd'>
<td>Berries</td>
<td>5.25</td>
</tr>
<tr class='row_even even'>
<td>Mangue</td>
<td>25.05</td>
</tr>
</tbody>
</table>
<p>Neque Cum Suspendisse mi consequat tempus id congue fringilla Vivamus eros. Proin eget nulla Nullam Curabitur platea mauris amet faucibus consequat lorem. Laoreet turpis condimentum sagittis id odio Vivamus Maecenas dui quis est. Neque justo et pretium nisl augue tincidunt consequat Sed ligula sociis. Vel ac molestie enim orci ante Morbi volutpat ante tempus tristique. Tincidunt interdum.</p>
<h2 class="article-h2">NEZU utilise le framework Bootstrap</h2>
<p>
Il est donc possible d'utiliser tous les éléments de Bootstrap <br />
Ici, par exemple, des encarts colorés :<br />
<a href="https://getbootstrap.com/docs/4.0/components/alerts/">https://getbootstrap.com/docs/4.0/components/alerts/</a>
</p>
<div class="alert alert-primary" >
Ceci est un message majeur
</div>
<div class="alert alert-secondary">
Ceci est un message mineur
</div>
<div class="alert alert-success">
Ceci est un message de succès
</div>
<div class="alert alert-danger">
Ceci est un message de danger
</div>
<div class="alert alert-warning">
Ceci est un message d&#8217;avertissement
</div>
<div class="alert alert-info" >
Ceci est un message d&#8217;inevenement
</div>
<div class="alert alert-light" >
Ceci est un message sur fond clair
</div>
<div class="alert alert-dark" >
Ceci est un message sur fond sombre
</div>
<strong>Syntaxe</strong>
<br>
<div style='text-align: left;' class='spip_code' dir='ltr'><code>&lt;div class=&quot;alert alert-primary&quot;&gt;<br />
&nbsp;Ceci est un message majeur<br />
&lt;/div&gt;<br />
&lt;div class=&quot;alert alert-secondary&quot;&gt;<br />
&nbsp; Ceci est un message mineur<br />
&lt;/div&gt;<br />
&lt;div class=&quot;alert alert-success&quot;&gt;<br />
&nbsp; Ceci est un message de succès<br />
&lt;/div&gt;<br />
&lt;div class=&quot;alert alert-danger&quot;&gt;<br />
&nbsp;Ceci est un message de danger<br />
&lt;/div&gt;<br />
&lt;div class=&quot;alert alert-warning&quot;&gt;<br />
&nbsp;Ceci est une message d'avertissement<br />
&lt;/div&gt;<br />
&lt;div class=&quot;alert alert-info&quot; &gt;<br />
&nbsp;Ceci est un message d'inevenement<br />
&lt;/div&gt;<br />
&lt;div class=&quot;alert alert-light&quot; &gt;<br />
&nbsp; Ceci est un message sur fond clair<br />
&lt;/div&gt;<br />
&lt;div class=&quot;alert alert-dark&quot; &gt;<br />
&nbsp; Ceci est un message sur fond sombre<br />
&lt;/div&gt;</code>
</div>
<div class="article-date">Publié le 11 novembre 2022</div>
</div>
<!-- #article-body -->
</div>
<!-- row -->
</div>
</div>
<!-- #content :article-body -->
<!-- content :more -->
<div class="article-a2a-wrappery">
<div class="content container">
<div class="row">
<div class="col-lg-12 mt-4">
<h4 class="article-a2a-titre"><:nezu:et_aussi:></h4>
<div class="article-previews">
<div class="article-preview">
<a href="#" class="article-preview-link">
<div class="article-preview-img-wrapper">
<img class="article-preview-img" alt="" src="#CHEMIN{img/test-1.jpg}">
</div>
<div class="article-preview-cartouche">
<h1 class="article-preview-titre">Nam nunc risus tincidunt et. Penatibus felis non</h1>
<div class="article-preview-intro">
Lorem ipsum dolor sit amet consectetuer Nam nunc risus tincidunt et. Penatibus felis non elit Nulla velit adipiscing
non ipsum malesuada urna.
</div>
</div>
<div class="article-preview-but">
<button class="article-preview-button" type="button">[(#CHEMIN{img/icone-plus.svg}|balise_img)]</button>
</div>
</a>
</div>
<div class="article-preview">
<a href="#" class="article-preview-link">
<div class="article-preview-img-wrapper">
<img class="article-preview-img" alt="" src="#CHEMIN{img/test-2.jpg}">
</div>
<div class="article-preview-cartouche">
<h1 class="article-preview-titre">Penatibus felis non</h1>
<div class="article-preview-intro">
Lorem ipsum dolor sit amet consectetuer Nam nunc risus tincidunt et. Penatibus felis non elit Nulla velit adipiscing
non ipsum malesuada urna.
</div>
</div>
<div class="article-preview-but">
<button class="article-preview-button" type="button">[(#CHEMIN{img/icone-plus.svg}|balise_img)]</button>
</div>
</a>
</div>
<div class="article-preview">
<a href="#" class="article-preview-link">
<div class="article-preview-img-wrapper">
<img class="article-preview-img" alt="" src="#CHEMIN{img/test-3.jpg}">
</div>
<div class="article-preview-cartouche">
<h1 class="article-preview-titre">Penatibus felis non elit Nulla velit natibus felis non elit Nulla velit adipiscing felis non elit Nulla velit adipiscing</h1>
<div class="article-preview-intro">
Lorem ipsum dolor sit amet consectetuer Nam nunc risus tincidunt et. Penatibus felis non elit Nulla velit adipiscing
non ipsum malesuada urna.
</div>
</div>
<div class="article-preview-but">
<button class="article-preview-button" type="button">[(#CHEMIN{img/icone-plus.svg}|balise_img)]</button>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- #content :more -->
<INCLURE{fond=inc/footer} />
</body>
</html>

@ -0,0 +1,25 @@
[(#REM)
page article
param:
- id_article
]<BOUCLE_art(ARTICLES){id_article}><!DOCTYPE html>
<html lang="#LANG">
<head>
<INCLURE{fond=inc/head} />
<title>[(#TITRE|couper{50,'&nbsp;\[...\]'}|textebrut)] - [(#NOM_SITE_SPIP|textebrut)]</title>
[<meta name="description" content="(#INTRODUCTION{130}|attribut_html)" />]
[<link rel="canonical" href="(#URL_ARTICLE|url_absolue)" />]
</head>
<body>
<INCLURE{fond=inc/header, id_rubrique} />
[(#SET{tri_rubrique,''})]<BOUCLE_rub(RUBRIQUES){id_rubrique}>#SET{tri_rubrique,#NEZU_TYPE_RUBRIQUE}</BOUCLE_rub>
[(#GET{tri_rubrique}|=={tri_faq}|oui) <INCLURE{fond=inc/article_faq, id_article} />]
[(#GET{tri_rubrique}|=={tri_faq}|non) <INCLURE{fond=inc/article, id_article} />
[(#CACHER_A2A|non)<INCLURE{fond=inc/article_a2a, id_article} />]
]
<INCLURE{fond=inc/footer}>
</body>
</html></BOUCLE_art>

@ -0,0 +1,21 @@
[(#REM)
page auteur
param:
- id_auteur
]<BOUCLE_auteur(AUTEURS){id_auteur}{tout}><!DOCTYPE html>
<html lang="#LANG">
<head>
<INCLURE{fond=inc/head} />
<title>[(#NOM_AUTEUR|oui)#PRENOM_AUTEUR #NOM_AUTEUR][(#NOM_AUTEUR|non)#NOM][ - (#NOM_SITE_SPIP|textebrut) ]</title>
[<meta name="description" content="(#BIO{150}|attribut_html)" />]
[<link rel="canonical" href="(#URL_AUTEUR|url_absolue)" />]
</head>
<body>
<INCLURE{fond=inc/header} />
<INCLURE{fond=inc/auteur, id_auteur} />
<INCLURE{fond=inc/footer} />
</body>
</html></BOUCLE_auteur>

@ -0,0 +1,54 @@
<?php
if (!defined("_ECRIRE_INC_VERSION")) {
return;
}
function nezu_declarer_champs_extras($champs = array()) {
// Table spip_rubriques
$champs['spip_rubriques']['nezu_type_rubrique'] = array(
'saisie' => 'radio',
'options' => array(
'nom' => 'nezu_type_rubrique',
'label' => _T('nezu:nezu_type_rubrique'),
'sql' => "varchar(30) NOT NULL DEFAULT ''",
'defaut' => 'tri_date',
'data' => array(
'tri_date' => _T('nezu:nezu_type_rubrique_tri_date'),
'tri_num' => _T('nezu:nezu_type_rubrique_tri_num'),
'tri_faq' => _T('nezu:nezu_type_rubrique_tri_faq'),
'tri_evenement' => _T('nezu:nezu_type_rubrique_tri_evenement'),
),
'restrictions' => array('voir' => array('auteur' => ''), //Tout le monde peut voir
'modifier' => array('auteur' => 'webmestre')), //Seuls les webmestres peuvent modifier
),
);
// Table spip_articles
$champs['spip_articles']['cacher_a2a'] = array(
'saisie' => 'case',
'options' => array(
'nom' => 'cacher_a2a',
'label_case' => _T('nezu:cacher_a2a'),
'sql' => "varchar(3) NOT NULL DEFAULT ''",
'defaut' => '',
'restrictions'=>array('voir' => array('auteur' => ''), //Tout le monde peut voir
'modifier' => array('auteur' => '')), //Tout le monde peuvent modifier
),
);
$champs['spip_articles']['cacher_date'] = array(
'saisie' => 'case',
'options' => array(
'nom' => 'cacher_date',
'label_case' => _T('nezu:cacher_date'),
'sql' => "varchar(3) NOT NULL DEFAULT ''",
'defaut' => '',
'restrictions'=>array('voir' => array('auteur' => ''), //Tout le monde peut voir
'modifier' => array('auteur' => '')), //Tout le monde peuvent modifier
),
);
return $champs;
}

@ -0,0 +1,6 @@
[(#REM)
contact
on desactive
]<INCLURE{fond=404} />

2744
css/animate.css vendored

File diff suppressed because it is too large Load Diff

BIN
css/bootstrap.css vendored

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -0,0 +1,32 @@
[(#REM)
Styles dynamiques de Nezu
]
[(#REM) variables de couleurs géré via le menu configuration du squelette]
:root {
--white: #CONFIG{nezu/color_white,#ffffff};
--black: #CONFIG{nezu/color_black,#222222};
--primary-color: #CONFIG{nezu/color_primary_color,#D84B17};
--primary-color-hover: #CONFIG{nezu/color_primary_color_hover,#a23811};
--primary-color-light: #CONFIG{nezu/color_primary_light,#ff713c};
--gray: #CONFIG{nezu/color_gray,#6D6D6D};
--gray-light: #CONFIG{nezu/color_gray_light,#e0e0e0};
--gray-super-light: #CONFIG{nezu/color_gray_super_light,#f8f8f8};
--gray-dark: #CONFIG{nezu/color_gray_dark,#484848};
--font-base: 'Montserrat', 'verdana', 'Verdana', sans-serif;
--font-outline: 'League Gothic', 'verdana', 'Verdana', sans-serif;
}
[(#REM) logos divers]
<BOUCLE_art_reassurance(ARTICLES){id_article IN #CONFIG{nezu/home_reassurance}|picker_selected{article}}{lang}>
[
.home-reassurance-illus {
background: transparent url((#LOGO_ARTICLE|extraire_attribut{src}|url_absolue)) no-repeat center center;
}
.article-logo--art#ID_ARTICLE {
display:none;
}
]
</BOUCLE_art_reassurance>

@ -0,0 +1,10 @@
[(#REM)
page evenement
on redige vers l'article origine pour éviter pour eviter les erreurs en cas de lien depuis le backoffice
param:
id_evenement
]<BOUCLE_a(ARTICLES){id_evenement}>[(#HTTP_HEADER{location:#URL_ARTICLE|url_absolue})]</BOUCLE_a>

@ -0,0 +1,107 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
<h3 class="titrem"><:nezu:cfg_titre_parametrages:></h3>
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form method="post" action="#ENV{action}">
<div>
#ACTION_FORMULAIRE
<fieldset>
<legend><:nezu:cfg_menu:></legend>
[(#SAISIE{selecteur_rubrique_article, menu_ids,
multiple=oui,
label=<:nezu:cfg_menu_ids:>,
explication=<:nezu:cfg_menu_ids_explication:>})]
[(#SAISIE{selecteur_article, bouton1_article,
label=<:nezu:cfg_bouton1_article:>})]
[(#SAISIE{selecteur_article, bouton2_article,
label=<:nezu:cfg_bouton2_article:>})]
<legend><:nezu:cfg_footer:></legend>
[(#SAISIE{input, footer_baseline,
label=<:nezu:cfg_footer_baseline:>})]
[(#SAISIE{textarea, footer_adresse,
rows=5,
label=<:nezu:cfg_footer_adresse:>})]
[(#SAISIE{selecteur_rubrique_article, footer_col1,
multiple=oui,
label=<:nezu:cfg_footer_col1:>})]
[(#SAISIE{selecteur_article, footer_copyright_articles,
multiple=oui,
label=<:nezu:cfg_footer_copyright_articles:>,
explication=<:nezu:cfg_footer_copyright_articles_explication:>})]
<legend><:nezu:cfg_homepage:></legend>
[(#SAISIE{selecteur_article, home_reassurance,
label=<:nezu:cfg_home_reassurance:>})]
[(#SAISIE{selecteur_rubrique, home_actu,
label=<:nezu:cfg_home_actu:>})]
[(#SAISIE{selecteur_rubrique, home_faq,
label=<:nezu:cfg_home_faq:>})]
[(#SAISIE{selecteur_rubrique, home_evenement,
label=<:nezu:cfg_home_evenement:>})]
<legend><:nezu:cfg_palette:></legend>
<p><:nezu:cfg_palette_explication:></p>
[(#SAISIE{couleur, color_white,
label=<:nezu:cfg_color_white:>,
defaut=#ffffff})]
[(#SAISIE{couleur, color_black,
label=<:nezu:cfg_color_black:>,
defaut=#222222})]
[(#SAISIE{couleur, color_primary_color,
label=<:nezu:cfg_color_primary_color:>,
defaut=#D84B17})]
[(#SAISIE{couleur, color_primary_color_hover,
label=<:nezu:cfg_color_primary_color_hover:>,
defaut=#a23811})]
[(#SAISIE{couleur, color_primary_color_light,
label=<:nezu:cfg_color_primary_color_light:>,
defaut=#ff713c})]
[(#SAISIE{couleur, color_gray,
label=<:nezu:cfg_color_gray:>,
defaut=#6D6D6D})]
[(#SAISIE{couleur, color_gray_light,
label=<:nezu:cfg_color_gray_light:>,
defaut=#e0e0e0})]
[(#SAISIE{couleur, color_gray_super_light,
label=<:nezu:cfg_color_gray_super_light:>,
defaut=#f8f8f8})]
[(#SAISIE{couleur, color_gray_dark,
label=<:nezu:cfg_color_gray_dark:>,
defaut=#484848})]
#BOITE_OUVRIR{'',notice, classe du titre}
<:nezu:cfg_palette_explication_suite:></p>
#BOITE_PIED
<a href="#URL_ECRIRE{admin_vider}" class="btn"><:bouton_vider_cache:></a>
#BOITE_FERMER
</fieldset>
<input type="hidden" name="_meta_casier" value="nezu" />
<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
</div>
</form>
</div>
<div style="padding:1rem;background-color:#eee;text-align:center"><:nezu:ours:></div>

@ -0,0 +1,18 @@
[(#REM)
formulaire de recherche
param:
- recherche (facultatif) la recherche
]<form action="[(#ENV{action})]" method="get" class="search-form">
<fieldset>
[(#ENV{action}|form_hidden)]
<input type="hidden" name="lang" value="#LANG" />
<input name="page" value="recherche" type="hidden"/>
<input type="search" class="span search" placeholder="<:nezu:recherche_recherche:>" accesskey="4" name="recherche" id="recherche" [ value="(#ENV{recherche})"]>
<input type="image" class="search-submit" src="#CHEMIN{img/search.svg}" alt="" />
</fieldset>
</form>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

@ -0,0 +1,3 @@
<svg width="38" height="38" viewBox="0 0 38 38" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M28.1667 4.50004H35.5C35.9862 4.50004 36.4525 4.69319 36.7964 5.03701C37.1402 5.38083 37.3333 5.84714 37.3333 6.33337V35.6667C37.3333 36.1529 37.1402 36.6193 36.7964 36.9631C36.4525 37.3069 35.9862 37.5 35.5 37.5H2.49999C2.01376 37.5 1.54744 37.3069 1.20363 36.9631C0.859811 36.6193 0.666656 36.1529 0.666656 35.6667V6.33337C0.666656 5.84714 0.859811 5.38083 1.20363 5.03701C1.54744 4.69319 2.01376 4.50004 2.49999 4.50004H9.83332V0.833374H13.5V4.50004H24.5V0.833374H28.1667V4.50004ZM33.6667 19.1667H4.33332V33.8334H33.6667V19.1667ZM24.5 8.16671H13.5V11.8334H9.83332V8.16671H4.33332V15.5H33.6667V8.16671H28.1667V11.8334H24.5V8.16671ZM7.99999 22.8334H11.6667V26.5H7.99999V22.8334ZM17.1667 22.8334H20.8333V26.5H17.1667V22.8334ZM26.3333 22.8334H30V26.5H26.3333V22.8334Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 895 B

@ -0,0 +1,3 @@
<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M32.8333 4.50002H41.5C42.0746 4.50002 42.6257 4.72829 43.0321 5.13462C43.4384 5.54095 43.6667 6.09205 43.6667 6.66669V41.3334C43.6667 41.908 43.4384 42.4591 43.0321 42.8654C42.6257 43.2717 42.0746 43.5 41.5 43.5H2.5C1.92537 43.5 1.37427 43.2717 0.967938 42.8654C0.561609 42.4591 0.333336 41.908 0.333336 41.3334V6.66669C0.333336 6.09205 0.561609 5.54095 0.967938 5.13462C1.37427 4.72829 1.92537 4.50002 2.5 4.50002H11.1667V0.166687H15.5V4.50002H28.5V0.166687H32.8333V4.50002ZM39.3333 21.8334H4.66667V39.1667H39.3333V21.8334ZM28.5 8.83335H15.5V13.1667H11.1667V8.83335H4.66667V17.5H39.3333V8.83335H32.8333V13.1667H28.5V8.83335ZM9 26.1667H13.3333V30.5H9V26.1667ZM19.8333 26.1667H24.1667V30.5H19.8333V26.1667ZM30.6667 26.1667H35V30.5H30.6667V26.1667Z" fill="#D84B17"/>
</svg>

After

Width:  |  Height:  |  Size: 877 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="105.5" height="31" viewBox="0 0 105.5 31">
<path id="Union_6" data-name="Union 6" d="M-240.986-253.276H-319v-2.448h78.013V-270l27.487,15.5L-240.986-239Z" transform="translate(319 270)" fill="#071923"/>
</svg>

After

Width:  |  Height:  |  Size: 258 B

@ -0,0 +1,7 @@
<svg id="_" data-name="+" xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40">
<g id="Tracé_963" data-name="Tracé 963" fill="none">
<path d="M20,0A20,20,0,1,1,0,20,20,20,0,0,1,20,0Z" stroke="none"/>
<path d="M 20 2 C 15.19202041625977 2 10.67182922363281 3.872329711914062 7.272079467773438 7.272079467773438 C 3.872329711914062 10.67182922363281 2 15.19202041625977 2 20 C 2 24.80797958374023 3.872329711914062 29.32817077636719 7.272079467773438 32.72792053222656 C 10.67182922363281 36.12767028808594 15.19202041625977 38 20 38 C 24.80797958374023 38 29.32817077636719 36.12767028808594 32.72792053222656 32.72792053222656 C 36.12767028808594 29.32817077636719 38 24.80797958374023 38 20 C 38 15.19202041625977 36.12767028808594 10.67182922363281 32.72792053222656 7.272079467773438 C 29.32817077636719 3.872329711914062 24.80797958374023 2 20 2 M 20 0 C 31.04570007324219 0 40 8.954299926757812 40 20 C 40 31.04570007324219 31.04570007324219 40 20 40 C 8.954299926757812 40 0 31.04570007324219 0 20 C 0 8.954299926757812 8.954299926757812 0 20 0 Z" stroke="none" fill="#071923"/>
</g>
<path id="Tracé_1511" data-name="Tracé 1511" d="M7.992-3.848h2.442v-7.215h6.7v-2.294h-6.7v-7.215H7.992v7.215H1.258v2.294H7.992Z" transform="translate(11 32)" fill="#071923"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<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 1503.8 1900" style="enable-background:new 0 0 1503.8 1900;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:0.26;}
.st1{fill:#D84B17;stroke:#D84B17;stroke-width:1.06;}
.st2{enable-background:new ;}
.st3{fill:#D84B17;}
</style>
<g id="Calque_1_1_">
<path class="st0" d="M124,562.6h1256.3V936H124V562.6z"/>
<path class="st1" d="M709.3,1512.6c-147.3-8.2-290.9-60.7-408.5-149.3c-124.3-93.7-216-222-263.8-369.2
c-53.7-165.4-47.9-347,16-507.9c27.4-69,66.2-136.3,109.6-190.1l9-11.1c25.4-31.4,63.9-70,101.4-101.7
c34.7-29.3,81.8-60.9,125.8-84.3c59.8-31.9,124.8-55.9,189.8-70.2C690.3,6.4,796,5.1,897.3,25c250.5,49.2,459.8,223.5,553.6,461.2
c68.2,173,70,365,5.1,539.3c-78.5,210.1-248.9,375.8-460.8,448C904.3,1504.5,805.6,1518,709.3,1512.6L709.3,1512.6z M335.2,950
c79.2-7.7,142.7-60.6,163.4-136.2c1.5-5.3,2.7-10.1,2.7-10.5s-20.6-0.7-45.9-0.5l-45.9,0.3l-2.4,6.3
c-11.8,30.5-35.2,53.1-64.6,62.2c-21.8,6.8-48.8,4.9-69.3-4.8c-55.1-26.1-77.5-100.5-48.1-159.8c15-30.3,41.2-50.2,72.8-55.3
c11.1-1.8,30.6-0.8,41.4,2.2c30.5,8.4,55.1,32.2,68.4,66.1l1.1,2.9h91.6l-0.6-4c-1.1-7-6.9-23.4-12.2-34.5
c-22.8-48.2-64.3-84.9-114.3-100.8c-32.8-10.5-65.5-12-100.8-4.8c-74.2,15.2-131,74.5-145.6,152.1c-2.8,14.8-2.8,49.9,0,63.7
c8,40.3,25.7,74.2,53,101.7C219.3,935.9,276.6,955.8,335.2,950L335.2,950z M879,946c17.2-4.3,31.3-12,40.3-21.7l4.5-4.9v25.4h88.1
V573.3h-91.3v117.6l-6.9-6.7c-8.3-8.1-23.8-16.2-37.7-19.6c-11.5-2.8-34.3-3.9-46.9-2.2c-52.6,7-95,42.5-110.7,92.4
c-7.1,22.7-9.3,55.5-5.4,79.6c2.1,12.7,8.2,32.4,13.3,42.5c17.9,35.9,51.4,61.5,90.8,69.3c13.2,2.6,13.7,2.6,33.9,2.3
C866.1,948.3,872,947.7,879,946L879,946z M850,869.4c-19.8-3.6-35.7-15.2-44.2-32.3c-16.1-32.6-4-72.8,26.2-87.1
c12.8-6.1,31.8-8.1,45-4.9c9.9,2.4,20.7,8.2,27.9,14.9c7.7,7.2,12.3,14.5,16.4,25.5c2.5,6.9,2.9,9.5,2.9,20.2
c0,10.6-0.4,13.3-2.9,20.7c-4,11.7-8.5,19-16,26.5c-10.8,10.8-23.9,16.2-41.3,17C859.2,870.2,852.9,870,850,869.4L850,869.4z
M1211.4,913.1v-34.9l-11-0.4c-12.8-0.5-15.7-1.8-18.8-8.7c-1.9-4.2-2-7.8-2-63v-58.6l15.7-0.3l15.7-0.3v-70.1l-15.7-0.3l-15.6-0.3
l-0.3-51.2l-0.3-51.2h-91.3l-0.3,51.2l-0.3,51.2l-14.6,0.3l-14.6,0.3l-0.3,35.3l-0.3,35.3h29.8v54c0,70.4,1.1,80.4,10.7,100.5
c3.8,7.9,6.1,11,14.2,19c8.1,8.1,11.2,10.4,19.7,14.5c18.4,9,34.6,12.2,62.4,12.4l17.3,0.1L1211.4,913.1z M652,846.1v-98.7h32.9
v-71.1h-33.2l0.4-10.6c0.5-11.4,1.5-14,7.7-18.5c2.4-1.8,4.8-2.3,14-2.6l11.1-0.4v-71.3l-20.2,0.7c-32.9,1.2-51.2,5.4-67.5,15.4
c-24.3,15-35.4,39.2-35.5,77.3v9.8l-14.6,0.3l-14.6,0.3v70.1l14.6,0.3l14.6,0.3v197.4H652V846.1L652,846.1z M1380,900.5l-0.3-44.3
h-91.3l-0.3,44.3l-0.3,44.3h92.4L1380,900.5z M1380,720.6l0.3-44.3h-92.4v88.1l25.2,0.3c13.9,0.2,34.5,0.3,45.9,0.3h20.7
L1380,720.6z"/>
</g>
<g class="st2">
<path class="st3" d="M69.5,1844.2c-10.6,0-19.6-2.4-27.1-7.2c-7.4-4.8-13.1-11.3-17-19.6c-3.9-8.3-5.8-17.7-5.8-28.2v-149.9
c0-10.4,2-19.7,6-28c4-8.3,9.7-14.9,17.2-19.7c7.5-4.8,16.4-7.3,26.7-7.3c7.7,0,14.7,1.4,20.8,4.3c6.1,2.9,11.3,6.8,15.7,11.9
c4.3,5,7.6,10.8,10,17.5c2.3,6.6,3.5,13.8,3.5,21.4v35h-35v-35c0-5.3-1.1-9.7-3.3-13.3c-2.2-3.6-5.8-5.4-10.9-5.4
c-4.6,0-8,1.8-10,5.5c-2.1,3.7-3.1,8.1-3.1,13.2v149.9c0,5.1,1.1,9.5,3.4,13.2c2.3,3.7,5.5,5.5,9.8,5.5c5.2,0,8.9-1.8,11-5.4
c2.1-3.6,3.2-8,3.2-13.3v-35h35v35c0,10.4-2,19.7-6.1,28c-4,8.3-9.8,14.9-17.2,19.7S79.8,1844.2,69.5,1844.2z"/>
<path class="st3" d="M145.3,1841.5v-254.4h37.4v105.2h29.1v-105.2h37.4v254.4h-37.4v-110.8h-29.1v110.8H145.3z"/>
<path class="st3" d="M276.8,1841.5v-254.4h37.4v254.4H276.8z"/>
<path class="st3" d="M341.9,1841.5v-254.4h47.4l20.4,131.9l1.7,13.5h0.7l1.7-13.5l20.4-131.9h47.4v254.4h-34.6v-170.7H445
l-1.4,10.7l-22.2,159.9h-19.4L380,1681.6l-1.4-10.7h-2.1v170.7H341.9z"/>
<path class="st3" d="M509.4,1841.5v-254.4h37.4v254.4H509.4z"/>
<path class="st3" d="M574.5,1841.5v-254.4H660v38.4h-48.1v68.5h34.6v37.4h-34.6v71.7H660v38.4H574.5z"/>
<path class="st3" d="M741,1841.5v-254.4h85.5v38.4h-48.1v66.8H813v40.8h-34.6v69.9h48.1v38.4H741z M766.9,1564.6l18-31.2h36.3
l-27.3,31.2H766.9z"/>
<path class="st3" d="M847.3,1841.5v-254.4h35l34.6,132.6l3.1,11.8h2.1v-144.3h34.3v254.4h-31.5l-38.1-132.6l-3.1-11.8h-2.1v144.3
H847.3z"/>
<path class="st3" d="M984,1841.5v-254.4h85.5v38.4h-48.1v68.5h34.6v37.4h-34.6v71.7h48.1v38.4H984z"/>
<path class="st3" d="M1097.2,1841.5v-254.4h37.4c22.4,0,38.9,6.2,49.5,18.6c10.6,12.4,15.9,30.7,15.9,54.8
c0,14.3-2.5,26.7-7.5,37.1c-5,10.4-11.1,18.1-18.3,22.9l25.4,121h-37.4l-21.1-107.3h-6.6v107.3H1097.2z M1134.5,1699.6
c6.9,0,12.4-1.5,16.4-4.6c4-3.1,6.9-7.4,8.7-13.1c1.7-5.7,2.6-12.3,2.6-20.1c0-12.1-2-21.4-6-28c-4-6.5-11.2-9.8-21.7-9.8V1699.6z"
/>
<path class="st3" d="M1263,1844.2c-10.3,0-18.6-2.4-25.1-7.3c-6.5-4.8-11.2-11.4-14.3-19.7c-3.1-8.3-4.6-17.7-4.6-28v-149.9
c0-10.3,2-19.6,6.1-27.9c4-8.3,9.8-14.9,17.3-19.8c7.5-4.9,16.3-7.4,26.5-7.4c7.7,0,14.7,1.4,20.9,4.2c6.2,2.8,11.4,6.8,15.8,11.9
c4.3,5.1,7.6,10.9,9.9,17.6c2.3,6.6,3.4,13.8,3.4,21.4v39.1h-37.4v-39.1c0-5.1-0.9-9.5-2.8-13.2c-1.8-3.7-5.1-5.5-9.7-5.5
c-4.5,0-7.7,1.9-9.6,5.8c-1.9,3.9-2.9,8.2-2.9,12.9v153c0,5,1,9.3,2.9,13.1c2,3.8,5.1,5.6,9.5,5.6c4.6,0,7.8-1.9,9.7-5.6
c1.8-3.7,2.8-8.1,2.8-13.1v-42.6h-14.9v-35h52.3v126.7h-22.2l-4.5-13.8c-3.2,5.2-7.4,9.3-12.4,12.2
C1274.6,1842.8,1269.1,1844.2,1263,1844.2z"/>
<path class="st3" d="M1346.4,1841.5v-254.4h37.4v254.4H1346.4z"/>
<path class="st3" d="M1411.5,1841.5v-254.4h85.5v38.4h-48.1v68.5h34.6v37.4h-34.6v71.7h48.1v38.4H1411.5z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<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 15 11.2" style="enable-background:new 0 0 15 11.2;" xml:space="preserve">
<path id="picto-envelope" d="M14.7,3.7c0.1-0.1,0.2,0,0.2,0c0,0,0,0.1,0,0.1v6c0,0.8-0.6,1.4-1.4,1.4H1.4C0.6,11.2,0,10.6,0,9.8v-6
c0-0.1,0.1-0.2,0.2-0.2c0,0,0.1,0,0.1,0C0.9,4.2,1.8,4.9,4.8,7c0.6,0.5,1.7,1.4,2.7,1.4s2.1-1,2.7-1.4C13.2,4.9,14.1,4.2,14.7,3.7z
M7.5,7.5c0.7,0,1.7-0.9,2.1-1.2c3.9-2.8,4.2-3.1,5.1-3.8C14.9,2.4,15,2.2,15,2V1.4C15,0.6,14.4,0,13.6,0H1.4C0.6,0,0,0.6,0,1.4V2
c0,0.2,0.1,0.4,0.3,0.6c0.9,0.7,1.2,0.9,5.1,3.8C5.8,6.6,6.8,7.5,7.5,7.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 816 B

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 40 40" style="enable-background:new 0 0 40 40;" xml:space="preserve">
<g>
<path d="M20,0C9,0,0,9,0,20c0,11,9,20,20,20c11,0,20-9,20-20C40,9,31,0,20,0z M20,38c-9.9,0-18-8.1-18-18c0-9.9,8.1-18,18-18
c9.9,0,18,8.1,18,18C38,29.9,29.9,38,20,38z"/>
<polygon points="21.4,11.4 19,11.4 19,18.6 12.3,18.6 12.3,20.9 19,20.9 19,28.2 21.4,28.2 21.4,20.9 28.1,20.9 28.1,18.6
21.4,18.6 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 664 B

@ -0,0 +1,3 @@
<svg aria-hidden="true" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path fill="#FFFFFF" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path>
</svg>

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

@ -0,0 +1,58 @@
[(#REM)
surcharger la dist
nom auteur = nom du site
]<BOUCLE_un_article(ARTICLES){id_article}>
<item[ xml:lang="(#LANG)"]>
<title>[(#TITRE|supprimer_tags|texte_backend)]</title>
<link>[(#URL_ARTICLE|url_absolue)]</link>
[<guid isPermaLink="true">(#URL_ARTICLE|url_absolue|texte_backend)</guid>]
[<dc:date>(#DATE|date_iso)</dc:date>]
<dc:format>text/html</dc:format>
[<dc:language>(#LANG)</dc:language>]
[<dc:creator>(#NOM_SITE_SPIP|supprimer_tags|texte_backend)</dc:creator>]
[(#REM)
Le bloc qui suit diffuse les mots-cles a la mode RSS
]<BOUCLE_mots_rss(MOTS){id_article}>
[<dc:subject>(#TITRE|texte_backend)</dc:subject>]</BOUCLE_mots_rss>
<description>[(#INTRODUCTION|texte_backend)]
[(#REM)
Le bloc qui suit diffuse la rubrique et les mots-cles
sous forme de "microformats"
]<BOUCLE_rubrique_mf(RUBRIQUES){id_rubrique}>-
[&lt;a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory"&gt;(#TITRE|supprimer_tags|texte_backend)&lt;/a&gt;]
</BOUCLE_rubrique_mf><B_mots_mf>
/ <BOUCLE_mots_mf(MOTS){id_article}{", "}>
[&lt;a href="[(#URL_MOT|url_absolue)]" rel="tag"&gt;(#TITRE|texte_backend)&lt;/a&gt;]</BOUCLE_mots_mf>
</description>
[(#REM)
Le bloc qui suit diffuse aussi le texte integral de l'article,
ce qui permet une syndication plus riche (mais plus "lourde").
Fonction desactivable depuis les reglages du site.
][
(#CONFIG{syndication_integrale}|=={oui}|?{' ',''})<content:encoded>[(#LOGO_ARTICLE{right}|image_reduire{150,150}|texte_backend)
][&lt;div class='rss_chapo'&gt;(#CHAPO|texte_backend)&lt;/div&gt;
][&lt;div class='rss_texte'&gt;(#TEXTE|
image_reduire{500,0}|texte_backend)&lt;/div&gt;
][&lt;div class="hyperlien"&gt;<:voir_en_ligne|html2unicode:> : &lt;a href="(#URL_SITE)" class="spip_out"&gt;[(#NOM_SITE|sinon{[(#URL_SITE|couper{80})]}|texte_backend)]&lt;/a&gt;&lt;/div&gt;
][&lt;hr /&gt;
&lt;div class='rss_notes'&gt;(#NOTES|texte_backend)&lt;/div&gt;
][&lt;div class='rss_ps'&gt;(#PS|texte_backend)&lt;/div&gt;]
</content:encoded>
]
[(#REM)
Le bloc qui suit diffuse l'adresse des documents associes aux articles ;
ajouter par ex. {extension=mp3} pour limiter a un certain type de document.
] <BOUCLE_documents(DOCUMENTS){id_article}{mode=document}{doublons}>[
<enclosure url="(#URL_DOCUMENT|url_absolue|unique)"[ length="(#TAILLE)"][ type="(#MIME_TYPE)"] />]
</BOUCLE_documents>
</item>
</BOUCLE_un_article>

@ -0,0 +1,34 @@
[(#REM)
page erreur 404
param:
- env
]
<!-- content :article-body -->
<div class="article-body-wrapper">
<div class="container">
<div class="row">
<!-- article-header -->
<div class="col-lg-12 article-header">
<h1 class="article-h1 text-center"><:pass_erreur:> [(#ENV{status, 404}|intval)]</h1>
</div>
<!-- #article-header -->
<!-- article-body -->
<div class="col-lg-12 article-body">
<div class="article-chapo text-center wow wobble">
<p><:nezu:404_sorry:></p>
[<img src="(#CHEMIN{img/404.png})" alt="<:pass_erreur:> 404" >]
</div>
</div>
<!-- #article-body -->
</div>
</div>
</div>
</div>
<!-- #content :article-body -->
#FILTRE{trim}

@ -0,0 +1,46 @@
[(#REM)
listing tous les evenements à venir
param:
- env (ajax)
]
<!-- les filtres -->
<B_tags>
<!--<h2 class="article-h3 mt-3"><:nezu:filtres:></h2>-->
<div class="article-tags article-tags--column pt-2">
<BOUCLE_tags(MOTS){par titre}>
<a href="[(#SELF|parametre_url{id_mot,#ID_MOT})]" class="ajax article-tag[(#EXPOSE|oui) article-tag--on]">#FA_ICON{fa-tag,icon-sm,tag} #TITRE</a>
</BOUCLE_tags>
[(#ENV{id_mot}|oui)
<a href="[(#SELF|parametre_url{id_mot,''})]" class="ajax article-tag article-tag--transparent">#FA_ICON{fa-times,icon-sm,tag} <:nezu:filtres_retirer:></a>
]
</div>
</B_tags>
<!-- le listing -->
[(#REM)
passe 1: on recupere tous les evenements valides:
- date ok
- id_mot ? ok
]
#SET{evts,#ARRAY}
<BOUCLE_evt1(EVENEMENTS?){age<-1}{par date_debut}>
<BOUCLE_art(ARTICLES){id_article}{id_mot ?}>[(#SET{evts, #GET{evts}|push{#ID_EVENEMENT}})]</BOUCLE_art>
</BOUCLE_evt1>
#SET{mois_dernier,''}
<BOUCLE_evt(EVENEMENTS?){id_evenement IN #GET{evts}}{par date_debut}>
[(#SET{mois_courant,#DATE_DEBUT|affdate_mois_annee})]
[(#GET{mois_courant}|=={#GET{mois_dernier}}|non)
[(#SET{mois_dernier,#DATE_DEBUT|affdate_mois_annee})]
<h3 class="article-h3 mt-4">[(#GET{mois_dernier}|ucfirst)]</h3>
]
<INCLURE{fond=inc/evenement_preview_inline, id_evenement}>
</BOUCLE_evt></B_evt>
<div class="alert alert-error mt-2 mb-5">
[(#CONFIG{nezu/evenement_nomatch}|propre|sinon{<:nezu:fiche_evenement_no_dates:>})]
</div>
<//B_evt>

@ -0,0 +1,127 @@
[(#REM)
article entier
- contenu (compatible crayons)
- la barre outils est inspiree de inspi plugin outils_article http://www.spip-contrib.net/Boite-a-outils-pour-article,1
- avec portfolio
- agenda
logo: on affiche le logo
param:
- id_article
- cache_ariane (facultatif) cache le fil ariane
]<BOUCLE_art(ARTICLES){id_article}>
<!-- content :article-body -->
<div class="article-body-wrapper" id="article#ID_ARTICLE">
<div class="container">
<div class="row">
<!-- article-aside -->
<div class="col-lg-2 article-aside d-none d-lg-block">
</div>
<!-- #article-aside -->
<!-- article-column -->
<div class="col-lg-8 article-column">
<div class="row">
<!-- article-header -->
<div class="col-lg-12 article-header">
[(#REM) fil ariane:
on masque
- les rubriques cachées commencant par 999.
]#SET{is_ariane,''}
<B_ariane>
<div class="ariane">
<ul aria-label="breadcrumb">
<li><a href="#URL_SITE_SPIP"><:nezu:accueil_site:></a> <span>&gt;</span></li>
<BOUCLE_ariane(HIERARCHIE){id_article}{titre !=='^999.'}{0,n}{si #ENV{cache_ariane}|non}{si #PROFONDEUR|>{0}|oui}>
<li><a href="#URL_RUBRIQUE">#TITRE</a>[(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|non) <span>&gt;</span>]</li>
</BOUCLE_ariane>
</ul>
</div>
#SET{is_ariane,true}
</B_ariane>
[<h1 class="article-h1 #EDIT{titre}[(#GET{is_ariane}|non)]">(#TITRE)</h1>]
[<div class="article-descriptif #EDIT{descriptif}">(#DESCRIPTIF)</div>]
[<div class="article-chapo[(#LOGO_ARTICLE|oui) article-chapo--logo] #EDIT{chapo}">(#CHAPO)</div>]
[<div class="article-logo article-logo--art#ID_ARTICLE">(#LOGO_ARTICLE|image_reduire{1200,0}|image_reduire{0,2000}|inserer_attribut{class,no-logo}|inserer_attribut{alt,#TITRE})</div>]
<BOUCLE_evt(EVENEMENTS?){id_article}{age<-1}{par date_debut}{0,6}>
<INCLURE{fond=inc/evenement_preview, id_evenement, no-link=oui, inscription=oui}>
</BOUCLE_evt>
</div>
<!-- #article-header -->
<!-- article-body -->
<div class="col-lg-12 article-body">
[<div class="#EDIT{texte} article-texte">(#TEXTE|image_reduire{1200,0})</div>]
[<div class="hypertxt"><strong>URL :</strong> <a href="#URL_SITE" class="spip_out" target="_blank">(#NOM_SITE)</a></div>]
[<div class="article-notes">(#NOTES)</div>]
[<!-- autre doc -->
(#REM) Documents joints à l'article
]<BOUCLE_doc_exclure_img(DOCUMENTS){id_article}{extension IN png,jpg,gif}{mode=document}{doublons noimage}> </BOUCLE_doc_exclure_img>
<B_docjoint>
<div class="article-docjoints clear">
<BOUCLE_docjoint(DOCUMENTS){id_article}{mode=document}{vu=non}{doublons noimage}{par rang_lien}>
<div class="article-docjoint">
<a href="#URL_DOCUMENT" title="<:bouton_telecharger:>" type="#MIME_TYPE" download>
<div class="docjoint-logo">#LOGO_DOCUMENT</div>
<!-- <small>#TYPE_DOCUMENT[ - (#TAILLE|taille_en_octets)]</small> -->
[<div class="docjoint-titre">(#TITRE|sinon{#FICHIER|basename})</div>]
[<div class="docjoint-desc">(#DESCRIPTIF)</div>]
[<div class="docjoint-credits">(#CREDITS)</div>]
</a>
</div>
</BOUCLE_docjoint>
</div>
</B_docjoint>
[(#REM) Portfolio : planche contact - galerie ]
[(#SET{l,#ENV{l}|sinon{500}})]
[(#SET{h,#ENV{h}|sinon{300}})]
<B_doc>
<h3 class="article-h3 mt-5 clear"><:nezu:portfolio:></h3>
<div class="article-portfolio">
<BOUCLE_doc(DOCUMENTS){id_article}{extension IN png,jpg,gif,svg}{par rang_lien}{vu=non}{doublons portaits}>
<figure class="portfolio">
<a href="#URL_DOCUMENT" rel="galerie" class="mediabox"[ title="(#TITRE)"]>
[(#FICHIER|image_proportions{#GET{l},#GET{h},focus}|image_reduire{#GET{l},#GET{h}}|inserer_attribut{alt,#ENV{titre}|textebrut})]
[(#TITRE|sinon{#DESCRIPTIF}|sinon{#CREDITS}|oui)
<figcaption>
<span class="figcaption-titre">#TITRE</span>
[<span class="figcaption-desc">(#DESCRIPTIF|supprimer_tags)</span>]
[<span class="figcaption-credits">(#CREDITS|supprimer_tags)</span>]
</figcaption>]
</a>
</figure>
</BOUCLE_doc>
</div>
</B_doc>
[(#CACHER_DATE|non)
<div class="article-date">
[<span class="publication"><:nezu:publie_le:>
<abbr class="published" itemprop="datePublished" title="[(#DATE|date_iso)]">(#DATE|affdate)</abbr>
</span>]
[- <span><:nezu:mis_a_jour:>
<abbr class="modified updated" itemprop="dateModified" title="[(#MAJ|date_iso)]">(#DATE|affdate|!={#MAJ|affdate}|?{#MAJ|affdate})</abbr>
</span>]
</div>]
</div>
<!-- #article-body -->
</div>
</div>
<!-- article-column -->
</div>
<!-- row -->
</div>
</div>
<!-- #content :article-body -->
</BOUCLE_art>
#FILTRE{trim}

@ -0,0 +1,42 @@
[(#REM)
Bloc "voir aussi"
on prend les 3 plus pertinents dans l'ordre
- les selections a2a
- les voisins dans la rubrique
- les recents dans le site
requiert:
- plugin a2a : https://contrib.spip.net/Le-plugin-a2a-pour-lier-des-articles (facultatif)
param:
- id_article
]<BOUCLE_art(ARTICLES){id_article}{doublons selections}>
#SET{articles,#ARRAY}
<BOUCLE_articles_lies(ARTICLES_LIES?){id_article}{par rang}{0,3}>#SET{articles, #GET{articles}|push{#ID_ARTICLE_LIE}}</BOUCLE_articles_lies>
<BOUCLE_articles_voisins(ARTICLES){id_rubrique}{!par hasard}{0,3}{doublons selections}>#SET{articles, #GET{articles}|push{#ID_ARTICLE}}</BOUCLE_articles_voisins>
<BOUCLE_articles_recents(ARTICLES){!par date}{0,3}{doublons selections}{lang}>#SET{articles, #GET{articles}|push{#ID_ARTICLE}}</BOUCLE_articles_recents>
<!-- content :more -->
<B_as>
<div class="article-a2a-wrappery">
<div class="content container">
<div class="row">
<div class="col-lg-12 mt-4">
<h4 class="article-a2a-titre"><:nezu:et_aussi:></h4>
<div class="article-previews">
<BOUCLE_as(ARTICLES){id_article IN #GET{articles}}{0,3}>
<INCLURE{fond=inc/article_preview, id_article, affiche_intro=oui, cache_date=oui} />
</BOUCLE_as>
</div>
</div>
</div>
</div>
</div>
</B_as>
<!-- #content :more -->
</BOUCLE_art>
#FILTRE{trim}

@ -0,0 +1,118 @@
[(#REM)
article entier
- contenu (compatible crayons)
- la barre outils est inspiree de inspi plugin outils_article http://www.spip-contrib.net/Boite-a-outils-pour-article,1
- avec portfolio
- agenda
logo: on affiche le logo
param:
- id_article
- cache_ariane (facultatif) cache le fil ariane
]<BOUCLE_art(ARTICLES){id_article}>
<!-- content :article-body -->
<div class="article-body-wrapper" id="article#ID_ARTICLE">
<div class="container">
<div class="row">
<!-- article-aside -->
<div class="col-lg-4 article-aside">
<INCLURE{fond=inc/rubrique_liste_articles_faq, id_rubrique, id_article}>
</div>
<!-- article-main -->
<div class="col-lg-8 article-main">
<!-- article-header -->
<div class="article-header">
[(#REM) fil ariane:
on masque
- les rubriques cachées commencant par 999.
]#SET{is_ariane,''}
<B_ariane>
<div class="ariane">
<ul aria-label="breadcrumb">
<li><a href="#URL_SITE_SPIP"><:nezu:accueil_site:></a> <span>&gt;</span></li>
<BOUCLE_ariane(HIERARCHIE){id_article}{titre !=='^999.'}{0,n}{si #ENV{cache_ariane}|non}{si #PROFONDEUR|>{0}|oui}>
<li><a href="#URL_RUBRIQUE">#TITRE</a>[(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|non) <span>&gt;</span>]</li>
</BOUCLE_ariane>
</ul>
</div>
#SET{is_ariane,true}
</B_ariane>
[<h1 class="article-h1 #EDIT{titre}">(#TITRE)</h1>]
[<div class="article-descriptif #EDIT{descriptif}">(#DESCRIPTIF)</div>]
[<div class="article-chapo[(#LOGO_ARTICLE|oui) article-chapo--logo] #EDIT{chapo}">(#CHAPO)</div>]
[<div class="article-logo">(#LOGO_ARTICLE|image_reduire{1200,0}|image_reduire{0,2000}|inserer_attribut{class,no-logo}|inserer_attribut{alt,#TITRE})</div>]
</div>
<!-- #article-header -->
<!-- article-body -->
<div class="article-body">
[<div class="#EDIT{texte} article-texte">(#TEXTE|image_reduire{1200,0})</div>]
[<div class="hypertxt"><strong>URL :</strong> <a href="#URL_SITE" class="spip_out" target="_blank">(#NOM_SITE)</a></div>]
[<div class="article-notes">(#NOTES)</div>]
[<!-- autre doc -->(#REM) Autres documents joints a l'article]
<BOUCLE_doc_exclure_img(DOCUMENTS){id_article}{extension IN png,jpg,gif}{mode=document}{doublons noimage}> </BOUCLE_doc_exclure_img>
<B_docjoint>
<div class="article-docjoints clear">
<BOUCLE_docjoint(DOCUMENTS){id_article}{mode=document}{vu=non}{doublons noimage}{par rang_lien}>
<div class="article-docjoint">
<a href="#URL_DOCUMENT" title="<:bouton_telecharger:>" type="#MIME_TYPE" download>
<div class="docjoint-logo">#LOGO_DOCUMENT</div>
<small>#TYPE_DOCUMENT[ - (#TAILLE|taille_en_octets)]</small>
[<div class="docjoint-titre">(#TITRE|sinon{#FICHIER|basename}|couper{50})</div>]
[<div class="docjoint-desc">(#DESCRIPTIF)</div]
</a>
</div>
</BOUCLE_docjoint>
</div>
</B_docjoint>
[(#REM) Portfolio : planche contact - galerie ]
[(#SET{l,#ENV{l}|sinon{500}})]
[(#SET{h,#ENV{h}|sinon{300}})]
<B_doc>
<h3 class="article-h3 mt-5 clear"><:nezu:portfolio:></h3>
<div class="article-portfolio">
<BOUCLE_doc(DOCUMENTS){id_article}{extension IN png,jpg,gif,svg}{par rang_lien}{vu=non}{doublons portaits}>
<figure class="portfolio">
<a href="#URL_DOCUMENT" rel="galerie" class="mediabox"[ title="(#TITRE)"]>
[(#FICHIER|image_proportions{#GET{l},#GET{h},focus}|image_reduire{#GET{l},#GET{h}}|inserer_attribut{alt,#ENV{titre}|textebrut})]
[(#TITRE|sinon{#DESCRIPTIF}|sinon{#CREDITS}|oui)
<figcaption>
<span class="figcaption-titre">#TITRE</span>
[<span class="figcaption-desc">(#DESCRIPTIF|supprimer_tags)</span>]
[<span class="figcaption-credits">(#CREDITS|supprimer_tags)</span>]
</figcaption>]
</a>
</figure>
</BOUCLE_doc>
</div>
</B_doc>
[(#CACHER_DATE|non)
<div class="article-date">
[<span class="publication"><:nezu:publie_le:>
<abbr class="published" itemprop="datePublished" title="[(#DATE|date_iso)]">(#DATE|affdate)</abbr>
</span>]
[- <span><:nezu:mis_a_jour:>
<abbr class="modified updated" itemprop="dateModified" title="[(#MAJ|date_iso)]">(#DATE|affdate|!={#MAJ|affdate}|?{#MAJ|affdate})</abbr>
</span>]
</div>]
</div>
<!-- #article-body -->
</div>
<!-- #article-main -->
</div>
<!-- row -->
</div>
</div>
<!-- #content :article-body -->
</BOUCLE_art>
#FILTRE{trim}

@ -0,0 +1,42 @@
[(#REM)
retourner l'illustration principale d'un article aux dimensions indiquées
sinon retourne une image générique
on prend en priorité:
- logo_article
- sinon 1er image
param:
- id_article
- l largeur - defaut : 500
- h hauteur - defaut : 500
- titre
requiert :
- plugin centre_image
]
[(#SET{l,#ENV{l}|sinon{800}})]
[(#SET{h,#ENV{h}|sinon{360}})]
[(#SET{couleur_fond,#ENV{couleur_fond}|sinon{#CONFIG{nezu/color_primary_color}|substr{1}}|sinon{fa9f9f}})]
<BOUCLE_a(ARTICLES){id_article}{si #ENV{objet}|non}>
[(#LOGO_ARTICLE|image_proportions{#GET{l},#GET{h},focus}image_reduire{#GET{l},0}|image_recadre{#GET{l},#GET{h},center,#GET{couleur_fond}}|inserer_attribut{alt,#ENV{titre}|textebrut}|ajouter_class{article-preview-img})]
<BOUCLE_img(DOCUMENTS){id_article}
{extension IN jpg,gif,png}
{par rang_lien, num titre, titre}
{largeur>=#GET{l}}
{hauteur>=#GET{h}}
{0,1}
{si #LOGO_ARTICLE|non}
>
[(#FICHIER|image_proportions{#GET{l},#GET{h},focus}image_reduire{#GET{l},0}|inserer_attribut{alt,#ENV{titre}|textebrut}|ajouter_class{article-preview-img})]
</BOUCLE_img></B_img>
[(#REM)
une image generique
]
[(#LOGO_ARTICLE|non)
[(#CHEMIN{img/image-generique.jpg}|image_proportions{#GET{l},#GET{h},focus}image_reduire{#GET{l},0}|inserer_attribut{alt,#ENV{titre}|textebrut}|ajouter_class{article-preview-img})]
]
<//B_img>
</BOUCLE_a>
#FILTRE{trim}

@ -0,0 +1,36 @@
[(#REM)
article preview
param:
- id_article
- l (facultatif) largeur vignette - defaut : 372 (largeur grille bootstrap)
- h (facultatif)hauteur hauteur - defaut : 300
- affiche_intro (facultatif) afficher l'intro
- class (facultatif) ajout de class personnalisé
- affiche_bouton_plus (facultatif)
]<BOUCLE_art(ARTICLES){id_article}>
[(#SET{l,#ENV{l}|sinon{372}})]
[(#SET{h,#ENV{h}|sinon{300}})]
<!-- article-preview #ID_ARTICLE-->
<div class="article-preview wow fadeIn[ article-preview--(#ENV{class})]">
<a href="#URL_ARTICLE" class="article-preview-link">
<div class="article-preview-img-wrapper"><!-- l=#GET{l}, h=#GET{h} -->
<INCLURE{