Oui, c'est facile si vous utilisez PMB …

PMB-Manuels – Gestion automatisée ou automatique ?

Réponse : Gestion automatisée mais pas toujours automatique !

 

PMB-Manuels est une autre base PMB, ce n'est pas une autre version de PMB, je n'ai rien changé aux scripts Php du logiciel.
Cela signifie que c'est PMB qui gère tout le fonctionnement de la base : vous retrouvez donc toutes les opérations courantes à leur endroit "habituel", dans les onglets catalogue, circulation, éditions, etc.
Et à côté de cela, il y a des éléments que j'ai ajoutés : statuts spécifiques, champs personnalisables, et surtout des procédures SQL.

 

La gestion est automatique lorsqu'elle est assurée par les scripts Php PMB.
Rien ne change s'il s'agit d'opérations que PMB prend habituellement en charge, par exemple la circulation de documents. Vous enregistrez les prêts "normalement", vous pouvez consulter la liste des prêts en cours ou en retard dans l'onglet éditions ou dans la fiche du lecteur (circulation), vous enregistrez les prolongations éventuelles ou le retour des livres comme d'habitude.

 

Lorsque vous voulez exécuter une action propre à PMB-Manuels, par exemple imprimer par publipostage des lettres de prêt ou de décompte final, calculer des amendes par exemplaire et par lecteur, il faut lancer une requête SQL particulière.

 

La gestion de PMB-Manuels est automatisée dans toute la mesure du possible, grâce aux requêtes SQL
Prenons l'exemple des amendes : le montant éventuellement dû est calculé d'une part sur base de la comparaison entre l'état du manuel en début et en fin de prêt, et d'autre part sur base d'un tarif (vous précisez la somme à facturer si le livre est un peu abîmé ou s'il fort détérioré, voire perdu). C'est automatisé, le calcul se fait tout seul, mais ce n'est pas automatique : le calcul ne se déclenche pas de lui-même, miraculeusement.

 

La gestion spécifique de PMB-Manuels n'est pas automatique : si vous ne faites pas telle ou telle série d'actions dans le bon ordre, si vous ne lancez pas la requête appropriée au bon moment, si vous n'exécutez pas certaines procédures plusieurs fois, les choses ne se feront pas – ou se feront mal !

La gestion spécifique de PMB-Manuels n'est donc pas intuitive comme celle de PMB. Certes, il faut lire la documentation de PMB afin d’en maîtriser les fonctionnalités et les subtilités, mais PMB est convivial et intuitif, le logiciel gère les actions à faire, il vous guide, il vous empêche de commettre certaines erreurs.

Vu que je n’ai rien changé aux scripts Php, et que c’est vous qui devez donner l’ordre d’exécuter certaines requêtes SQL au moment opportun, il est techniquement impossible que PMB-Manuels soit vraiment intuitif,

 

Si vous ne prenez pas le temps de lire et relire le mode d’emploi, si vous n’êtes pas rigoureux, si vous ne lancez pas les procédures d'action et de vérification prévues, vous risquez d’être déçu par PMB-Manuels, car vous pouvez provoquer des dysfonctionnements plus ou moins sérieux en fonction des erreurs commises.

En effet, vous ne pouvez pas deviner la fonction de certains champs, ni savoir intuitivement comment j’ai paramétré la base, ni pourquoi ou quand lancer des requêtes SQL spécifiques.

Un seul conseil : lisez et respectez les consignes du mode d’emploi !

 

Exemples d'actions à exécuter au bon moment, dans le bon ordre :

retour des manuels en fin de prêt, changement éventuel de statut et calcul des amendes

  • C'est PMB qui gère le retour des prêts – pas de souci !
  • Ensuite, vous changez si nécessaire le statut des manuels (en fonction de leur état au retour)
  • En effet, c'est au moment du retour d'un manuel que PMB enregistre dans la base le nom de l'emprunteur précédent. L'emprunteur précédent, c'est le lecteur qui a rendu le livre en dernier lieu, pas celui qui le détient actuellement (si du moins l'ouvrage est en circulation pour le moment).
    Conséquence : il faut d'abord enregistrer le retour d'un manuel, ensuite changer si nécessaire son statut. Sinon, les dégâts éventuels ne seront pas imputés au véritable coupable
  • Vous lancez le calcul des amendes par exemplaire et vous vérifiez les montants
  • Ensuite, vous lancez le calcul du total par lecteur et vous vérifiez les montants
  • Après la phase de calcul, les requêtes enregistrent toutes ces données dans la table des archives : statut du livre en fin de prêt, amende par exemplaire et total par lecteur
  • Vous imprimez la liste des amendes et le décompte par lecteur (publipostage)

 

Exemples d'actions à lancer et à relancer plusieurs fois :

initialisations liées au prêt, calcul des amendes (exemplaire – lecteur), archivage des données

  • Tous les prêts ne vont pas démarrer le même jour, au terme d’une séance marathon ! Donc vous devrez passer plusieurs fois par les procédures d’initialisation. 
  • Vous ne pourrez pas clôturer vos comptes en une journée, tous les livres ne vont pas rentrer le même jour, même si vous insistez ! Il faut aussi prévoir le temps d’examiner l’état des livres et de changer leur statut. Donc le calcul des amendes et l’archivage des données se feront eux aussi en plusieurs étapes.

 

 

Les requêtes d’initialisation liées au prêt doivent en général être exécutées plusieurs fois. En effet, ces initialisations ne peuvent être faites que lorsque les prêts sont en cours, impossible de le faire si les livres ont été rendus entretemps. Le démarrage d’un prêt ne se limite pas à la saisie du prêt dans l’onglet Circulation.

 

