Carnet Wiki

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

« 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)&nbsp;:->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)

Les articles qui décrivent les devoirs sont aussi associés à des mots-clés :

-  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).


Récapitulons l’organisation des informations dans Bonbon !

Tout est inscrit dans 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.

...

Beurt - Mise à jour :6 décembre 2022 à 19h46min