Agenda Fullcalendar facile

Dans un précédent article, nous expliquions comment afficher un agenda Fullcalendar sur son site avec le plugin agenda.
Cependant, ceci nécessite des manipulation de squelettes, ce qui n’est pas toujours évident lorsqu’on débute.

La présente contribution permet d’intégrer plus facilement un agenda Fullcalendar, sans qu’il ne soit cependant possible d’avoir une configuration avancée [1].

Fonctionnalité

Avec le plugin Agenda activé, le présent plugin permet d’afficher dans un article un agenda Fullcalendar, affichant les évènements par mois, semaine ou jour, et liant chaque évènement à la page de l’article qui lui est associé.

Agenda souhaité au final

Installation

Le plugin nécessite SPIP 3.1, il s’installe comme n’importe quel plugin.

Utilisation

Une fois le plugin installé, et les événements créés, il suffit d’insérer le code suivant dans un article :

<agenda_fullcalendar|>

Colorer les évènements

À partir de la version 2.1.0, il est possible de choisir la couleur associé aux événements.

Pour ce faire, il vous faut :

  • avoir le plugin Couleur d’Objet activé, en version 0.3.0 minimum et les couleurs réglées
  • passer en paramètre du modèle l’objet sur lequel on prend la couleur :
    • <agenda_fullcalendar|couleur=rubrique> prend la couleur associé à la rubrique où se trouve l’évènement.
    • <agenda_fullcalendar|couleur=article> prend la couleur associé à l’article où se trouve l’évènement.
    • <agenda_fullcalendar|couleur=evenement > prend la couleur associé à l’évènement lui-même.

Notes

