Agenda 2.0 et ultérieur

Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir.
La lecture de Calendrier Mini 2.0 est également chaudement recommandée, étant donné que Agenda 3 est dépendant de ce plugin.

Le portage du plugin Agenda pour SPIP 2.0 a été l’occasion de repenser et améliorer l’ergonomie de son interface. La version 2.0 du plugin agenda ne nécessite plus le plugin Widget Calendar, mais nécessite le plugin SPIP Bonux

Navigation dans les événements du site

La navigation dans les événements est directement accessible par un sous-menu du menu edition :

La présentation de ces événements délaisse le mode calendrier pour un affichage en liste plus pratiqe à l’usage.
Par défaut seuls les événements à venir sont affichés :

Ce fonctionnement évite d’encombrer l’affichage avec les événements passés toujours plus nombreux.

Un menu de navigation latéral permet d’afficher tous les événements, paginés, triés par date :

Le menu latéral inclut également une navigation antéchronologique par mois calendaire permettant l’affichage de tous les événements d’un mois

La liste centrale présente une vue résumée de chaque événement. Il est possible de voir plus de détails en cliquant sur le titre de l’événement :

Un lien [article] permet d’accéder à l’article qui contient cet événement :

On y retrouve exactement le même type de navigation, mais limitée aux événements de l’article.

Créer un nouvel événement

Le lien situé dans le bandeau titre de la boîte agenda permet de créer un nouvel événement

Modifier un événement

Lorsque vous dépliez un événement, un bouton [modifier] permet d’accéder à l’édition de l’événement.

Si l’événement est une répétition, il n’est pas possible de l’éditer directement. Dans ce cas le lien modifier est remplacé par un lien [source] qui permet d’accéder à l’événement source pour le modifier.

Edition d’un événement

Que ce soit lors de la création ou l’édition d’un événement, la saisie se déroule désormais sur une page indépendante dédiée :

Outre les champs habituels de titre et descriptif, vous y retrouverez la zone d’édition des dates de début et de fin. Une case à cocher toute la journée permet de ne pas sélectionner d’horaire.

Sur chaque champ de saisie de la date, une icone calendrier permet d’accéder à un mini calendrier de saisie.

Les répétitions sont saisies après la date de début et de fin, sur un calendrier de saisie dédié. Le principe des événements répétés et que l’heure de début et la durée sont toujours conservées de l’événement d’origine, mais seul les jours de début changent en prenant les valeurs cochées dans le calendrier des répétitions.

Après saisie, lorsque vous enregistrez votre événement, vous revenez sur la page d’origine avec ce seul événement affiché en détail :

Vous pouvez ainsi vérifier votre saisie.

Vous pouvez retrouver tous les événements, ou les événements à venir seulement, en cliquant sur les liens correspondants.

Squelettes et boucle EVENEMENTS

En ce qui concerne l’utilisation du plugin agenda dans les squelettes, vous pouvez vous référer à la documentation du Plugin Agenda pour SPIP 1.9.2.

Nouveaux critères

