Carnet Wiki

04. « Bonbon ! » coté code, pour les développeurs et les curieux

Version 2 — Avril 2009 Beurt

« Bonbon ! » est un logiciel libre, dont le développement se veut collaboratif.

Voici donc quelques éléments pour mieux connaître « Bonbon ! », pour pouvoir l’adapter à vos besoins si c’est nécessaire et pour participer à son développement si vous le souhaitez.

Organisation des informations dans le cahier de textes :

Un cahier de textes papier traditionnel se présente le plus souvent comme ceci :
|dates|contenus|devoirs|
|date n°1|description de la première séance|liste des devoirs à faire avec leur date|
|date n°2|description de la deuxième séance|autre liste de devoirs avec leur date|
|...|...|...|

Comment bonbon organise-t-il ces informations dans Spip ?

(passer les détails, et aller lire le récapitulatif)

L’élément principal est le descriptif de la séance, il correspond à un article placé dans la sous-rubrique de l’année (sous la forme « 2009-2010 » par ex.) du secteur « Cahier de texte » (donc dans « Cahier de texte20XX-20YY »).

- Le champ date de cet article contient la date (à minuit pour l’heure) de la séance.
-  Le champ texte contient bien sûr le descriptif de la séance.
-  Le champ ps contient des références aux articles qui décrivent les devoirs sous la forme :

{{Devoirs donnés:}}


- [Devoir n°1 pour le 27/10/2009->XXXX]
- [Devoir n°2 pour le 27/10/2009->YYYY]
- [Devoir n°3 pour le 27/10/2009->ZZZZ]

XXXX, YYYY et ZZZZ sont des id_article des articles qui décrivent des devoirs (plus d’info sur les devoirs).
-  dans le champ surtitre, une référence aux documents copiés dans cette séance sous la forme : <docXXX> <docYYY> <docZZZ>XXX, YYY et ZZZ sont des id_document des documents copiés dans cette séance.(pour en savoir plus sur les documents copiés)

Cet article de description de la séance est systématiquement associé à plusieurs mots-clés :

- pour définir que c’est une description de séance, l’article est associé au mot « Description de séance ».
-  il est aussi associé aux mots-clés des matières concernées, qui sont des mots du groupe de mots « Matières » (bonbon est plutôt conçu pour qu’une seule matière soit associée, mais on peut envisager d’en associer plusieurs).
-  même chose pour les groupes avec les mots du groupe « Sous groupes de classes ».
-  même chose pour la ou les classes avec des mots du groupe « Classes » (par contre bonbon est vraiment prévu pour que plusieurs classes puissent-être associées).

Le champ titre de cet article est généré à partir des informations contenues dans le champ date et dans les mots-clés associés. Ex. : « Le 13/10/2009, en nom de la matière avec les classe 1,classe 2 (groupe B) : »

L’auteur de l’article est celui qui l’a enregistré, il s’agit du professeur (pour l’instant il n’est pas prévu d’associer un autre auteur à la séance...).

---- ...

Les devoirs sont des articles autonomes aussi, ils sont contenus dans la même rubrique que les séances. Ils contiennent :

- dans le champ date, la date du devoir (pas la date à laquelle il a été donné, mais la date pour laquelle il est à faire).
-  dans le champ texte, la description du devoir.
-  dans le champ ps, une référence à la séance au cours de laquelle il a été donné. Cette référence est sous la forme de : [Donné Le 19/10/2009, en nom de la matière avec les classe 1, classe 2 (groupe B) :->XXXX]XXXX est le id_article de l’article décrivant la séance (plus d’infos sur les séances).
-  dans le champ surtitre, un référence aux documents copiés dans ce devoir sous la forme : <docXXX> <docYYY> <docZZZ>XXX, YYY et ZZZ sont des id_document des documents copiés dans ce devoir.(pour en savoir plus sur les documents copiés)

Comment « Bonbon !Les  » s’interface avec Spip


-  
Utilisation des articles qui décrivent les devoirs sont aussi associés à des rubriques , des auteurs et des mots-clés  : mots clés
-  
Bonbon est un plugin
-  
Il utilise éventuellement ( sauf pour session ) d’autres plugins

- pour définir que c’est une description de devoir, l’article est associé au mot « Devoirs à faire ».
-  il est aussi associé aux mots-clés des matières concernées, qui sont des mots du groupe de mots « Matières » (bonbon est plutôt conçu pour qu’une seule matière soit associée, mais on peut envisager d’en associer plusieurs).
-  même chose pour les groupes avec les mots du groupe « Sous groupes de classes ».
-  même chose pour la ou les classes avec des mots du groupe « Classes » (par contre bonbon est vraiment prévu pour que plusieurs classes puissent-être associées).

