Installation du Plugin
Avant d’installer ce plugin, veuillez lire attentivement la section "compatibilité avec d’autres plugins".
Le plugin s’installe comme tous les autres, en ajoutant son dossier dans le dossier plugins/ et en l’activant dans l’espace privé. En savoir plus.
Notez que les plugins JqueryUI pour SPIP et Saisies sont nécessaires.
Mises à jour du plugin
- v1.1 - 16/09/2011
- v1.2 - 01/10/2011
- v1.2.2 - 20/10/2011
Utilité du plugin
Ce plugin fournit un nouvel "objet éditorial" : l’évènement.
Il permet donc de créer des évènements, au même titre que l’on peut créer des articles ou des brèves.
Ce plugin permet de gérer différents scénarios :
- Un simple calendrier pour tout le site
- Un calendrier ou les évènements sont classés par thématique grâce aux mots clés
- De multiples calendriers, en activant l’option permettant de raccrocher l’évènement à un secteur ou à une rubrique.
Ce plugin ne permet pas :
- La gestion des heures/minutes (mais le descriptif peut dans certains cas suffire...)
- La gestion des répétitions.
- Une quelconque notion d’inscription.
- Et surement plein d’autres choses !
Pour ces derniers points, il existe un autre plugin très complet et éprouvé, de gestion d’évènements nommé Agenda 2.
Pourquoi ce nom ?
L’objectif de ce plugin est de fournir une solution de gestion d’évènements qui soit le plus simple possible à l’utilisation. Dans beaucoup de cas, il suffira de créer quelques évènements, de renseigner quelques champs de base. Puis d’utiliser une boucle EVENEMENTS pour les afficher. Les interfaces utilisateurs permettant cela sont donc minimalistes, et au plus proche de l’ergonomie de SPIP.
Ce plugin possède certaines options (comme par exemple, le rattachement aux rubriques) qui ne sont pas activées lors de son installation. Les interfaces utilisateurs s’adaptent aux options choisies afin d’avoir toujours le strict nécessaire (comme SPIP le fait déjà avec ses propres objets depuis quelques temps déjà).
Fonctionnalités du plugin
Un évènement comporte les champs suivants :
- titre (requis)
- date de début (requis)
- date de fin
- lieu
- descriptif
- texte
- lien (v1.2)
Par ailleurs, il est possible d’associer à l’évènement :
- des mots clés
- un secteur / une rubrique (option)
- un logo
- des fichiers (images/documents)
- la référence d’un article ou d’une brève (option)
Une page de configuration dédiée à ce plugin permet de préciser :
- Qui a le droit de créer des évènements (administrateurs / rédacteurs).
- Si un évènement peut être affecté à un secteur ou une rubrique ou non.
- Les champs à rendre disponibles sur le formulaire de saisie. (v1.2)
- Si les articles / brèves peuvent « être épinglés » dans le calendrier (ce qui peut permettre d’utiliser le texte de l’article/de la brève comme contenu textuel pour l’évènement. On parlera de texte par référence).
- Le choix d’un thème pour le mini-calendrier de l’espace public.
Liste des évènements :
Dans l’espace privé, la liste de tous les évènements est accessible via le menu Edition. Cette page permet aussi :
- la création de nouveaux évènements
- de voir la répartition des évènements par année et par mois.
- Pour les administrateur, un lien "Démo" permet de comprendre l’utilisation de la boucle EVENEMENTS.
Par défaut, la liste affichée est filtrée pour n’afficher que les évènements à venir.
Création d’évènements :
Les évènements peuvent être créés :
- depuis la liste des évènements (accessible via le menu Edition)
- depuis une rubrique si l’option "affectation aux rubriques" est activée.
- depuis un article ou une brève si l’option "texte par référence" est activée.
Note : Pour les 2 derniers points, il s’agit simplement de raccourcis permettant de pré-remplir certains champs.
Quelques captures d’écran
La page de configuration. Dans Configuration -> Fonctions avancées :

La liste des évènements, accessible depuis le menu Edition :

Si l’affectation aux rubriques est activée, la liste peut être restreinte sur une rubrique donnée.

et sur la rubrique en question :

La création d’un évènement avec les paramètres par défaut :

Avec les options "affectation aux secteurs" et "texte par référence" activées :

Si l’option "Texte par référence" est activée, ce que l’on peut voir sur un article ou une brève :

L’évènement en consultation. Ici dans le cas ou il est affecté à une rubrique :

La page Démo à destination des développeurs :

Dans les squelettes
Une boucle :
<BOUCLE_evenement(EVENEMENTS)> ... </BOUCLE_evenement)
Des critères spécifiques :
-
{a_venir}: Les évènements en cours et à venir. -
{du_mois}: Les évènements du mois courant.
Des balises :
- Dans le cadre d’une boucle EVENEMENTS :
-
#ID_EVENEMENT -
#TITRE -
#URL_EVENEMENT -
#LIEU -
#DATE_DEBUT -
#DATE_FIN -
#DATE: date de publication -
#LOGO_EVENEMENT -
#DESCRIPTIF -
#TEXTE -
#LIEN_TITRE: titre du lien (v1.2) -
#LIEN_URL: adresse du lien (v1.2) -
#TYPE: Type d’objet pointé quand l’option "Texte par référence" est activée. -
#ID_OBJET: identifiant de l’objet pointé quand l’option "Texte par référence" est activée.
-
- Hors contexte :
#SIMPLE_CALENDRIER: Affiche un mini calendrier du mois en cours. Sur ce calendrier, les dates de début d’évènement sont mises en valeur.
Des filtres :
- [(#DATE_DEBUT|simplecal_affdates{#DATE_FIN})]
|simplecal_affdates : Pour un affichage automatique des dates sous la forme "du... au..." ou "le...", etc.
- [(#TYPE|simplecal_afftexteref{#ID_OBJET})]
|simplecal_afftexteref : Si l’option "Texte par référence" est activée : Permet de récupérer le texte de l’objet pointé.
Un nouveau squelette :
Un évènement est affiché grâce au squelette evenement.html au même titre que le squelette article.html affiche un article.
Exemple pour le squelette evenement.html :
- <BOUCLE_evenement(EVENEMENTS){id_evenement}>
- <h1>#TITRE</h1>
- <h2>#LIEU</h2>
- <!-- Affichage sympa de type 'de telle date à telle date' -->
- <h3>[(#DATE_DEBUT|simplecal_affdates{#DATE_FIN})]</h3>
- #LOGO_EVENEMENT
- #DESCRIPTIF
- <!--
- Affichage par ordre de priorité :
- 1 - #TEXTE : Le texte de l’événement s'il existe
- 2 - #TYPE/#ID_OBJET : Sinon, le texte de l'objet référencé s'il existe (option)
- -->
- [(#TEXTE|?{ #TEXTE,
- [(#TYPE|?{ [(#TYPE|simplecal_afftexteref{#ID_OBJET})],
- ''})]
- })]
- <!-- Lien vers un site web (v1.2) -->
- [(#LIEN_URL|oui)
- <a href='#LIEN_URL'>[(#LIEN_TITRE|?{#LIEN_TITRE, #LIEN_URL})]</a>
- ]
- <!-- Les mots clés rattachés s'il y en a -->
- <BOUCLE_mot(MOTS){id_evenement}>
- #TITRE
- </BOUCLE_mot>
- </BOUCLE_evenement>
Personnalisation du mini-calendrier
Dans l’espace privé, lorsque l’on crée un évènement, la date de début et la date de fin peuvent être saisies manuellement ou en cliquant sur la petite icône à droite du champ. Un mini calendrier s’ouvre alors permettant de choisir la date. Ce Widget "datepicker" provient de la librairie jquery.ui.
Dans la partie publique, il est possible d’afficher un mini-calendrier en utilisant la balise #SIMPLE_CALENDRIER. La structure (html) de ce mini-calendrier est la même que celle du datepicker vu précédemment.
Cela permet d’utiliser les mêmes feuilles de styles. Et c’est pourquoi dans la configuration du plugin (Configuration -> Fonctions avancées), vous pouvez choisir un thème pour la partie publique.
Où se trouvent ces thèmes ?
Chaque thème fait l’objet d’une feuille de styles dans le dossier plugins/simple-calendrier/prive/css/datepicker. Les thèmes déjà embarqués dans le plugin proviennent du site http://jqueryui.com/themeroller.
Comment créer un nouveau thème ?
Réponse : à la main, en dupliquant une feuille de styles existante et en l’adaptant.
Pour vous aider, vous pouvez utiliser le site http://jqueryui.com/themeroller. Une fois votre style défini, il ne vous reste plus qu’a reporter les valeurs des couleurs (bordure, fond, texte) dans la feuille de styles que vous aviez précédemment dupliquée.
Compatibilité avec d’autres plugins
Plugin Agenda 2
100% incompatible ! Ne cherchez jamais à faire cohabiter ces 2 plugins. Simple calendrier est une alternative. Il faut donc choisir. Vous pouvez voir les fonctionnalités du plugin Agenda 2 à cette adresse.
Notez bien qu’aucun mécanisme de migration d’Agenda2 vers simple-calendrier n’est prévu. Ne cherchez pas non plus à installer ce plugin après avoir désactivé l’autre. Les tables sql portant le même nom, vous risqueriez de tout perdre... Pour installer simple-calendrier, vous devez vous assurez que le plugin Agenda2 est désinstallé, c’est à dire, que ses tables SQL sont supprimées de la base.
Plugin corbeille
Les évènements en statut "à la poubelle" peuvent être gérés par le plugin corbeille
Plugin bandeau
Lien d’accès à la liste des évènements dans le menu édition. (v1.2)
Plugin mini-bandeau
Lien de création rapide dans la partie publique. (v1.2.2).
Problème connu. Pour que le mini-bandeau s’affiche côté public, il faut supprimer le fichier formulaires/administration.html du plugin ’simple calendrier’
Plugin Acces restreint (A.R)
Le plugin simple-calendrier est compatible avec ce plugin. La visibilité des évènements est soumise aux règles définies par le plugin A.R. (Aussi bien côté public que côté administration)
- Problèmes connus :
- L’installation du plugin A.R peut provoquer le crash des boucles EVENEMENTS.
- On peut aussi avoir un crash et un message d’erreur de type "fonction déjà définie".
- Solutions :
- Editez le fichier public/acces_restreint.php du plugin A.R. Dans le "case evenement" : Ajouter un "break".
- Editez le fichier inc/acces_restreint_autoriser.php du plugin A.R. et renommer la fonction ’autoriser_evenement_voir’ (en ’autoriser_evenement_voir_inutilise’ par exemple...)
- Il faut ensuite vider le cache SPIP
Note : ces modifications nécessaires dans le plugin A.R. n’ont pas de conséquence sur son fonctionnement. Le code initial étant prévu pour un usage du plugin Agenda2.
Bugs connus et solutions
LOGO :
- SPIP 2.1.0 et 2.1.1 : La boite permettant de gérer le logo n’a pas de titre.
- SPIP 2.1.2 et supérieur : Il y a un léger problème d’affichage du titre "LOGO DE l’EVENEMENT". Ce dernier disparait suite à un upload ou une suppression de logo. Il ré-apparait si on actualise la page. Pour corriger cela : voir commentaire dans exec/evenement_voir.php (rechercher à ’logo’)
Accès restreint :
Crash possible de la boucle EVENEMENTS.
Crash possible lié à une fonction déjà définie.
Voir solution dans la section "Compatibilité avec d’autres plugins"
Petit bouton d’administration dans la partie publique :
Dans la partie publique, lorsqu’on se trouve sur un article et qu’on est connecté, on peut voir un petit bouton "article123" en haut à droite qui pointe sur l’article en question dans la partie privée.
Il est possible de faire la même chose pour les évènements. Pour cela :
- Ouvrir le fichier
/ecrire/balise/formulaire_admin.php - Se rendre sur la fonction
admin_objet() - Ajouter le terme ’evenement’ dans le
foreach(après ’breve’ par exemple).
Mini bandeau :
Le mini bandeau ne s’affiche pas côté public.
Voir solution dans la section "Compatibilité avec d’autres plugins"
Note technique :
- Plugin développé sur spip 2.1.2
- Plugin testé aussi sous spip 2.1.0, 2.1.1, 2.1.9, 2.1.10
- Plugin déjà utilisé sur des hébergements OVH perso et pro.
- Plugin non testé avec des bases de données autres que MySQL.
Les tables suivantes sont ajoutées à l’installation du plugin :
- spip_evenements
- spip_mots_evenements
- spip_auteurs_evenements
Certains fichiers du core sont redéfinis dans ce plugin :
- exec/auteur_infos.php : ajout d’un pipeline "auteur_infos_interventions" - pour avoir la liste des évènements sur la fiche de l’auteur
- exec/menu_navigation.php : ajout de la liste des événements proposés (que l’on peut voir dans le bandeau section colorée - 2eme bouton...)
- plugins/simple-calendrier/formulaires/administration.html : ajout, côté public, du petit bouton d’accès à l’évènement dans l’espace privé.
Remerciements :
Brièvement :
- aux collègues du boulot, pour leurs tests et réactions.
- à Archi02 pour son Plugin Vu ! - car c’est par l’étude de ce plugin que j’ai démarré !
- à Matthieu Marcillaud pour ses tutoriels et son initiative du site programmer. Indispensable référence ! et bon complément du site spip.net
- et à la sympathie de la communauté SPIP bien sûr, chez qui on trouve toujours quelqu’un pour répondre à une question.
Ce plugin en action :
- Sur le site de la Ligue Rhône-Alpes du Jeu de Dames.
- Sur le Magazine de voyage et sport nature : Atacamag
Historique des mises à jour
v1.1 - 16/09/2011
- Suppression de la librairie embarquée jquery-ui, remplacée par une dépendance au plugin SPIP du même nom.
- Suppression de la possibilité de choisir un thème pour le « datepicker » de l’espace privé (lié au point précédent).
v1.2 - 01/10/2011
- Compatibilité avec le plugin bandeau (lien dans le menu édition).
- Ajout de 2 champs : lien_titre et lien_url pour permettre de préciser l’adresse d’un site web sur l’évènement en question.
- Ajout d’un bloc de configuration permettant de préciser quels champs doivent être disponibles sur le formulaire de modification.
v1.2.2 - 20/10/2011
- Amélioration compatibilité avec le plugin bandeau (raccourcis rapide)
- => compatibilité avec le plugin mini bandeau - cf. section "bugs connus et solutions"



Télécharger le plugin pour SPIP 2.1
Vos commentaires
# Le 26 septembre 2011 à 01:26, par Corto Maltese
En réponse à : Simple Calendrier v1
très bon plugins, une bonne alternative à agenda 2
idée d’évolution comme ça en passant :
serait-il possible de l’intégré au plugin bandeau pour qu’il soit visible dans le menu édition
merci
# Le 26 septembre 2011 à 19:48, par Julien Lanfrey
En réponse à : Simple Calendrier v1
oui, ce sera bon pour la prochaine version. Correction disponible sur le SVN...
# Le 2 octobre 2011 à 11:38, par Julien Lanfrey
En réponse à : Simple Calendrier v1
Note : en place depuis la v1.2
# Le 18 octobre 2011 à 21:05, par Corto Maltese
En réponse à : Simple Calendrier v1
merci beaucoup de cette amélioration
par contre le plugin « calendrier simple » fait planter le plugin « minibando »
j’ai tourner ça dans tous les sens, et je n’arrive pas comprendre pourquoi.
aurais-tu une idée ?
# Le 20 octobre 2011 à 18:55, par Julien Lanfrey
En réponse à : Simple Calendrier v1
oui, c’est corrigé à priori sur la nouvelle version v1.2.2
+ voir documentation section « compatibilité avec d’autres plugins »...
Répondre à ce message
# Le 14 octobre 2011 à 18:06, par luc
En réponse à : Simple Calendrier v1
Pour éviter la surcharge (gênante) de « exec/auteur_infos.php », on pourrait utiliser directement le pipeline "affiche_milieu", en remplaçant dans la fonction simplecal_affiche_milieu la ligne (116)
par
C’est presque "prêt !
Par contre, c’est moins "beau". La liste des événements s’affiche dans le bloc "auteur", au-dessus de la liste des articles.
Peut-être y-a-t-il mieux ?
Par ailleurs, j’ai essayé de rendre public le formulaire d’ajout d’événements, mais je galère trop avec les variables calculées dans le code php (#ENVconfig_rubrique). Peut-être en utilisant directement les valeurs dans la table des metas avec #CONFIG ?
# Le 14 octobre 2011 à 19:38, par Julien Lanfrey
En réponse à : Simple Calendrier v1
C’est le pipeline ’auteur_infos’ que j’avais utilisé initialement avant d’opter pour la définition de mon propre pipeline car je souhaitais un affichage standard... J’ai développé ce plugin pour un fonctionnement sur SPIP 2.1.2 qui ne permettait pas ce genre d’affichage. Peut être est-ce venu sur des versions plus récente de la branche 2.1. Je n’ai pas vérifié.
Si la surcharge de ce fichier vous pose pb, je vous suggère de le supprimer puis de reporter la définition du pipeline ’auteur_infos_interventions’ dans votre version de SPIP... (cf. commentaires dans le fichier surchargé).
Note : plus de surcharge sous la version SPIP 3 en cours de réalisation
Pour la modification depuis la partie publique, je n’ai pas essayé. Par contre l’utilisation du #CONFIG semble plus simple en effet que ce que j’ai fait. Je vais jeter un oeil pour essayer de simplifier tout ça. Merci.
Répondre à ce message
# Le 22 septembre 2011 à 17:13, par ?
En réponse à : Simple Calendrier v1
Est-il possible de faire commencer la semaine le dimanche comme il est d’usage en Amérique du Nord ?
Merci
RP
# Le 23 septembre 2011 à 00:29, par Renée Picard
En réponse à : Simple Calendrier v1
Dans plugins/simplecalendrier/balise/simplecalendrier.php
J’ai déménagé la ligne 125
avant celle du lundi. Cela fonctionne pour changer l,ordre des jours mais les dates ne suivent pas..
Merci de m’aider.
# Le 23 septembre 2011 à 19:06, par Julien Lanfrey
En réponse à : Simple Calendrier v1
Bonjour,
Pour que les dates « suivent », il faut faire démarrer la boucle à 0 au lieu de 1 vers la ligne 133.
for ($i=0; $i<=($num_jour-1); $i++){
[...]
}
# Le 24 septembre 2011 à 18:42, par Renée Picard
En réponse à : Simple Calendrier v1
Merci, merci et merci !
Cela fonctionne à merveille.
http://www.jesuiscapable.ca
Répondre à ce message
# Le 17 septembre 2011 à 12:51, par bertrand
En réponse à : Simple Calendrier v1
Très sympa et bien réalisé ce plugin avec une intégration parfaite dans Spip. J’ai cherché un moment comment pouvoir ajouter des mots clés aux événements avant de voir qu’il suffisait d’aller la configuration des groupes de mots clés pour les activer pour le plugin.
Répondre à ce message
# Le 17 septembre 2011 à 09:09, par seb / studio-lambda
En réponse à : Simple Calendrier v1
bravo pour ce plug, il est simple et efficace !
Pour avoir regardé un peu le code, c’est propre et très bien commenté (parfait pour y mettre ses pattes :) )
Répondre à ce message