{evenement_a_venir} pour sélectionner les événements pas encore commencés à la date courante
{evenement_a_venir #ENV{date}} pour sélectionner les événements pas encore commencés à la date #ENV{date}
{!evenement_a_venir #ENV{date}} pour sélectionner les événements finis ou en cours à la date #ENV{date}

{evenement_en_cours} pour sélectionner les événements en cours à la date courante
{evenement_en_cours #ENV{date}} pour sélectionner les événements en cours à la date #ENV{date}
{!evenement_en_cours #ENV{date}} pour sélectionner les événements *pas* en cours à la date #ENV{date}

{evenement_passe} pour sélectionner les événements passés/finis à la date courante
{evenement_passe #ENV{date}} pour sélectionner les événements passés/finis à la date #ENV{date}
{!evenement_passe #ENV{date}} pour sélectionner les événements en cours ou pas encore commencés à
la date #ENV{date}

Il est possible combiner ces 3 critères pour effectuer une sélection fine.

Pour un affichage sous forme d’agenda en case, voir SPIP 3, Agenda et FullCalendar ou encore Agenda Fullcalendar facile.

Dernière modification de cette page le 8 mars 2018

Discussion

555 discussions

  • 2

    Bonjour,

    depuis un intranet admin et rédacteurs doivent pouvoir créer de nouveaux événements. Or, je constate que les rédacteurs n’ont pas cette possibilité... notamment en formulaire public. Comment autoriser sur le mes_options ?

    Question à Maïeul s’il passe par là, j’ai installé votre plugin auteurs aux événements, et si j’ai bien possibilité de le faire manuellement, malheureusement l’auteur qui créé un événement n’est pas automatiquement greffé à celui-ci ? Je suis en PHP 7.0... dernière version du plug in Agenda et en 3.2

    • Je passe par là mais je ne suis pas l’auteur du plugin « auteur evenements ». C’est Rainer Muller (qu’on peut trouver facilement en contact sur ce site)

    • Merci du coup j’ai pris Auteurs Partout... mais même soucis, aucun auteur n’est automatiquement inscrit après création d’un événement :( Je peux le faire que manuellement.

    Répondre à ce message

  • Salut cédric :-)
    Merci pour le plug :-)
    Sinon avant de faire la correction, je voulais avoir ton avis :-)
    Je crois qu’il y a une coquille dans paquet.xml
    Le plug

    1.  <utilise nom="urls_etendues" compatibilite="[1.4.12;[" />

    https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/agenda/trunk/paquet.xml#L52
    Sauf que qu’il n’y a pas de plugin avec le prefix « urls_etendues » https://plugins.spip.net/spip.php?page=prefixes#lettre_u
    Il ne faudrait pas plutôt mettre

    1. <utilise nom="urls" compatibilite="[1.4.12;[" />

     ???
    https://zone.spip.net/trac/spip-zone/browser/spip-zone/_core_/tags/spip-3.0.0/plugins/urls_etendues/paquet.xml#L2
    Franck

    Répondre à ce message

  • Bonjour,
    Est-il possible ou envisageable d’associer un évènement également à une brève ?
    Merci pour votre retour
    Cordialement
    jérôme

    Répondre à ce message

  • 1

    Bonsoir,

    J’ai une boucle qui liste tout les évènements présents et futurs (voir ci-dessous) et, pour chaque évènement, j’aimerais afficher le titre et le lien vers l’article auquel il est attaché.

    afficher les évènements d’un article, je sais le faire, mais affiché l’article dont dépend l’évènement je ne trouve pas.
    Une hypothèse :
    ajouter à l’intérieur de la boucle évènement

    <BOUCLE_articles(ARTICLES) {id_parent}> #TITRE 
    ...
    </BOUCLE_articles>
    [(#REM) Évènements de la rubrique ]
    			<B_lesevenements>
     
    		<div class="menu menu_articles" id="actualites_toutes">			
    				<BOUCLE_lesevenements(EVENEMENTS) {!evenement_passe #ENV{date}} {par date} >
     
    			<div class="actualite">
     
     
    					<div class="logoSlide">[(#LOGO_EVENEMENT|image_reduire{150}|inserer_attribut{alt, #TITRE|attribut_html})]</div>
     
     
    						<h2 style="margin-bottom:0;">[(#TITRE|supprimer_numero|couper{200})]&nbsp;:</h2>
    							<div class="texte small">
    							  <span style="color:darkgreen;"><strong><em>[(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
    							  le [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] 
    							[(#HORAIRE|=={oui}|?{
    							   [(#REM) memes heures ?]
    							     [(#DATE_DEBUT|=={#DATE_FIN}|?{&agrave 
    							[(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
    							   [(#REM) pas memes heures ?]
    							     [(#DATE_DEBUT|!={#DATE_FIN}|?{de 
    							[(#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)] &agrave; 
    							[(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})]
    							,''})]
    							,
    							  du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] 
    							[(#HORAIRE|=={oui}|?{&agrave; partir de
    							  [(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)],''})] au 
    							[(#DATE_FIN|nom_jour)]
    							  [(#DATE_FIN|affdate)] [(#HORAIRE|=={oui}|?{jusqu'&agrave;
    							  [(#DATE_FIN|heures)]H[(#DATE_FIN|minutes)],''})]  })]</em></strong></span><!-- color:darkgreen; -->
    							  [<br>-&nbsp;<strong>Lieu</strong>&nbsp;: (#LIEU)][<br>-&nbsp;<strong>Adresse</strong>&nbsp;: (#ADRESSE)]
    							  #DESCRIPTIF
    							</div><!-- texte small -->
     
     
    			</div><!--  class="actualite" -->
     
    				 </BOUCLE_lesevenements>
     
    		</div> <!-- class="menu menu_articles" id="actualites_toutes" -->
     
    			</B_lesevenements>

    Merci d’avance,

    Cordialement,

    Hervé

    • Jaseur Boreal

      Bonjour,
      Selon les besoins, si l’article est lié à un seul événement ou si plusieurs événements sont reliés à l’article, les astuces peuvent différer.

      Incorporer automatiquement dans un article une boucle qui ajoute l’événement lié - Sous squelette Escal, nous avons résolu ce besoin.
      Exemple ici en bas de l’article : https://www.lettonie-francija.fr/1643

      Quand l’événement a son descriptif vide, cliquer sur l’événement dans l’agenda renvoi directement sur l’article. Quand le descriptif de l’événement est rempli nous ajoutons manuellement le modèle « choix_article » invitant à lire l’article lié, et/ou d’autres.

      Pour afficher le titre et le lien d’un article dans l’événement auquel il est attaché nous utilisons le modèle « Choix_article » qui permet d’inclure des articles dans un autre article ou dans un événement.
      Exemple d’une box Choix_article avec le lien vers un article ou plusieurs ici

      Cela vous conviendrait ?
      @+

    Répondre à ce message

  • 1

    Bonjour,

    Beaucoup de spipiens et de spipiennes utilisent le plugin Agenda... C’est un très bon plugin, riche d’outils pour ceux qui peuvent jongler avec les différents squelettes du placard !...
    D’autres ont abandonné pour utiliser le plugin Simple Calendrier...

    Le problème, je pense, avec Agenda est le manque de flexibilité et la maintenance en amont avec la table ’evenements’. Pourtant, il lui arrive d’évoluer. Par exemple lorsque spip a modifié sa manière de gérer les ’mots-clés’.

    Ce serait une belle évolution si une table ’événements_liens’ venait s’ajouter. Un champ ’id_objet’ plutôt que ’id_article’ de la table ’evenements’ et un champ ’objet’ permettraient d’associer les événements à tout type d’objet de la famille spip. Bien entendu, il faudrait gérer cela aussi au niveau du formulaire ’editer_evenement’ et de ses dépendances ainsi que les différents appels des fichiers se trouvant dans les différents dossiers du plugin.

    Je vais essayer de m’y attaquer, mais j’avoue que je suis plus un bidouilleur qu’un programmeur... :-)

    • Le problème n’est pas tant technique qu’un choix d’orientation du développement du plugin.
      A ce jour les évènements ont été conçus non mas comme des objets éditoriaux autonomes mais comme une sorte de meta-donnée qui vient enrichir les articles.

      Par construction donc, tout est orienté en fonction de ce choix initial. Notamment par exemple, les évènements n’ont pas de statut autonome.

      Sortir les évènements de ce schéma pour en faire des objets éditoriaux à part entière est tout à fait possible, et partant de là également de les associer à n’importe quel objet, mais c’est un gros changement philosophique qui implique :

      • les modifications techniques concernées (ce qui n’est pas très dur)
      • la transition de l’existant : assurer que tous les sites construit en supposant cette liaison article-évènement continuent de fonctionner comme prévu initialement

      C’est sur ce second point qu’est le vrai challenge, qui suppose de vérifier/traiter proprement tous les cas possibles pour ne rien casser.

      Pour information il y a déjà une branche expérimentale pour rendre les évènements autonomes, mais je n’ai pas du tout suivi ni utilisé ni supporté car cette problématique de continuité de l’existant n’a me semble-t-il pas été traitée

      https://zone.spip.org/trac/spip-zone/browser/spip-zone/_plugins_/agenda/branches/experimentale-evenement-autonome?order=date

    Répondre à ce message

  • Bonjour,

    Je souhaite afficher les événements du prochain jour pour lequel il y a au moins un événement d’enregistré.

    Exemple, le prochain jour ou il y a des événements est le 20 septembre et il y a 3 événements à 3 horaires différents ce jour là.

    Une petite astuce à me fournir ?

    Merci par avance.

    Répondre à ce message

  • Bonjour,

    Je souhaite utiliser le plugin agenda pour des réservations de salles.
    Existe-t’il un mode opératoire pour cocher les dates où c’est déjà réservé et afficher une couleur spécifique ne empêchant le clic sur cette date, ou un autre plugin fait-il l’affaire ? Pas trouvé en tout cas.

    J’ai pensé aussi à cocher toutes les dates de disponibilité en mode répétition, ce qui permettra de n’afficher que celles qui sont disponibles en décochant simplement celles réservées.

    Merci de votre aide.

    Répondre à ce message

  • 1

    Bonjour,
    — lors de la maj de nos plugins et celui de « Agenda » de la version 3.19.3 à la dernière version 3.19.4 ce message apparaît : « Impossible d’activer le plugin Soyez Créateurs 4.3.9 il nécessite le plugin Agenda en version 3.14.10 »
    — J’ai donc effectuer la maj du plugin Soyez Créateurs de la version 4.3.9 à la dernière version 4.3.11 ce message apparaît : « Impossible d’activer le plugin Soyez Créateurs 4.3.11 il nécessite le plugin Agenda en version 3.14.10 »

    Ainsi après ce message d’erreur, notre site n’a plus de squelette.
    Je suis actuellement dans l’impasse. Pourriez-vous nous indiquer une marche à suivre.
    Merci d’avance pour vos contributions
    Corinne

    • Bonjour,

      En rechargeant et activant le plugin « Agenda » 3.19.4 tous les problèmes sont résolus.
      tout va bien
      Cordialement
      Corinne

    Répondre à ce message

  • yves-forums

    Bonjour,
    Est-il possible d’annoncer une heure de début sans donner d’heure de fin ?
    Bonne journée,
    Yves

    Répondre à ce message

  • Jaseur Boreal

    Bonjour,

    On a besoin de vos yeux avisés pour porter un regard sur cette pleine-page-agenda et suggérer des pistes d’investigations ,
    https://www.lettonie-francija.fr/spip.php?page=agenda
    car suite à quelques mises à jour du squelette, un affichage anormal de l’agenda nous fait tourner en bourrique sans solution ....

    Ce qui est bizarre, c’est un double affichage d’événements qui ne se produit pas sur les écrans smartphones/tablettes-portraits.
    Je soupçonne qu’il y a besoin d’avoir un certain nombre d’événements pour constater le problème.

    Comme si dans un fichier ( lequel ? ) qui oriente l’affichage selon la dimension de l’écran, pour les écrans de bureau, il se répète et ré-affiche en dessous de la page « agenda » une liste paginée de 5 en 5 avec les événements .

    Est-ce que d’autres regards visualisent aussi ce problème quand ils observent cette page agenda :

    Sous la page pleine-page-agenda c’est une pagination de 5 en 5 (alors que la noisette événement à droite de la page accueil pagine de 0 à 9 /18 / 27 ... visible en affichage sur smartphone

    Merci pour vos idées de pistes de solutions ?

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom