MySQL 5.0 et la cohabitation de scripts php

Le bridge (appellations tout ce qui a de moins officielle) est un pont permettant à 2 scripts php de communiquer entre eux. Le meilleur exemple est, à mon sens, Coppermine qui est une galerie en php avec son propre espace membre mais qui sait utiliser une autre table membres que la sienne afin d'être parfaitement intégrée à une structure déjà existante.

Un exemple concret peut être donné via Scenario-PaintBall qui utilise IPB et Coppermine avec le bridge adéquate pour n'avoir qu'un seul compte membre pour les 2 scripts.

Auparavant, soit ce système de bridge été incorporé en natif, soit il fallait toucher au code d'un voir des 2 systèmes en places.
Par exemple, faire en sorte que l'inscription à IPB soit couplée avec celle de Coppermine (Modification des source d'IPB) et utiliser le système d'identification d'IPB sous Coppermine (Modification des source de Coppermine).
Bref le travail était fastidieux, mais les mise à jour était pires.

MySQL 5.0 introduit un point très intéressant, que les utilisateurs de solutions telles que SQL Server ou Oracle connaissent : Les triggers. En vulgarisant, ce sont des réactions à des actions bien spécifiques.
Un exemple pourrait être une requête d'insertion dans la table membre de Coppermine suite à une requête d'insertion dans celle d'IPB et vice versa... On a donc automatisé l'inscription aux 2 scripts sans modifier une seul ligne de code...

Malheureusement, et oui, il y a toujours un "mais", MySQL 5.0 n'est officiellement stable que depuis quelques jours et des incompatibilités apparaissent déjà avec certain scripts très utilisés (IPB pour ne citer que lui). A mon avis, et les copains de Celeo sont d'accord avec moi, une réelle utilisation en production de MySQL 5.0 ne se fera pas avant 1 an, mais on peut s'y préparer.

NB : Comme me le fais remarquer Dash sur IRC au moment de la rédaction de ce billet : cette vision est simpliste et ne pourrait bien entendu pas fonctionner avec n'importe quel script. Par exemple, le cryptage d'un champs via un algorithmes compliqué ne pourrait être exécuté via le serveur MySQL mais seulement récupéré à partir de la première requête... Les systèmes utilisant un cryptage de mots de passe différents pourraient donc poser problèmes.

Attribution - Partage dans les Mêmes Conditions 4.0 International