[1Si le besoin s’en fait sentir, il est nécessaire d’apprendre des notions de squelettes SPIP, puis de lire mon tutoriel.

Dernière modification de cette page le 13 février 2019

Discussion

19 discussions

  • 2

    Bonjour,

    Un soucis avec Fullcalendar facile 2.4.0 dans SPIP 3.2.3.
    Un évenement de 3 jours (toute la journée) est correctement indiqué dans l’article, mais le model de Fullcalendar ne rend que les deux premières journées.

    Répondre à ce message

  • Avec bootstrap 3.3.7, grille 4 -8 le calendrier fonctionne bien.
    En xs il se comporte comme si le javascript était désactivé. J’ai donc une liste. Comment contourner cela alors que si je mets #TITRE dans un col-sm-3 je peux voir un petit calendrier ?

      <div class="container-fluid">
    <div class="row">
    <div class="hidden-xs col-sm-4 ">colonne gauuche</div>
    <div class="hidden-xs col-sm-8 ">#TEXTE </div>
    <div class="visible-xs col-xs-12">tout l'écran</div>
    <div class="visible-xs col-xs-12"> #TEXTE </div>
    </div><!--row-->
     </div><!--.conteneur fluideBS--> 

    NOTE Pour tester j’ai mis #TITRE à la fois dans le sm-4 et le sm-8 et je m’attendais à voir un petit calendrier d’un bord et un grand de l’autre. Mais NON. Seul le sm-4 (le premier) apparaît. Le sm-8 se comporte comme pour le xs-12 il devient une liste sans javascript.

    Répondre à ce message

  • 11

    Autre bogue : J’ai mis dimanche comme première journée de la semaine dans Agenda, enregistrer, mais fullcalendar reste à lundi
    Pourtant j’ai cru comprendre que agenda et full calendar sont liés ?

    • full calendar utiliser les données d’agenda, mais pas forcément les règlages.

      Je vais voir si je peux facilement changer le réglage du premier jour de la semaine dans full calendar facile pour qu’il prenne celui d’agenda-.

    • la prochaine version du plugin prendra en compte les règlages de l’agenda sur ce point.

    • c’est possible que ce soit les réglages d’accps restreint qui mettent le bazar...

    • Je viens de faire la mise à jour et la semaine commence maintenant par dimanche. MERCI

      Sur la rubrique sans autorisation restreinte, avec ou sans la composition article-agenda.html, le message d’erreur apparaît ou disparait selon qu’on est branché ou pas. Le message d’erreur est donc lié au fait que l’on soit branché ou pas (webmestre ou admin restreint).

      Par contre cet erreur n’empêche pas full calendar facile de bien afficher les événements du calendrier. Ainsi, en attendant une solution à ce problème gênant est-ce que je peux camoufler (avec un display:none) le message d’erreur juste pour la page agenda car je dois présenter cette fonctionnalité du site en début de semaine prochaine. Merci

    • a priori oui, on peut toujours camoufler. Mais c’est pas normal qu’il y ait ce message. J’en comprend pas la raison.

    • ok, bon, je sais pas pourquoi il arrive pas à générer le fichier statique, Mais pourquoi ? je ne sais pas. Peut être un souci du côté des droits... il faudrait vraiment des accès plus dev pour savoir ce qu’il en est.

    • J’ai fait un test sur le serveur en créant un nouveau spip et seulement agenda et fullcalendar facile . Tout était parfait. Ajout d’accès restreint OK.
      J’ai jeté le site officiel et j’en ai installé un nouveau OK
      Puis j’ai mis le https et j’ai ajouté

      RewriteCond %{HTTPS} !=on
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

      dans le .htaccess et la même erreur revient ????
      Après relecture attentive sur le https j’ai déplacé la ligne de code (ci-haut) à la toute fin du fichier .htaccess et l’erreur a disparu ! OUF ! MERCI POUR TOUT

    • J’ai écrit trop vite. Après un gros 2 heures sans problème, l’erreur est revenue.
      J’ai jeté et ré-installé un spip neuf (http) avec les seuls plugins agenda et fullclendar
      Ça empire avant j’avais l’erreur juste sur la page agenda. Maintenant je l’ai aussi sur la page rubrique.

    • Il se pourrait qu’il y ait un bug dans la config serveur qui empeche de requeter sur le serveur lui même.

      mais comme je n’arrive plus à accéder à l’espace privé, je ne peux tester.

      Il faudrait faire un test simple en essayant de joindre en document distant un document du site lui-même.

    • J’ai une piste, avec cette histoire de https.

      D’abord, un peu d’explication.

      Pour construire la version non javascript du calendrier (pour des raisons d’accessibilités et d’indexation), fullcalendar facile va chercher le fichier json du site pour en faire une boucle DATAS dessus. Donc il fait une requete http(s). C’est cette requête qui visiblement échoue (cf le message 404).

      Or, cela peut être lié à un bug de SPIP qui n’arrive pas à faire des requetes https en tls 1.2, ce qui est visiblement le cas de ton site.
      Donc pour corriger cela il faudrait appliquer le patch qui a été préparé pour SPIP.

      Donc remplacer le fichier ecrire/inc/distant.php par cette version https://core.spip.net/projects/spip/repository/revisions/24018/entry/branches/spip-3.2/ecrire/inc/distant.php.

      Si jamais cela ne suffit pas, je ne sais vraiment pas.

    • Cela fonctionne ! Merci mille fois !

    Répondre à ce message

  • 2

    https://sitememoires.com/spip.php?article28
    C’est bizarre je viens de créer un article en dehors d’une zone admin restreint et en public je n’ai pas le message.
    En même temps, lorsque je regarde la page agenda avec acces restreint j’ai le message d’erreur. (voir image jointe)

    • l’image est trop petite je n’arrive pas à lire

    • /sitememoires.com/local/cache-json/jsondyn-agenda json-e60966c8.json ?1547159187, json] 404 / /
      2 //sitememoires.com/local/cache-json/jsondyn-agenda json-0783247c.json ?1547159188, json] 404

    Répondre à ce message

  • 3

    Alors que tout se passe bien sur mon ordi avec MAMP voilà qu’une fois en ligne j’ai une erreur autant en public qu’en privé : .../local/cache-json/jsondyn-agenda json-f1c8f085.json ?1547146158, json] 404
    J’ai l’impression que c’est lié au serveur ???
    PHP Version 7.1.25

    • Est-ce que le fichier en question a été créé ?

    • Non j’ai juste installer les plugins agenda et fullcalendar facile, créer un article, insérer le code <agenda_fullcalendar|couleur=article>, ajouter un événement et j’ai ce message d’erreur au dessus du calendrier qui par contre s’affiche bien
      Est-ce que je peux t’enoyer un login et mdp en message privé pour que tu vois ?

    • oui, monprenom@monprenom.net

    Répondre à ce message

  • 4

    Bonjour,
    je rencontre un petit souci depuis quelques temps mais je n’ai pas de précisions sur la date précise :

    L’insertion du modèle

    1. <agenda_fullcalendar|couleur=article>

    ne génère plus aucun affichage. Je ne sais pas trop vers quoi regarder, étant une bille totale en débogage :D

    Quelqu’un a-t-il déjà rencontré le souci ?

    D’avance merci beaucoup et bonne journée

    Le lien du planning

    • Difficile à dire comme cela. On a l’impression que le modèle n’est pas chargé complètement.

      Peux tu me créer un accès et me l’envoyer en privée ?

    • Bonjour,
      entretemps, j’ai continué mes investigations et je suis un idiot. Je ne me souvenais plus d’une modification que j’avais effectué sur un fichier du plugin que j’avais ensuite rangé dans le dossier squelette. Je viens de supprimer ce fichier et l’agenda est réapparu.
      Je n’ai pas encore cherché l’erreur et pourquoi j’avais fait cette modification mais comme toujours, le bug est entre le clavier et la chaise.

      Désolé de t’avoir fait perdre du temps et merci beaucoup.

      Bonne journée
      ED

    • Re bonjour,
      je viens de retrouver le pourquoi de la modification.

      L’affichage des heures pleines se faisait sous la forme HH et non HH:mm
      J’avais donc rajouté la ligne  : timeFormat : ’H:mm’, dans le modéle

      Un temps, la modification fonctionnait mais sur une mise à jour je pense, ça ne devait plus être bon.

      Je plaide coupable.

    • C’est bon, j’ai trouvé mon erreur, je n’avais pas mis à jour le modélé dans le dossier squelette par rapport à la nouvelle version du plugin.

      Bonne journée

    Répondre à ce message

  • 1

    Bonjour,

    Je viens de tester le plugin « Agenda Fullcalendar facile » et je rencontre un problème inattendu.

    Même en désactivant le dossier « /squellettes » et en vidant le cache de Spip pour revenir au « /squellettes-dist », sans aucune modification de CSS, les titres des événements restent sur une seul ligne, leur titre étant coupé, contrairement à l’exemple affiché sur cette page.

    Qu’est-ce qui cloche ?

    Merci d’avance,

    Cordialement,

    Hervé

    • j’imagine que le réglages css par défaut de fullcalendar ont changé...

      (mais franchement pas hyper le temps de regarder cela)

    Répondre à ce message

  • 4

    Bon soir, Maïeul, un grand merci par cette contrib.

    Le code <agenda_fullcalendar|> affiche touts les évènements enregistres, sans prendre en compte les différentes rubriques où les articles des évènements sont publiés.

    J’ai une structure comme ça dessous, et l’affichage que je voulais avoir c’est :

    +[rub] Pays (tous les évènements, de tous les états <- villes <- comités)
    ++ [rub] État (tous les évènements de tous le villes <- comités de cet état)
    +++ [rub] Ville (tous les évènements de tous les comités de cette ville)
    ++++ [art avec évènements] Comité (tous les évènements de ce comité)

    Il y a plusieurs états, chacun avec plusieurs villes, qui ont, respectivement plusieurs comités. J’espère que c’était clair.

    Je suis parfaitement confortable avec les squelettes de SPIP mais je ne suis pas bien versé en programmation. Cependant, si vous me pointez la bonne façon, je crois que je serais capable de réussir ce que j’ai besoin.

    Merci d’avance,
    Ricardo

    Répondre à ce message

  • 8

    Bonjour,

    Je cherche à afficher un agenda mensuel, comme le fait Fullcalendar, sur un site bilingue.

    Puisque, comme le faisait remarquer un autre utilisateur de SPIP 3.2, les événements ne peuvent pour l’instant gérer qu’un article et non plusieurs articles, les sites bilingues semblent devoir dupliquer les événements, ce qui n’est pas pratique.

    Mais du coup Fullcalendar fait remonter les articles/événements de toutes les langues...

    Quelles seraient finalement et globalement les procédures/organisations/codes pour arriver au bon résultat ?

    Merci d’avance pour vos lumières, les miennes, après 1 journée de recherches, sont en berne ;-)

    • zut, pas posté au bon endroit.

      Il faudrait modifier fullcalendar facile pour qu’il prenne en compte la langue. Mais je ne sais pas si cela devrait être implicite (on prend la langue courante) ou explicite (on prend la langue passée au modèle, et, si pas de langue passé, toutes les langues).

    • Bonjour Maïeul, et merci pour toutes tes réponses.

      Dans l’absolu, il me semble qu’il s’agirait non pas de faire remonter les titres des événements, mais les titres des articles (qui y sont directement reliés, ou reliés par leur traduction) dans la langue courante.

      Il faudrait (idéalement) pouvoir disposer d’un modèle qui permette d’intégrer cela facilement...
      Affaire à suivre...

    • c’est pas hyper clair ce que tu veux, dans quel contexte etc. Est-ce au niveau full calendar que tu veux cela ? Ou bien dans un autre cadre.

    • Oui oui, je pensais à FullCalendar (qui me semble l’alternative actuellement la plus aboutie pour afficher un agenda).

    • Bon, alors explique moi clairement
      1. Comment tu organise tes evenements multilingues
      2. Comment tu voudrais qu’ils soient affichés dans fullcalendar.

    • Bonjour Maïeul,

      Actuellement, mes sites multilingues sont divisés par langue à la racine.
      Jusqu’alors chaque article de chaque langue a donc son propre événement (ce qui n’est pas pratique, mais je n’ai pas encore vu de solution sur ce point) —> Chaque événement est lié à un article à quoi est affecté une langue.

      Je pense que le plus simple serait de faire remonter le titre de l’article affecté à l’événement. Idéalement, cette remontée se ferait dans la langue de l’article (de manière à ce qu’ultérieurement on puisse n’avoir qu’un événement partagé pour toute les traductions de l’article.

      Bien entendu, plus généralement j’imagine que tout cela dépend de la stratégie retenue pour le multilinguisme, et des plugins associés.

    • Jaseur Boréal

      Bonjour,

      Maintenant que Maïeul a détecté (Liel paldies - Grand merci) que 4 minuscules caractères « l-a-n-g » bloquaient l’affichage pleine page de l’agenda sur un site multilingue avec secteurs de langues sous Escal ....

      Le « comment afficher les événements selon les langues » se pose .... ;-))

      En fait cela va différer selon les fonctionnements et besoins de chaque site.

      Exemple 1 : Site web avec des événements datés qui se déroulent à Paris, avec articles liés et objets événements en français et en anglais pour lecteurs anglophones ou francophones visitant Paris. Un secteur racine spip anglais, un secteur racine spip français.
      Affichage de l’agenda pleine page :
      Pour les francophones : les événements et articles en français.
      Pour les anglophones : les événements et articles en anglais.
      Inconvénient, cela oblige à doubler/traduire chaque article, chaque événement dans deux langues. C’est quasi deux agendas différents à afficher. On peut envisager des événements qui se déroulent à NewYork, affichés en anglais dans l’agenda anglais. et des événements à Paris dans l’agenda français.
      Mais un newyorkais visitant Paris pourra lire dans sa langue la traduction de l’événement parisien. Un Parisien visitant Newyork trouvera facilement un événement dans sa langue.

      Exemple 2 : à vérifier si la théorie fait fonctionner l’affichage Un site web avec un seul agenda, et usage de la balise « multi ».
      Des événements sont datés qui se déroulent à Paris, ou ailleurs, un article lié à un événement, mais utilisation de :
      <multi> pour le titre, descriptif, texte </multi>
      Le lieu et l’heure sont saisis une seule fois quelle que soit la langue.
      Pour les francophones : les événements et articles affichent le titre, descriptif, texte en français.
      Pour les anglophones : les événements et articles affichent le titre, descriptif, texte en anglais.

      Exemple 3 : un mix des deux ?

      Vaste débat selon les besoins réels. Qu’en pensez-vous ?

    • Bonjour Jaseur,

      Un problème se pose actuellement : un événement ne peut manifestement pas être rattaché à plusieurs articles. Est-il pensable de changer cette limitation ? Associé à , ça permettrait une gestion facile des événements...

      Affaire à suivre !

    Répondre à ce message

  • 6
    Jaseur Boréal

    Comment afficher pleine page l’AGENDA quand celui-ci refuse de s’afficher ?

    Bonjour Maïeul,

    Je suis un peu perdu dans la galaxie d’affichage du calendrier public pleine page sous SPIP 3.2 + Escal 4.0.22 + des événements créés à venir & passés reliés à des articles.

    J’ai besoin d’afficher un Calendrier pleine page, avec des événements culturels ou autres qui renvoient vers un article. Exemple quand un orchestre réalise un concert tel jour, telle heure, à tel endroit, plusieurs événements peuvent être reliés à l’article qui concerne l’orchestre. Parfois ce serait d’ailleurs aussi simple de créer un événement sans avoir besoin de le doubler avec un article identique qui fait redondance. Là n’est pas le soucis actuel.

    Comment afficher pleine page l’AGENDA quand celui-ci refuse de s’afficher : https://www.lettonie-francija.fr/spip?page=agenda

    Pourtant la liste des événements à venir s’affiche correctement sur la page d’accueil dans une « noisette » prévue par Escal , et dans l’agenda interne coté privé administration du site, ces mêmes événements à venir et passés s’affichent.

    Mais pas d’affichage pleine page coté public. Un bug ?

    Les plugins utilisés et activés :

    • Agenda 2.0 version 3.18.7 - stable - par Cerdic pour SPIP 2, 2.1, 3.0, 3.1 & 3.2 pour créer des événements dans spip https://contrib.spip.net/Agenda-2-0 ( Ici il y a une source de confusion, car d’un coté il y a AGENDA 2.0 et la version pour SPIP 3.2 se numérote 3.18.7, alors qu’il y a aussi AGENDA 3 pour spip 3 ....)

    Est-ce qu’il y a besoin d’ajouter en plus le troisieme plugin « Agenda Fullcalendar facile » ?

    • Agenda Fullcalendar facile - par Maïeul SPIP 3.1 & 3.2 https://contrib.spip.net/Agenda-Fullcalendar-facile « qui permet d’afficher dans un article un agenda Fullcalendar, affichant les événements par mois, semaine ou jour, et liant chaque événement à la page de l’article qui lui est associé. »
      Merci de toutes les suggestions et pistes de recherche pour que s’affiche pleine page l’AGENDA .
    • La page ?page=agenda étant fournie par le squelette Escal, je t’invite à te tourner vers le dévellopeur d’escal pour qu’il mette à jour son plugin pour SPIP 3.2 au niveau de l’affichage de l’agenda.

    • Jaseur Boréal

      Avec @JCV nous coinçons sur ce problème.

      En test sur autres escal 4 & spip 3.2 ça fonctionne.

      Cette même pleine page agenda public, n’a jamais fonctionné, ni avec les successives versions de spip, et les versions mises à jour des plugins & squelette d’escal sur ce site.

      Une piste de détection recherche ?

    • non. Envoie moi un dump, je me ferai un install local et j’essaierai de voir ce qui ne vas pas.

    • peux tu aussi m’envoyer tes squelettes ? par ailleurs, si j’en crois tes entetes, tu n’utilise pas escal comme plugin. Du coup j’ai du mal à reproduire en local ta config exact.

    • Jaseur Boréal

      J’utilise le squelette Escal 4.0.22 - dev

      Il y a une procédure particulière pour la mise à jour de Escal 3 vers Escal 4 selon JCV (http://escal.ac-lyon.fr/spip/spip.php?article339&lang=fr)

      • 1. Ne pas désinstaller ESCAL3 mais seulement le désactiver afin de ne pas perdre les réglages
      • 2. Et dans la gestion des plugins de Spip, ajouter le plugin « Escal », la version 4 d’Escal compatible SPIP 3.2 apparaît alors avec pour principales nouveautés :
        - agenda pleine page fonctionnel avec spip 3.2
        - affichage des articles d’une rubrique en 1, 2 ou 3 colonnes
        - vignettes des sites favoris affichés via easy-thumb avec liens https
        - annonces défilantes avec lien sur tout le bloc
        etc ....
    • oui, enfin cela n’a rien de particulier comme procédure... c’est classique d0une mise à jour de plugins. Et n’empêche que je suis étonné, parce que sur son site l’entete http n’indique pas escal comme plugins.

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?
  • [Se connecter]

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