====== Bibliothèques ====== Un travail d'assainissement du code est en cours depuis la version 4.2 du SLIS. Chaque fois qu'un nouveau module est développé ou qu'un ancien est repris, il faut essayer de n'utiliser que des bibliothèques validées. Si ce n'est pas possible, il convient d'étendre l'ensemble de bibliothèques validées soit en auditant celle employée et en la validant, soit en trouvant une bibliothèque externe à SLIS de bonne facture, soit en nettoyant/assainissant la bibliothèque actuelle elle-même. Toute bibliothèque qui n'est pas listée ci-dessous est considérée comme non-validée. ===== PHP ===== ==== setup.php ==== Il faut inclure dans tous les scripts la bibliothèque setup.php qui introduit les éléments essentiels. require_once("Slis/setup.php"); ==== Smarty ==== [[http://www.smarty.net/manual/en/index.php|Smarty]] est le moteur de templating recommandé pour SLIS. Il est employé avec [[http://www.phpinsider.com/php/code/SmartyValidate/|smarty-validate]] pour valider les formulaires et [[http://smarty.incutio.com/?page=SmartyGettext|smarty-gettext]] pour internationaliser le contenu textuel. ''/inc/smarty.inc.php'' fournit un objet SmartySlis à employer : il dérive directement de Smarty et configure les chemins conformément à la configuration de l'interface web du SLIS. Vous pouvez aller voir la [[devel:bibliotheques:smarty.inc.php|description précise de la classe SmartySlis ]] require_once("Slis/smarty.inc.php"); ===== Perl ===== ==== Slis::Common::SQLHelper et Slis::Common::SQLParser ==== Ces modules sont spécifiques à PostgreSQL et sont employés dans les scripts qui font évoluer le schéma de la base de données au gré des nouvelles fonctionnalités. ===== Shell ===== ==== /usr/share/slis/slis-common.sh ==== * Fournit la fonction ''handle_initial_config'' pour enregistrer une commande de configuration initiale qui peut être exécutée plus tard lorsque les pré-requis nécessaires seront satisfaits. * Fournit la fonction ''load_slis_config'' pour sourcer ''/etc/slis/slis.conf'' s'il existe. * Fournit la fonction ''log'' pour enregistrer un message via syslog. * Fournit la fonction ''update_config'' pour mettre à jour un fichier de configuration similaire à ''/etc/slis/slis.conf''. ==== /usr/share/debconf/confmodule ==== Support debconf pour les scripts shell. Voir confmodule(3) et debconf-devel(7).