Une blackbox permet d'encapsuler des modules au sein d'une "boite noire". Une blackbox possède des entrées (actions) et sorties (évènements) que l'on créé selon les besoins. Selon l'entrée, certains modules qu'elle contient sont activés et une sortie peut alors générer un évènement dans la blackbox mère. Cela permet de protéger et d'indiviualiser un groupe de modules du reste du site.
Comment créer une blackbox ?
Cliquez sur le bouton "Projet" et sélectionnez ""Créer une BlackBox". Son éditeur s'affiche alors :
![]() | Choisissez un nom explicite pour votre Blackbox dans le champ "nom". Entrez les noms d'entrées et sorties de votre blackbox (+ pour ajouter, - pour supprimer). Ces entrées et sorties apparaîtront à l'intérieur de votre blackbox lorsque vous cliquerez droit à l'intérieur, pour l'établissement des liens internes, et à l'extérieur en cliquant droit dessus (cf captures ci-après). Validez. Une "bbrique s'est ajoutée à votre projet. :) |
Sélectionnez cette brique et cliquez sur "Projet" puis sélectionnez "Entrer dans une blackBox" (touche raccourci Entrée) :
Vérifiez bien dans quelle blackbox vous vous trouvez : son nom est indiqué en bas de l'interface du SCS. Par défaut, c'est le "shell" (indiqué comme nom du site). Ici, nous sommes bien dans la blackbox que nous venons de créer "BlackBoxTest" :
Vous pouvez désormais y ajouter les modules que vous souhaitez de façon normale. Vous remarquerez alors qu'en cliquant droit sur le fond de l'interface, le menu contextuel affiche vos entrées (ou vos sorties). 
Pour sortir d'une BlackBox, cliquez sur "Projet" et sélectionnez "Sélectionner l'élément père" ou bien pressez la touche Retour arrière (backspace) de votre clavier. Cliquez droit sur la brique pour lier votre blackbox aux autres modules de votre site (ceux qui ne sont pas encapsulés à l'intérieur) grâce aux entrées ou aux sorties définies plus haut.
Le shell est le module qui possède les particularités suivantes :
Le shell possède 6 entrées et aucune sortie :
Pour y accéder, il suffit de cliquer droit dans le fond de la zone du SCS qui matérialise, rappellons-nous, ce fameux shell.
Note : il est possible d'ajouter des entrées et des sorties au shell en personnalisant son bloc de définition dmi dans le fichier *.dms du site (pour expert). Les entrées doivent être de la forme "> in nom_de_l'entrée" et les sorties doivent être de la forme "> out nom_de_la_sortie". Pour en supprimer, il suffit d'enlever la ligne correspondante.
Exemple :
def dmi
> version 1 0
> in admin
> in client
> in vendeur
> out fin
...
enddef