C’est la même chose pour les requêtes liées au calcul des amendes.  Même si vous savez qu'il n'y aura pas d'amende à payer pour les derniers livres rendus, il faut absolument lancer ces procédures, car elles incluent non seulement un calcul d'amende, mais aussi un processus d'archivage des données. Il faut enregistrer le statut du livre en fin de prêt et l'amende éventuellement due, même si le montant est égal à zéro.

Sinon, PMB-Manuels affichera un message d'erreur, et signalera que certaines données vitales n'ont pas été enregistrées en temps utile. La clôture d’un prêt ne se limite pas au retour des livres dans l’onglet Circulation.

 

Pour la clarté, j'ai réparti les requêtes SQL de l'onglet Administration en quatre "blocs", d'après un critère chronologique : requêtes à exécuter 

  • requêtes à exécuter en début d'année
  • requêtes à exécuter en début ou en milieu d'année
  • requêtes à exécuter en fin d'année
  • requêtes à exécuter à n'importe quel moment de l'année

Mais ce n’est qu’une indication générale, on doit parfois revenir en arrière, parcourir à nouveau la phase 1 même si on est déjà plus loin pour d'autres lecteurs ou d'autres manuels, ou accomplir des actions qui sont prévues en théorie pour plus tard, par exemple la clôture des prêts.

 

Exemple concret

  • Dans l'immense majorité des cas, un manuel est prêté pour 10 mois, mais parfois certains élèves quittent l'école en cours d'année. Faute de stock suffisant, vous devrez peut-être prêter à un élève arrivé en janvier des manuels qui vous avaient été restitués fin décembre.
  • Dans ce cas, n'attendez pas la fin de l’année scolaire. La clôture d’un prêt ne se déroule pas toujours en juin, et elle ne se limite pas au simple retour des livres ! Il faut aussi lancer les calculs d’amendes et l'archivage des données.
  • Si vous ne le faites pas au moment opportun, avant de remettre éventuellement en circulation les exemplaires rendus, vos comptes risquent d'être faussés, et vos archives seront incomplètes.
  • En outre, si vous avez prêté les manuels rendus à d’autres élèves, il faut réinitialiser certaines valeurs, par exemple recalculer le nombre de livres empruntés par chacun ou aligner le statut initial sur le statut actuel. Ce genre d’opérations ne s’effectue pas uniquement en septembre ou en octobre !

 

Vu ce paradoxe apparent qu'on peut résumer par les mots "gestion automatisée mais pas toujours automatique", j'ai prévu un grand nombre de procédures de vérification.
Ces requêtes permettent de vérifier si les données nécessaires ont été introduites, et/ou si d'autres requêtes ont été exécutées au moment opportun.

 

Illustration : les champs personnalisables

La gestion de l'état des manuels et des amendes repose entièrement sur l'existence et le contenu de quatre champs : deux champs qui existent d'office dans la base, et 2 champs personnalisables que j'ai ajoutés : un pour la notice et un pour l'exemplaire.

 

Au niveau de l'exemplaire

  • champ de l'exemplaire : statut actuel du manuel (neuf, en bon état, un peu abîmé, inutilisable ou perdu)
  • champ personnalisable de l'exemplaire : statut initial (statut antérieur  – état en début de prêt)

Au niveau de la notice

  • champ prix de la notice : prix plein du livre (amende à payer si le manuel est devenu inutilisable ou a été perdu)
  • champ personnalisable de la notice : amende pour livre un peu abîmé (en cas de dégâts mineurs)

N.B. Les champs personnalisables des lecteurs sont facultatifs, je n'en parle donc pas dans ce contexte-ci.

 

Exemples de problèmes éventuels ou de vérifications à faire

  • si le champ statut initial n'existe pas, comment savoir dans quel état le livre se trouvait au départ ?
  • en début de prêt, le statut initial doit être identique au statut actuel (c'est l'état du livre au moment où il a été emprunté). Comment être sûr que c'est le cas pour tous les exemplaires actuellement en prêt ? C’est une vérification à faire non seulement au début de l’année scolaire, mais parfois aussi plus tard.
  •  si le champ amende pour livre un peu abîmé n'existe pas, si le contenu des deux champs "prix" est zéro, comment connaître le "tarif" à appliquer pour les amendes ?
  • si des livres sont rentrés récemment, et si on a modifié le statut de certains manuels, comment être sûr qu'on a ensuite relancé le calcul des amendes par exemplaire et par lecteur ?

 

C'est pourquoi j'ai prévu un grand nombre de requêtes de vérification.
L'erreur est humaine, un oubli est vite arrivé, vérifiez, cela ne prend que quelques secondes, mais cela peut éviter beaucoup de soucis ou de travail à recommencer.
 

Bien entendu, je ne peux pas tout vérifier, certaines erreurs risquent quand même de passer inaperçues, mais j'ai essayé de contrôler tout ce qui était vérifiable. Employez donc ces procédures de vérification.

N.B. Si une requête de vérification affiche la réponse "Lignes affectées : 0" ou "L'action n'a renvoyé aucune ligne", cela signifie qu'aucun enregistrement ne répondait aux conditions posées, autrement dit, aucune erreur n'a été décelée. Tout va bien !

 

Pièce jointe

PMB-Manuels – Liste des requêtes SQL

C'est  un fichier au format tableur, qui vous donne la liste complète des procédures (3 onglets : circulation, catalogue et administration).  La version est prête à être imprimée, la mise en page est déjà adaptée.

 

Voir aussi

PMB- Manuels : Droits sur les onglets et les requêtes

PMB-Manuels – Déroulement d'une année scolaire "type"

 

Version imprimable

PMB-Manuels – Gestion automatisée grâce aux requêtes SQL

 

Comments are currently closed.