Commit 4980448e authored by Matthieu FAURE's avatar Matthieu FAURE

Merge branch '23-integration-html-page-actu' into 'master'

Resolve "Integration HTML page actu"

Closes #23

See merge request !17
parents 9dba2417 70776851
......@@ -55,70 +55,75 @@ $max_member_numero = ($page * $maxMembersPerPage);
</ul>
</div>
</div>
<?php echo "<div class='adullact-members-list'>";
$members_page = get_page_by_title("membres");
$args = array('child_of' => $members_page->ID, 'sort_order' => $order);
$mypages = get_pages($args);
<div class='adullact-members-list'>
<?php
$args = array(
"post_type" => "page",
"order" => $order,
"category_name" => $category,
"orderby" => "title",
"posts_per_page" => -1);
$mypages = get_posts($args);
$number_of_total_posts = count($mypages); //pour les pages
if (($number_of_total_posts == 0) || ($number_of_total_posts < $min_member_numero)) {
echo "<h3>Aucun résultat.</h3>";
$pagination = false;
} else {
$counter = 1;
foreach ($mypages as $post) : setup_postdata($post);
if ($counter >= $min_member_numero) {
if ($counter <= $max_member_numero) {
$id = get_the_id();
$url = get_metadata("post", $id, "project_url")[0];
$number_of_total_posts = count($mypages); //pour les pages
if (($number_of_total_posts == 0) || ($number_of_total_posts < $min_member_numero)) {
echo "<h3>Aucun résultat.</h3>";
$pagination = false;
} else {
$counter = 1;
foreach ($mypages as $post) : setup_postdata($post);
if ($counter >= $min_member_numero) {
if ($counter <= $max_member_numero) {
$id = get_the_id();
$url = get_metadata("post", $id, "project_url")[0];
?>
<div class="adullact-member">
<div>
<a href="<?php echo $url; ?>" target="_blank">
<?php the_post_thumbnail(array("200", "200")); ?> <br>
</a>
</div>
?>
<div class="adullact-member">
<div>
<a href="<?php echo $url; ?>" target="_blank">
<?php the_post_thumbnail(array("200", "200")); ?> <br>
</a>
</div>
<p><?php the_title(); ?></p><br>
</div>
<?php
} else {
//on a dépassé le nombre max d'adhérents à afficher, on peut donc stopper la boucle car elle n'affichera plus rien.
break;
<p><?php the_title(); ?></p><br>
</div>
<?php
} else {
//on a dépassé le nombre max d'adhérents à afficher, on peut donc stopper la boucle car elle n'affichera plus rien.
break;
}
}
}
$counter += 1;
endforeach;
echo "</div></div>";
wp_reset_postdata();
}
$counter += 1;
endforeach;
echo "</div></div>";
wp_reset_postdata();
}
if ($pagination) {
?>
<div class="pagination">
<?php
if ($pagination) {
?>
<div class="pagination">
<?php
$number_of_pages_to_generate = intdiv($number_of_total_posts, $maxMembersPerPage);
$reste = $number_of_total_posts % $maxMembersPerPage;
$number_of_pages_to_generate = intdiv($number_of_total_posts, $maxMembersPerPage);
$reste = $number_of_total_posts % $maxMembersPerPage;
if ($reste > 0) {
$number_of_pages_to_generate += 1;
}
if ($reste > 0) {
$number_of_pages_to_generate += 1;
}
for ($i = 1; $i <= $number_of_pages_to_generate; $i++) {
$page_link = $link . "?page=" . $i . "&order=" . $order;
$link_class = "adullact-page-link";
if ($page == $i) {
$link_class .= " adullact-page-link-selected";
for ($i = 1; $i <= $number_of_pages_to_generate; $i++) {
$page_link = $link . "?page=" . $i . "&order=" . $order;
$link_class = "adullact-page-link";
if ($page == $i) {
$link_class .= " adullact-page-link-selected";
}
?>
<a href="<?php echo $page_link ?>" class="<?php echo $link_class ?>"><?php echo $i ?></a>
<?php
}
?>
<a href="<?php echo $page_link ?>" class="<?php echo $link_class ?>"><?php echo $i ?></a>
<?php
}
?>
</div>
<?php } ?>
</div>
<?php } ?>
</main>
</div>
<?php get_footer(); ?>
\ No newline at end of file
<?php
/**
* affiche un article seul. il est appelé depuis index.php lors de l'affichage d'une actualité.
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class("adullact-post"); ?>>
<?php
if (is_sticky() && is_home()) :
echo twentyseventeen_get_svg(array('icon' => 'thumb-tack'));
endif;
?>
<header class="entry-header">
<?php
if ('post' === get_post_type()) {
echo '<div class="entry-meta">';
if (is_single()) {
twentyseventeen_posted_on();
}
echo '</div><!-- .entry-meta -->';
};
if (is_single()) {
the_title('<h1 class="entry-title">', '</h1>');
} elseif (is_front_page() && is_home()) {
the_title('<h3 class="entry-title"><a href="' . esc_url(get_permalink()) . '" rel="bookmark">', '</a></h3>');
} else {
the_title('<h2 class="entry-title"><a href="' . esc_url(get_permalink()) . '" rel="bookmark">', '</a></h2>');
}
if ( is_single() ) {
twentyseventeen_posted_on();
} else {
echo twentyseventeen_time_link();
twentyseventeen_edit_link();
};
?>
</header><!-- .entry-header -->
<?php if ('' !== get_the_post_thumbnail() && !is_single()) : ?>
<div class="post-thumbnail">
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail('post-thumbnail', array("class" => "adullact-post-image")); ?>
</a>
</div><!-- .post-thumbnail -->
<?php endif; ?>
<div class="entry-content">
<?php
the_content("<span class='adullact-read-more'>Lire la suite...</span>");
wp_link_pages(
array(
'before' => '<div class="page-links">' . __('Pages:', 'twentyseventeen'),
'after' => '</div>',
'link_before' => '<span class="page-number">',
'link_after' => '</span>',
)
);
?>
</div><!-- .entry-content -->
<?php
twentyseventeen_entry_footer()
?>
</article><!-- #post-<?php the_ID(); ?> -->
<?php
/**
* The main template file
* ce fichier a pour objectif d'afficher les actualités, malgré son nom "index.php" qui pourrait laisser penser
* que c'est la page d'accueil.
*/
get_header(); ?>
<div class="wrap">
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
if (have_posts()) :
global $post;
/* Start the Loop */
while (have_posts()) :
the_post(); //on charge le post dans la boucle.
//affiche le post avec le comportement wordpress par défaut. on peut supprimer cette ligne pour
//faire ca nous même.
get_template_part('content', "adullact");
endwhile;
the_posts_pagination(
array(
'prev_text' => twentyseventeen_get_svg(array('icon' => 'arrow-left')) . '<span class="screen-reader-text">' . __('Previous page', 'twentyseventeen') . '</span>',
'next_text' => '<span class="screen-reader-text">' . __('Next page', 'twentyseventeen') . '</span>' . twentyseventeen_get_svg(array('icon' => 'arrow-right')),
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __('Page', 'twentyseventeen') . ' </span>',
)
);
else :
get_template_part('template-parts/post/content', 'none');
endif;
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
</div><!-- .wrap -->
<?php
get_footer();
Emmanuel Grégoire (1er adjoint à la ville de Paris), Jean-Christophe Becquet (président de l’April), Jacob Green (fondateur de MossLabs.io), Jean-Baptiste Kempf (Président de VideoLAN), Cédric Thomas (consortium OW2), et François Elie (président de l’Adullact), signent ensemble une tribune publiée sur Libération pour appeler les villes à utiliser des logiciels libres. <!--more-->
Aujourd'hui débute à Paris un forum co-organisé par la ville de Paris, MossLabs et OW2 pour discuter de l’avenir de la collaboration entre les villes en matière de logiciels libres. Avec son logiciel libre Lutèce, qui fut l'un des premiers projets d'envergure déposés sur la forge adullact.net, la ville de Paris est l'une des pionnières en matière de logiciel libre. Comme de nombreuses collectivités depuis, elle défend l'usage du libre comme outil de co-innovation au service des citoyens.
Pour les villes, c’est tout d’abord un gain économique important. Plutôt que de redévelopper, à l’échelle de territoires parfois très petits, des nouvelles solutions technologiques à partir de zéro, le logiciel libre permet aux collectivités de réutiliser des logiciels créés par d’autres, afin d’acquérir des services numériques à moindre coût. Comme l’explique la campagne Public Money Public Code, en dehors de l’aspect financier, il est aussi logique, que les logiciels financés par l’impôt soient publiés sous licence libre.
Le logiciel libre permet d'oeuvrer à la constitution de biens communs numériques, de participer aux innovations technologiques, et de réfléchir collaborativement aux nouveaux besoins des usagers. Respectueux des données, ces outils viennent prendre le contre-pied des grandes entreprises du numérique, dont le monopole est en partie lié à la captation et à l'exploitation massive de nos données personnelles.
Enfin, par définition transparents car ouverts, les logiciels libres participent à la dynamique d'Etat ouvert, et leur usage semble alors tout indiqué dès lors que l'on souhaite rendre la vie politique et publique plus transparente. Ainsi, à Paris, les outils de participation citoyenne (budget participatif, plateforme de consultation publique, rendez-vous des élus avec les lobbyistes) sont sous licence libre. Car ces plateformes et ces informations relèvent du bien commun.
Aujourd'hui, beaucoup d'acteurs publics restent encore méfiants vis-à-vis de ces outils libres. Sont-ils assez sécurisés ? Pourtant, "si la communauté de développeurs est suffisamment importante, l’open source offre de meilleures garanties de sécurité qu’un code fermé mais beaucoup moins relu. Au niveau technique mais aussi à d’autres niveaux : pas de risque de faillite d’un prestataire, de fuite des données ou de surfacturation !" Le libre reposant en grande partie sur sa communauté, plus une communauté s'agrandit, plus il est facile de maintenir et sécuriser le logiciel.
De fait, même si des initiatives passionnantes existent déjà à travers le monde, les signataires de cette tribune lancent un appel aux villes du monde entier pour créer une communauté internationale du logiciel libre à destination du service public. Espérons que de nombreuses collectivités entendent cet appel.
Pour la 4ème année, l'ADULLACT organise l'attribution des labels Territoire Numérique Libre, en partenariat avec le service informatique de l'Etat (DINSIC), ainsi que plusieurs associations libristes et structures de la sphère publique (voir la composition du Comité d'Orientation). Les candidatures pour l'édition 2019 seront ouvertes du vendredi 10 mai au mardi 15 octobre. <!--more-->
Depuis 2016, les labels Territoire Numérique Libre récompensent les usages numériques libres, ouverts et collaboratifs dans les collectivités territoriales, tels que l'usage de logiciels libres, et la mise à disposition des données publiques. Le label valorise également toutes les démarches et stratégies politiques menées en faveur des licences libres, et l'économie d'argent public réalisée grâce à ces stratégies. Proposer une candidature à ce label donne l’opportunité aux collectivités de marquer leur engagement et leur contribution dans le développement des logiciels libres.
Pour tout savoir sur l'attribution du label Territoire Numérique Libre, vous pouvez consulter la FAQ du label et suivre le compte Twitter officiel @TerrNumLibre.
Après examen des dossiers par le jury, chaque collectivité candidate recevra un label millésimé, gradé du niveau 1 (découverte), au niveau 5 (excellence). Afin d'encourager toutes les initiatives, quels que soient la taille et le budget informatique de la collectivité, notez que tous les établissements remplissant le formulaire de candidature obtiennent à minima le niveau 1 !
......@@ -23,6 +23,10 @@
}
}
.entry-title {
color: #4891bf;
}
/*************************************************************/
/*Liste des adhérents*/
/*************************************************************/
......@@ -90,7 +94,6 @@
.adullact-sort-button:hover {
background-color: lightgrey;
color: red;
}
.adullact-sort-button a {
......@@ -158,7 +161,7 @@
#adullact-membership-form h3 {
margin-top: 20px;
margin-bottom: 20px;
color: cornflowerblue;
color: #4891bf;
}
#secondSelection {
......@@ -176,4 +179,113 @@
.adullact-required {
color: red;
}
/*************************************************************/
/*Affichage évènement(s)*/
/*************************************************************/
#adullact-nombre-inscrits {
float: right;
}
.eventless-pre {
color: white;
}
#adullact-display-mask {
display: inline-block;
margin: 7px;
padding: 5px;
background-color: white;
box-sizing: inherit;
font-size: 1rem;
font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif;
font-weight: 400;
border-radius: 3px;
border: 1px solid grey;
color: grey;
transition: background-color 0.2s ease;
}
#adullact-display-mask:hover {
background-color: lightgrey;
color: dimgrey;
}
/*************************************************************/
/*Affichage actualité(s)*/
/*************************************************************/
.adullact-read-more {
color: #4891bf;
}
.entry-content .more-link {
display: inline;
}
.entry-content .more-link::before {
display: inline;
}
.adullact-read-more:hover::before, .adullact-read-more:focus::before {
text-decoration: underline;
box-shadow: none;
}
.adullact-post-image {
max-width: 300px;
max-height: 300px;
}
.adullact-tag {
border-radius: 3px;
border: 1px solid grey;
color: grey;
transition: background-color 0.2s ease, color 0.2s ease;
padding: 5px;
margin-right: 10px;
display: inline-block;
text-decoration: none;
}
.entry-footer .adullact-tag:hover, .entry-footer .adullact-tag:focus {
box-shadow: none;
-webkit-box-shadow: none;
}
.adullact-sort-button:hover {
background-color: lightgrey;
color: dimgrey;
}
#content {
padding-top: 20px;
}
.entry-content p {
text-align: justify;
}
article .entry-footer
{
border-top:none;
margin-top:0;
}
/*
l'article affiché seul, drôle de manière de faire mais je n'ai pas réussi à modifier les deux propriétés CSS autrement
que comme cela
*/
.blog:not(.has-sidebar) #primary article {
width: 100%;
float: none;
}
.entry-header a{
padding:3px;
padding-right:6px;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment