GNU/Linux Magazine
N°
Numéro
123
Solution Single Sign-on
GNU/Linux Magazine
Dans mon précédent article, nous avions vu comment utiliser le serveur d'annuaire 389 Directory Server (389DS) pour stocker les données d'un serveur DNS. Nous gérons aussi nos comptes utilisateurs dans cet annuaire LDAP. Nous disposons donc d'une infrastructure dont une part non négligeable des données administratives sont stockées dans un annuaire. Et nous pouvons aller au-delà : stockons nos données DHCP dans un annuaire. Cet article se propose donc de vous montrer la marche à suivre pour le faire avec 389DS, dans la foulée du serveur DNS.
Dans cet article, nous allons voir comment faire une application de carnet d’adresses électronique en mode 3 tiers. Autrement dit, nous allons aborder la mise en place d’une couche de persistance via Hibernate, la notion de couche métier, et enfin une couche d’interface graphique. J’avais en effet envie de montrer (et c’est le principal but de ces lignes) comment, en découpant bien notre application, et en choisissant avec soin les briques de base, il est possible de fournir 2 interfaces graphiques très différentes. La première est une interface type « client lourd » à utiliser sur son PC de bureau. La deuxième permet d’utiliser les mêmes données que la précédente, mais fonctionnera sur le téléphone portable de Google « Android ».
Depuis que le développement logiciel existe, les développeurs se sont confrontés aux problèmes de performance des applications. L’avènement des langages avancés comme Smalltalk, Java ou C# a permis de réduire considérablement les temps de développement des applications (en plus de les structurer) pour permettre aux développeurs de se consacrer à la logique applicative. Bien que les compilateurs génèrent du code efficace, l’optimisation manuelle est encore largement nécessaire. Il est dit qu’une application qui n’a jamais été analysée et optimisée peut doubler sa vitesse d’exécution en reconsidérant les algorithmes et en optimisant les points-clés consommateurs de temps de calcul. Développer du code efficace en temps nécessite un certain investissement mais est à la portée de tous. Cependant, il est nécessaire de se focaliser sur les méthodes les plus coûteuses dans le programme afin d’éviter de perdre du temps de développement et de complexifier inutilement le logiciel. Car optimiser implique souvent d’introduire de la complexité au travers de caches et autres pratiques. Nous allons montrer les outils disponibles en Pharo, un nouveau Smalltalk open source disponible sur http://www.pharo-project.org.