Le champ titre de cet article est généré à partir des informations contenues dans le champ date et dans les mots-clés associés. Ex. : « Devoir à faire pour le 27/10/2009, par les classe 1, classe 2 (groupe B) en nom de la matière : »

L’auteur de l’article est celui qui l’a enregistré, il s’agit du professeur (pour l’instant il n’est pas prévu d’associer un autre auteur au devoir...).

----

Les séances comme les devoirs sont décris par des articles auxquels peuvent être associés des documents. Pour associer les documents, bonbon accepte deux façons :

- La méthode classique de Spip : les documents sont rattachés à l’article comme on le ferait dans la partie privée
-  Une méthode qui permet de réutiliser un document déjà associé à un article. Elle permet d’économiser de la place sur le serveur quand les enseignants ont plusieurs fois le même document à transmettre dans des devoirs/séances différents. Le document est donc chargé une première fois par la méthode classique (qui lui confère un id_document). Puis l’association entre ces documents copiés et les autres articles (séance ou devoir) se fait grâce au champ surtitre qui contiendra par ex. : <docXXX> <docYYY> <docZZZ>XXX, YYY et ZZZ sont des id_document de documents que l’on a voulu associer aussi à cet article.

Notez que cette méthode de copie de document n’est pas optimale, il faudrait plutôt utiliser la jointure documents_liens (à partir de Spip 2.0). À travailler en veillant à la compatibilité ascendante (que les données restent lisibles).

----

[recap_organisation<-]Récapitulons l’organisation des informations dans Bonbon !

Tout est inscrit dans des articles.

[les_mots_des_articles<-]Ils ont des mots-clés :

- On reconnaît les articles qui décrivent les séances de ceux qui décrivent les devoirs par leur mot-clé du groupe « Cahier de texte en-ligne », pour les séances : « Description de séance », pour les devoirs : « Devoirs à faire ».
-  il est aussi associé aux mots-clés des matières concernées, qui sont des mots du groupe de mots « Matières » (bonbon est plutôt conçu pour qu’une seule matière soit associée, mais on peut envisager d’en associer plusieurs).
-  même chose pour les groupes avec les mots du groupe « Sous groupes de classes ».
-  même chose pour la ou les classes avec des mots du groupe « Classes » (par contre bonbon est vraiment prévu pour que plusieurs classes puissent-être associées).

Les champs de ces articles :

|type d’article|nom du champ|contenu|format|saisi ou généré|obligatoire ?|
|séance|date|date de la séance|datetime|saisi|obligatoire|
|^|texte|descriptif de la séance|texte au format typo Spip|saisi|facultatif|
|^|titre|résumé des caractéristiques de la séance|texte|généré|obligatoire|
|^|ps|références aux devoirs|texte au format typo Spip|généré|obligatoire si il y a des devoirs|
|^|surtitre|références aux docs copiés|texte au format typo Spip|généré|facultatif|
|devoir|date|date pour lequel le devoir est à faire|datetime|saisi|obligatoire|
|^|texte|descriptif du devoir|texte au format typo Spip|saisi|obligatoire|
|^|titre|résumé des caractéristiques du devoir|texte|généré|obligatoire|
|^|ps|référence à la séance|texte au format typo Spip|généré|obligatoire|
|^|surtitre|références aux docs copiés|texte au format typo Spip|généré|facultatif|

Les jointures des articles :

- l’article est lié à l’id_auteur du professeur qui l’a saisi.
-  l’article est dans l’id_rubrique de la sous-rubrique de l’année (nommée par ex. : « 2009-2010 ») du secteur nommé « Cahier de textes ».
-  l’article peut-être lié à des id_document.
-  l’article est obligatoirement associé à des id_mot, comme c’est décrit au début de ce récapitulatif.

Les fichiers des « Bonbon ! »

Ce cahier de texte est en fait un squelette un peu amélioré...

Ce que l’on trouve dans chaque fichier/répertoire de « Bonbon ! » et à quoi ça sert.

Et donc le fonctionnement de « Bonbon ! »

Les paramètres passés aux pages de « Bonbon ! »

Liste des paramètres que « Bonbon ! » prend lors de la saisie ou de l’affichage.

Ce qui permet d’interfacer « Bonbon ! » avec quelques chose d’autre...

Les boucles, les balises, et le PHP... Tous mélangés !

L’objectif de développement est de permettre de virer le php, en le remplaçant au maxi par des boucles/balises.

Si ce n’est pas possible externaliser le php dans des fichier dédiés.

...