Modifications à prévoir
- enlever le defilement de tous les podcast
- deplacer la section » un media de proximite » en bas de la page d’accueil, intervertir les sections quartier et rubrique (par rapport au fond, afin que tout soit alterné)
- mettre la possibilité de faire un commentaire après chaque reportage (extension, catchpa, validation des commentaires)
- lien sur le réseau X
- voir un news defilement bandeau (petit avion) pour une info à mettre en avant,
- mettre reportage précédent et reportage avant quand on lit un reportage (navigation entre les podcasts)
- classement des reportages par année
- problème quand on va sur ligne16, les images par rubrique et quartier ne s’affichent que si on recharge la page
- statistique ecoute d’un podcast ?
Extensions
Ajax Search Lite
- Est utilisé dans le header du site pour la recherche (ajax)
LoginPress
- Permet de modifier le rôle « contributeur » afin d’autoriser l’upload de fichier média pour les Podcast, podcast gérer par Sonaar…
Happy Elementor Addon
- Horizontal timeline > page un media citoeyn
- Mini galerie logo partenaires > page un media citoyen
Royal Elementor Addons
- Post Grid/slider/carousel > page accueil, section en ce moment / focus
- Menu de navigation
Code boutons play / pause essential grid
<!– Conteneur pour les lecteurs –>
<div id= »players-container »>
<div class= »player » data-post-id= »{ id:%post_id% } »>
<a class= »link play podcast-btn » href= »javascript:IRON.sonaar.player.setPlayerAndPlay({ id:%post_id% }) » onclick= »togglePlayPause(event) »>
<i class= »fa-solid fa-circle-play »></i> <!– Icône de lecture –>
Lecture
</a>
<a class= »link pause podcast-btn » href= »javascript:IRON.sonaar.player.pause({ id:%post_id% }) » style= »display:none; » onclick= »togglePlayPause(event) »>
<i class= »fa-solid fa-circle-pause »></i> <!– Icône de pause –>
Pause
</a>
</div>
</div>
<script>
// Sélectionne tous les éléments avec la classe .player
const players = document.querySelectorAll(‘.player’);
// Parcours chaque lecteur et attache les événements
players.forEach(player => {
const playButton = player.querySelector(‘.play’);
const pauseButton = player.querySelector(‘.pause’);
const postId = player.getAttribute(‘data-post-id’);
playButton.addEventListener(‘click’, function(event) {
event.preventDefault();
togglePlayPause(event, postId);
});
pauseButton.addEventListener(‘click’, function(event) {
event.preventDefault();
togglePlayPause(event, postId);
});
});
// Fonction pour basculer entre les boutons PLAY et PAUSE pour un lecteur donné
function togglePlayPause(event, postId) {
const clickedButton = event.currentTarget; // Bouton sur lequel on a cliqué
const parentPlayer = clickedButton.parentNode; // Parent de l’élément cliqué
const playButton = parentPlayer.querySelector(‘.play’);
const pauseButton = parentPlayer.querySelector(‘.pause’);
if (clickedButton.classList.contains(‘play’)) {
playButton.style.display = ‘none’;
pauseButton.style.display = ‘inline-block’;
IRON.sonaar.player.pause({ id: postId });
// Exécuter l’action de lecture avec postId
IRON.sonaar.player.setPlayerAndPlay({ id: postId });
} else if (clickedButton.classList.contains(‘pause’)) {
playButton.style.display = ‘inline-block’;
pauseButton.style.display = ‘none’;
// Exécuter l’action de pause avec postId
IRON.sonaar.player.pause({ id: postId });
}
}
</script>