ADN / Conceptronix / 2001-2003
A la fin de mon stage chez Concetpronix, j'ai été amené à réliser et livrer un serveur chez un client, Aube Technologies. Le client se spécialisant dans l'électronique domestique (style thermostat électronique) désirait avoir un système d'indexation de ses différentes pièces électroniques. Pour chaque pièce existante, le système se devait d'attribuer un code alphanumérique permettant aux employés d'avoir une idée de la pièce dont il s'agit, de lister les différentes versions successives de la pièce en question, et de donner accès aux documentations techniques associées. De plus, le système se devait de gérer un emsemble de droits d'accès pour éviter que n'importe qui fasse n'importe quoi, et enfin le système se devait d'être sécuritaire.
Au niveau de la gestion des droits, nous avons défini 3 classes d'utilisateurs avec le client: les simples utilisateurs qui ne peuvent que consulter le système sans y apporter de modification, les ingénieurs qui ont le droit de création/modification des pièces, et les administrateurs qui en plus des mêmes droits gèrent les comptes utilisateurs et leurs droits appropriés.

Il me fallait donc réaliser le serveur et son client approprié.

Côté serveur, j'ai donc monté un serveur Linux que j'ai sécurisé au maximum en retirant tous les services inutiles. J'y ai installé la base de données PostgreSQL. Pour plus de facilité au niveau de la gestion des droits et aussi pour plus de sécurité en évitant de faire circuler les mot-de-passe de la base de données, j'ai décidé que cette dernière serait inaccessible par le réseau. Pour modifier les informations, le client passe par un serveur Java RMI (accès à un objet à distance, comme CORBA), n'offrant donc que les fonctions effectuant les opérations documentées (même en cas de piratage, la base de données restant non directement accessible, le pirate ne pourrait pas faire tout ce qu'il voudrait). Le mot-de-passe de l'utilisateur est crypté dans cet objet et circule donc de facon cryptée sur le réseau.