Bonjour, Nous avions déjà discuter de l'architecture de la base de données pour les services via IRC en considérant les services comme des logiciels. Majoritairement, les avis montrent que les deux sont indissociables, je vous transmet le résultats de notre étude.
Je recapitule : glpi_dropdown_tos (on gérera cette table comme un dropdown GLPI donc dans la partie intitulés de la configuration) C'est l'ensemble des services disponibles (cf. /etc/services) glpi_dropdown_tos a pour champs ID int auto_increment name varchar(255) port mediumint ou varchar(5) type enum('UDP','TCP') Un software peut utiliser plusieurs services ou aucun. Pour cela on créé la table glpi_software_tos qui contient : ID int auto_increment software int -> ID de glpi_software tos int -> ID de glpi_dropdown_tos Ce qui permet d'avoir N services pour un logiciels avec N variant de 0 à l'infini Ensuite pour gérer les ports spécifiques sur un ordinateurs on ne peut pas mettre cela dans glpi_inst_software car il peut y avoir plusieurs ports par software. Donc on créé une autre table spécifique pour gérer les exceptions et uniquement les exceptions. On ne mettra pas dedans les ports standards. glpi_specific_ports a pour champ ID int auto_increment inst_software int -> ID de glpi_inst_software -> l'installation concernée specific_port mediumint ou varchar(5) Et il faut un champ en plus pour savoir de quel port on parle pour ce logiciel precis deux possibilités : dropdown_tos -> ID de glpi_dropdown_tos Les informations supplémentaires sur les services prendront la forme de nouveaux champs dans la table software. Julien