#CACHE{0} #SET{virgule,","} [(#REM) utile pour les explodes] Préparation du cahier de texte "Bonbon !" sous Spip

Préparation ou mise à jour du cahier de texte sous Spip: ajout des classes et des matières et la rubrique du cahier de texte, mise à jour des fiches des classes et des profs

[ (#REM) Hack pour conditionner une boucle - On commence par mettre de coté un id_rubrique - Ceux qui sont pas 0minirezo n'ont le droit qu'au texte... - Et que le bouton n'a pas été pressé - On fait la boucle conditionnelle ]#SET{une_rubrique,#ID_RUBRIQUE}[ (#SET{condition_boucle,''}) ][(#ENV{bouton}|?{'',' '}) [(#SET{condition_boucle,#GET{une_rubrique}})] ][ (#SESSION{statut}|=={'0minirezo'}|?{'',' '}) [(#SET{condition_boucle,''})] ] Avant d'exécuter cette page en cliquant sur le bouton, faites une sauvegarde de votre base de données.
En cas de problème vous devrez réutiliser cette sauvegarde.

Vous allez installer dans votre Spip les mots-clés, rubriques et autres élements utilisés par le cahier de texte sous Spip.

Ces mots-clés sont la liste des classes, les listes de matières, quelques autres mots-clés de gestion. Il faut éditer le fichier «cahier-de-texte-installer-mots-cles.html» vers la ligne n°46 pour personnaliser les classes et matières.

Puis, il sera rajouté une rubrique qui contiendra les entrées du cahier de texte sous forme d'articles. Cette rubrique contiendra aussi des sous-rubriques. Les noms de ces rubriques devront être conservés. Vous pouvez compléter le nom de la rubrique racine du cahier de texte nommée «Cahier de texte en-ligne» (avec un numéro par exemple), mais devez impérativement garder tout le contenu de son titre actuel, sinon le cahier de texte ne fonctionnera plus.


Si vous mettez à jour votre cahier de texte, attention : l'opération peut être très lente et pendre beaucoup des ressources du serveur de base de données. Veillez à ne faire cette mise à jour que pendant des périodes de faible fréquentation du cahier de texte (en général, très tôt le matin ou très tard le soir).

[ (#REM) On affiche le bouton, si et seulement si on est 0minirezo ][ (#SESSION{statut}|=={'0minirezo'}|?{' ',''})]
[ (#REM) Définition des paramètres à personnaliser: Les classes, les groupes et les matières. ***************************Zone à personnaliser***************************** Vous pouvez personnaliser les classes, sous groupes et matières: - Chaque élement (classe, groupe, matière) est séparé du suivant par une virgule. - les élements ne peuvent contenir de virgules ou de guillemets droits (type: "). Vous pouvez utiliser des guillemets français: «» - veillez à ce qu'il n'y ait pas d'espace avant ou après les virgules qui séparent les éléments. - Vérifiez que la liste des classes, des groupes, des matières sont bien commencés et finis par des guillemets. ][(#SET{les_classes, "6A,6B,6C,6D,6E,6F,6G,6H,6I,6J,6K,6L,5A,5B,5C,5D,5E,5F,5G,5H,5I,5J,5K,5L,4A,4B,4C,4D,4E,4F,4G,4H,4I,4J,4K,4L,3A,3B,3C,3D,3E,3F,3G,3H,3I,3J,3K,3L" })][(#SET{les_groupes, "groupe A,groupe B" })][(#SET{les_matieres, "Allemand LV1,Allemand LV2,Anglais LV1,Anglais LV2,Arts Plastiques,E.P.S.,Education musicale,Espagnol LV2,Histoire Géographie,Latin,Grec,Français,Mathématiques,Physique Chimie,Sciences de la vie et de la Terre,Technologie,Vie de classe,Itinéraire de découverte" })][ **************************Fin de la zone à personnaliser********************* (#REM)À partir d'ici ne changez plus rien !!! ][(#SET{les_specifiques, "Description de séance,Devoirs à faire" })] [(#SET{tableau_classes,[(#GET{virgule}|explode{#GET{les_classes}})]})] [(#SET{tableau_matieres,[(#GET{virgule}|explode{#GET{les_matieres}})]})] [(#SET{tableau_groupes,[(#GET{virgule}|explode{#GET{les_groupes}})]})] [(#SET{tableau_specifiques,[(#GET{virgule}|explode{#GET{les_specifiques}})]})] [(#SET{les_groupes_mots, "Classes,Sous groupes de classes,Matières,Cahier de texte en-ligne" })] [(#SET{tableau_groupes_mots,[(#GET{virgule}|explode{#GET{les_groupes_mots}})]})][ (#REM) On vérifie qu'une rubrique pour le cahier de texte existe. Si elle existe, on vérifie que les sous rubriques aussi. Si la sous rubrique "Professeurs-classes-matières" n'existe pas, on la crée. ][ (#REM) On détermine quelle est l'année scolaire que l'on veut afficher ][ (#SET{annee_rubrique,[(#ENV{date}|bonbon_annee_scolaire)]}) ][ (#ENV{annee_scolaire}|?{' ',''}) #SET{annee_rubrique,#ENV{annee_scolaire}} ][ (#SET{id_rubrique_globale,#ID_RUBRIQUE}) ]

La rubrique pour le cahier de texte de l'année #TITRE existe déjà.

[(#SET{id_rubrique,#ID_RUBRIQUE})][(#SET{cdt_existe,'oui'})]

La rubrique pour ranger les fiches des classes et des profs existe déjà

[(#SET{id_rubrique_pcm,#ID_RUBRIQUE})]

Création d'une sous rubrique pour les fiches des profs et des classes

[

(#ID_RUBRIQUE|bonbon_creer_sous_rubrique{"Professeurs-classes-matières","Cette rubrique contient des données necessaires au fonctionnement du cahier de texte en ligne. {{Ne l'effacez pas}}. {{Ne la renommez pas}}. {{Ne modifiez pas son contenu}} sinon il ne fonctionnera plus correctement !"}|?{"La rubrique «Professeurs-classes-matières» pour l'année est créée.","Un problème technique est survenu lors de la création de la rubrique «Professeurs-classes-matières» !"})

] [(#SET{id_rubrique_pcm,#ID_RUBRIQUE})]

Les groupes de mots du cahier de texte :

[ (#REM) On vérifie les groupes de mots et on les crée s'ils n'existent pas. On les faits un par uns car SPIP ne propose pas encore de solution permettant de parcourir un tableau de valeurs qui ne sont pas dans la base (sauf la balise #FOREACH qui necessite un plugin pour SPIP<1.9.3) ]

Le groupe de mots-clés #TITRE existe déjà avec le n°#ID_GROUPE.

[(#SET{titre_groupe,"Classes"})] [

Ajout du groupe de mots nommé « #GET{titre_groupe} » (de n° (#GET{titre_groupe}|bonbon_ajoute_groupe|sinon{"erreur lors de la création du groupe"})).

]

Le groupe de mots-clés #TITRE existe déjà avec le n°#ID_GROUPE.

[(#SET{titre_groupe,"Sous groupes de classes"})] [

Ajout du groupe de mots nommé « #GET{titre_groupe} » (de n° (#GET{titre_groupe}|bonbon_ajoute_groupe|sinon{"erreur lors de la création du groupe"})).

]

Le groupe de mots-clés #TITRE existe déjà avec le n°#ID_GROUPE.

[(#SET{titre_groupe,"Matières"})] [

Ajout du groupe de mots nommé « #GET{titre_groupe} » (de n° (#GET{titre_groupe}|bonbon_ajoute_groupe|sinon{"erreur lors de la création du groupe"})).

]

Le groupe de mots-clés #TITRE existe déjà avec le n°#ID_GROUPE.

[(#SET{titre_groupe,"Cahier de texte en-ligne"})] [

Ajout du groupe de mots nommé « #GET{titre_groupe} » (de n° (#GET{titre_groupe}|bonbon_ajoute_groupe|sinon{"erreur lors de la création du groupe"})).

]

Les mots-clés du cahier de texte :[ (#REM) Pour chaque groupe de mot-clé, on va vérifier les mots... ] [(#SET{tableau_mots,''})] [(#TITRE|=={'Classes'} |?{#SET{tableau_mots,#GET{tableau_classes}}})] [(#TITRE|=={'Sous groupes de classes'} |?{#SET{tableau_mots,#GET{tableau_groupes}}})] [(#TITRE|=={'Matières'} |?{#SET{tableau_mots,#GET{tableau_matieres}}})] [(#TITRE|=={'Cahier de texte en-ligne'} |?{#SET{tableau_mots,#GET{tableau_specifiques}}})] [(#SET{liste_des_mots_qui_existent,#ARRAY})]

Les mots-clés du groupe « #TITRE » :

Le mot-clé « #TITRE » existe déjà avec le n°#ID_MOT. Il ne sera pas rajouté.

[ (#REM)Pour les classes et les matières, on regarde si le mot clé est lié à la rubrique, si oui, on passe, sinon, on regarde s'il y a un contenu lié au mot-clé et on colle le mot à la rurbrique ][ (#REM) Hack de la boucle conditionnelle ][(#SET{condition_boucle,''})] [(#GET{id_rubrique_pcm}|?{' ',''}) [(#TYPE|=={'Classes'}|?{' ',''}) [(#SET{condition_boucle,#GET{id_rubrique_pcm}})] ][(#TYPE|=={'Matières'}|?{' ',''}) [(#SET{condition_boucle,#GET{id_rubrique_pcm}})] ] ]

#_Verifie_Mot:TITRE est déjà lié au cahier de texte de l'année #TITRE

[

(#ID_MOT|bonbon_lier_mot{#ID_RUBRIQUE,"rubrique"}|?{' ',''})#_Verifie_Mot:TITRE a été rattaché au cahier de texte de l'année

]

Pas de contenu lié à #_Verifie_Mot:TITRE dans le cahier de texte de l'année.

[ (#REM) Hack de la boucle conditionnelle ][(#SET{condition_boucle,''})] [(#TYPE|=={'Classes'}|?{' ',''}) [(#SET{condition_boucle,#ID_RUBRIQUE})] ][ (#REM) Pour chaque classe on va vérifier grâce aux mots-clés de la rubrique de l'année s'il y a du contenu. S'il y en a on regarde s'il existe un article qui décrit la classe ]

La classe de #_Verifie_Mot:TITRE est décrite par l'article n°#ID_ARTICLE

[

(#_Verifie_Mot:TITRE|bonbon_creer_fiche_classe{#GET{id_rubrique_pcm},#_Verifie_Mot:ID_MOT}|?{' ',''})La fiche qui décrit la #_Verifie_Mot:TITRE est créée

] [ (#REM) Hack de la boucle conditionnelle ][(#SET{condition_boucle,''})] [(#TYPE|=={'Matières'}|?{' ',''}) [(#SET{condition_boucle,#ID_RUBRIQUE})] ][ (#REM) Pour chaque matière on regarde pour chacune des classes (peut donc être long) qui a un contenu de cette matière que le mot-clé lui est associé ]

La matière #_Verifie_Mot:TITRE est enseignée en #TITRE (présente dans la fiche de la classe).

[

(#_Verifie_Mot:ID_MOT|bonbon_lier_mot{#_Pour_Chaque_Classe_Avec_Article:ID_ARTICLE}|?{' ',''})La matière #_Verifie_Mot:TITRE a été mise dans la fiche de la #_Pour_Chaque_Classe_Avec_Article:TITRE car cette classe a au moins une séance dans cette matière.

] [(#SET{liste_des_mots_qui_existent,#GET{liste_des_mots_qui_existent}|bonbon_fusion_tableau{#ARRAY{#_Verifie_Mot:COMPTEUR_BOUCLE,#_Verifie_Mot:TITRE}}})] [ (#REM) On prend les mots qui restent (qui n'existent pas encore) et on les crée ][(#ID_GROUPE |bonbon_remplit_groupe_mots{ #_Pour_Chaque_Groupe:TITRE, [(#GET{virgule}|implode{[(#GET{tableau_mots}|array_diff{#GET{liste_des_mots_qui_existent}})]})]} )] $val2 est le mot-clé numéro $id_mot

"; // } //} ?> [ (#REM) Gestion des fiches des profs ][ (#REM) Hack de la boucle conditionnelle -> si la cahier de texte existe ][(#SET{condition_boucle,''})] [(#GET{cdt_existe}|=={oui}|?{' ',''}) [(#SET{condition_boucle,#GET{id_rubrique}})] ]

Création/Mise à jour des fiches des professeurs

[ (#REM) Si le CDT de l'année existe, on teste pour chaque auteur s'il a une fiche descriptive. S'il n'en a pas: on regarde s'il a décrit des séances, et si c'est le cas on lui crée la fiche descriptive. Ensuite on regarde pour chaque classe et matière s'il a écrit une fiche, si c'est le cas, on associe ces classes et matières à sa fiche. ]

Le prof #NOM a bien un descriptif de ses classes et matières

[

#NOM a déjà entré des séances dans le cahier de texte, (#NOM|bonbon_creer_fiche_prof{#ID_AUTEUR,#GET{id_rubrique_pcm}}|?{"sa fiche a été créée.","mais sa fiche n'a pu être créée (problème technique)."})

] [(#REM) {surtitre="À propos d'un professeur"} a été viré car posait des soucis d'encodage]

La #TYPE #TITRE est associée à #NOM

[

#NOM a au moins une séance décrite pour la #TYPE #_Les_Classes_et_les_matieres:TITRE, (#ID_MOT|bonbon_lier_mot{#ID_ARTICLE}|?{"elle est donc associée à sa fiche.","mais elle n'a pu être associée à sa fiche (problème technique)."})]

Rubrique racine du cahier de texte :

[ (#REM) Si la rubrique du CDT n'existe pas, on la créee... ][(#GET{id_rubrique_globale}|?{'',' '}) [(#SET{titre,"Cahier de texte en-ligne"})] [(#SET{descriptif,"Cette rubrique contient le cahier de texte géré par Spip Son {titre} doit {{toujours}} contenir l'expression «{Cahier de texte en-ligne}». Si vous souhaitez changer son nom gardez cette expression dedans."}) ][

La rubrique «Cahier de texte en-ligne» a été créée, c'est la rubrique n°(#GET{titre}|bonbon_creer_rubrique{#GET{descriptif}}).] ][(#GET{id_rubrique_globale}|?{' ',''})

La rubrique «Cahier de texte en-ligne» existe déjà avec le n°#GET{id_rubrique_globale}. Elle ne sera pas ajoutée. ]
Son titre doit toujours contenir l'expression «Cahier de texte en-ligne». Si vous souhaitez changer son nom gardez cette expression dedans.

[(#SET{id_rubrique_globale,#ID_RUBRIQUE})][ (#REM) Si la sous-rubrique de l'année scolaire n'existait pas, on la crée ][(#GET{cdt_existe}|=={'oui'}|?{'',' '}) [ (#SET{descriptif_rubrique,"Cahier de texte de l'année scolaire "}) ][ (#SET{descriptif_rubrique,[(#GET{descriptif_rubrique}|concat{#GET{annee_rubrique}," {{Cette rubrique ne doit pas être renommée}}. Sinon, les enregistrements du cahier de texte de l'année en cours seront perdus"})]}) ][ (#SET{id_rub_annee_scolaire,#GET{id_rubrique_globale}|bonbon_creer_sous_rubrique{#GET{annee_rubrique},#GET{descriptif_rubrique}}}) ][

La sous-rubrique de l'année scolaire #GET{annee_rubrique}  a été créée, c'est la rubrique n°(#GET{id_rub_annee_scolaire}).][ Elle contient une sous rubrique n°(#GET{id_rub_annee_scolaire}|bonbon_creer_sous_rubrique{"Professeurs-classes-matières","Cette rubrique contient des données necessaires au fonctionnement du cahier de texte en ligne. {{Ne l'effacez pas}}. {{Ne la renommez pas}}. {{Ne modifiez pas son contenu}} sinon il ne fonctionnera plus correctement !"}) nommée «Professeurs-classes-matières».] Ces sous-rubriques ont été créées pour gérer le cahier de texte de cette année scolaire. Ne les effacez pas, ne les renommez pas et laissez les dans la rubrique «Cahier de texte en-ligne» !

]

Pour améliorer l'intégration du cahier de texte à votre site sous Spip vous pouvez renommer le fichier «cahier-de-texte-rubrique.html» livré dans le dossier /plugins/bonbon/ en «rubrique-#GET{id_rubrique_globale}.html»

Ne rechargez pas la page.

Passez dans l'espace privé de SPIP pour vérifier que les mots-clés et les rubriques sont bien installés.

  • En cas de problème, réutilisez votre sauvegarde de la base.