Une transaction atomique

Sécuriser une opération en réseau

Ce billet m’a été inspiré par une dispute entre Marc à la compta et Cécile, responsable des factures, dans une petite entreprise. Robert, personne-ressource FileMaker interne, leur avait fait un script pour balancer les factures dans la compta. Et là, ils ne trouvent pas le même résultat ce mois-ci, entre facture et compta.

Suite à un audit de notre part,  il a été montré quelques erreurs, mais surtout, dans la conception du script, les transactions n’étaient pas atomiques

Bon, je sens que certains réagissent à de tels propos 😉

Une mise à jour sécurisée en réseau

Imaginez que vous avez réalisé un super script pour exporter des factures dans votre comptabilité. C’est un sujet avec lequel il faut jouer sécurité absolue.

Vous avez bien pensé le script, et celui-ci vous fabrique un fichier texte, avec toutes les données voulues, dans le bon ordre, pour satisfaire votre logiciel de comptabilité. Vous l’avez testé et il fonctionne parfaitement.

Et puis, un jour,… au cours de l’exécution du script, vous voyez apparaître une alerte comme quoi un de vos collègues est en train de travailler sur une des fiches concernées, et donc que l’accès vous est bloqué. C’est normal, deux utilisateurs ne peuvent pas modifier la même fiche en même temps, c’est de la sécurité de base.

Le problème de fond est que vous ne savez pas de quel enregistrement il s’agit. Et donc que votre export vers la compta n’est pas sain.

Le mieux est sans doute d’effectuer cette opération hors réseau, depuis votre poste. Ou à une heure où vos collègues ne travaillent pas… Mais ce n’est pas toujours possible, et souvent guère pratique.

La sécurité nous pousse alors à créer un script avec une boucle, qui annule tous les remplacements déjà réalisés dès que se présente le moindre problème. C’est ce que nous appelons une transaction atomique.

Démocrite pensait l’atome insécable. En fait la science d’aujourd’hui est allée plus loin et a découvert que c’était faux. Mais il en est resté cette expression, utilisant le terme « atomique » pour dire que c’est insécable.

Appliquée à notre problématique, nous dirons que la transaction consistant à passer les données des facture FileMaker dans la compta, ne peut pas être faite à 10%, ou 20%,… ou même à 99%. Elle doit être faite à 100% ou pas du tout. C’est tout ou rien ! Elle est insécable, atomique !

Ce sujet, très important dans de nombreux exemples, a été traité dans une de nos premières fiches Astuces, portant le numéro 18. Il est de même présenté dans le fichier FileMaker qui l’accompagne. Mais quand j’en ai parlé à Robert, il m’a expliqué que de tels termes ne l’inspiraient pas et qu’il avait zappé… C’est dommage !

Si vous devez sécuriser des processus par script, en réseau, je vous invite donc à (re)lire cette fiche.

  • Vous étiez déjà abonné en 2009, ou vous avez acheté le premier pack annuel, vous la trouvez dans votre collection.
  • Sinon, pas de souci, vous la trouvez dans la librairie : fiche Astuce FileMaker n°18.

 

Dans tous les cas, n’oubliez pas :
une sauvegarde avant toute intervention de vos fichiers s’impose !

Michel Lansard

 

Tags: , ,

Merci de laisser un commentaire (Pas de commentaire )

Désolé, les commentaires des articles réservés sont eux-mêmes réservés

Il n'y a pas de commentaire pour l'instant, soyez le premier ;-)