You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2017-10-25 09:44:50

amolecho
Member
Registered: 2017-10-24
Posts: 12

FormCreator : Récupération du nom d'hôte

Bonjour à tous,

Depuis FormCreator, j'ai la possibilité de remonter l'adresse IP de la machine émettrice du ticket, ce qui est plutôt cool !
Cependant, dans un environnement en DHCP, l'adresse IP des machines change régulièrement et je souhaiterai pouvoir remonter le nom d'hôte, afin que les tickets aient une information .

J'ai essayé de chercher dans les plugins mais je n'ai rien trouvé.
Quelqu'un aurai une idée, en évitant la solution du développement perso (je préférerai utiliser des plugins maintenus) ?

Offline

#2 2017-10-25 11:57:33

btry
Moderator
Registered: 2015-10-01
Posts: 591

Re: FormCreator : Récupération du nom d'hôte

Bonjour

Le plugin ne permet pas cela pour le moment, mais ça ne me semble pas bien compliqué à réaliser.

Je pense qu'il faut "habiller" l'usage de la fonction suivante dans un nouveau type de champ.
http://php.net/manual/en/function.gethostbyaddr.php

Si vous avez les compétences, vous devriez vous lancer. Pour que ce soit maintenu, la condition est que votre développement soit fusionné dans le dépôt officiel. En gros :
- faites un fork du dépôt sur Github
- créez une branche
- développez la fonctionnalité
- soumettez la pour revue et intégration

Après revue, vous aurez peut être quelques modifications à faire, jusqu'à ce que le code soit satisfaisant.

Notez que j'ai choisi  récemment d'utiliser des messages de commit conventionnels (saveur AngularJS): https://conventionalcommits.org/  . Cela permet de produire un changelog automatiquement au moment de faire une release. Essayez de respecter cela ou sinon je devrai réécrire les messages (ce qui risque provoquer la perte du véritable auteur du code).


No support with MP - Always run an upgrade task on a testing instance before running it on production! Always backup before any upgrade task!

Offline

#3 2017-10-25 13:17:11

amolecho
Member
Registered: 2017-10-24
Posts: 12

Re: FormCreator : Récupération du nom d'hôte

Bonjour,

Merci pour votre retour.

Je vais voir si je me lance, je vais déjà modifier le plugin et si mes résultats sont bons je ferai la démarche pour l'intégrer au dépôt officiel !

Offline

#4 2017-10-25 13:28:59

btry
Moderator
Registered: 2015-10-01
Posts: 591

Re: FormCreator : Récupération du nom d'hôte

Vu que je maintiens le plugin, quelques conseils:

- voyez comment fonctionne la classe du champ IP. Il a l'avantage d'être simple vu qu'il n'y a pas d'interaction avec l'utilsiateur
- utilisez la méthode Toolbox::getRemoteIPAddress() qui gère un éventuel proxy

Si vous avez des questions n'hésitez pas à les poser. Ce dont vous avez besoin est une fonctionnalité, donc l'intégration peut se faire dans la version 2.7.0. Ca donne du temps car on commence à peine le cycle de vie des 2.6.x.


No support with MP - Always run an upgrade task on a testing instance before running it on production! Always backup before any upgrade task!

Offline

#5 2017-10-25 16:43:36

amolecho
Member
Registered: 2017-10-24
Posts: 12

Re: FormCreator : Récupération du nom d'hôte

J'ai en effet trouvé le fichier filefield.class.php que je pensais adapter pour ma fonction, dans un nouveau fichier.
Par contre, je ne sais pas si j'ai d'autres choses à modifier pour que le nouveau champs soit créé dans la base.

J'avoue que je débute tout juste avec GLPI et je n'ai pas encore les connaissances suffisantes sur le produit !

Offline

#6 2017-10-26 09:18:05

amolecho
Member
Registered: 2017-10-24
Posts: 12

Re: FormCreator : Récupération du nom d'hôte

J'ai donc créé un nouveau fichier pour mon champs, hostnamefield.class.php dans lequel je récupère le nom par le biais de l'adresse IP, ce qui semble plutôt bien fonctionner.

Par contre, mon champs ne remonte pas dans la liste lorsque je déclare ma nouvelle classe (PluginFormcreatorHostField).
J'imagine que je dois également modifier la classe PluginFormcreatorField, mais je ne la trouve pas... J'ai un peu de mal à appréhender la structure du plugin.

Je ne serai pas contre quelques conseils !

Offline

#7 2017-10-26 09:25:05

btry
Moderator
Registered: 2015-10-01
Posts: 591

Re: FormCreator : Récupération du nom d'hôte

Bonjour

amolecho wrote:

Par contre, mon champs ne remonte pas dans la liste lorsque je déclare ma nouvelle classe (PluginFormcreatorHostField).

La liste dont vous parlez est la liste des champs disponibles lors de la création d'une question (quand on conçoit un formulaire) ?


No support with MP - Always run an upgrade task on a testing instance before running it on production! Always backup before any upgrade task!

Offline

#8 2017-10-26 10:28:45

amolecho
Member
Registered: 2017-10-24
Posts: 12

Re: FormCreator : Récupération du nom d'hôte

Oui tout à fait !

Offline

#9 2017-10-26 10:32:14

btry
Moderator
Registered: 2015-10-01
Posts: 591

Re: FormCreator : Récupération du nom d'hôte

Regardez la méthode PluginFormcreatorFields::getNames(). Elle appelle PluginFormcreatorFields::getTypes().

Je pense que dans cette seconde méthode, votre fichier l'est pas traité correctement. Il devrait être chargé à la ligne 22 lors de l'appel à class_exists() (qui sollicitera l'autoloader du plugin).


No support with MP - Always run an upgrade task on a testing instance before running it on production! Always backup before any upgrade task!

Offline

#10 2017-10-26 11:17:09

amolecho
Member
Registered: 2017-10-24
Posts: 12

Re: FormCreator : Récupération du nom d'hôte

c'est bon ça fonctionne !

En effet, le nom de la classe devais être identique au nom du champs...

Après, je ne sais pas si je vais me lancer dans la publication de ma modification sur GitHub, je ne connais pas du tout le fonctionnement.
Pensez-vous que ça en vaille la peine ?

En tout cas, un grand merci pour votre aide !

Offline

#11 2017-10-26 11:21:37

btry
Moderator
Registered: 2015-10-01
Posts: 591

Re: FormCreator : Récupération du nom d'hôte

Si vous ne faites pas les choses au mieux, à la revue je le dirai, et demanderai des changements. Vu que la fonctionnalité n'est pas bien lourde en code, il y a peu de risque de faire "pas optimal" ou d'introduire un bug. La revue est là pour cela: faire des aller /  retours entre le contributeur et d'autres personnes (de l'entraide en somme).

Soumettez, sinon ce serait un effort qui ne servira qu'un temps pour vous, et une perte pour la communauté. Partager le code est un investissement généralement rentable.


No support with MP - Always run an upgrade task on a testing instance before running it on production! Always backup before any upgrade task!

Offline

#12 2017-11-02 14:40:55

btry
Moderator
Registered: 2015-10-01
Posts: 591

Re: FormCreator : Récupération du nom d'hôte

Bonjour

Pour information, la version 2.7.0 pourrait arriver pus tôt que prévu; ce serait une bonne idée, si vous voulez contribuer, de verser votre code pour que je puisse l'intégrer.


No support with MP - Always run an upgrade task on a testing instance before running it on production! Always backup before any upgrade task!

Offline

#13 2017-11-02 17:30:45

amolecho
Member
Registered: 2017-10-24
Posts: 12

Re: FormCreator : Récupération du nom d'hôte

Bonjour,

Je viens de créer une nouvelle branche et d'y ajouter mes modifications et vous les ai envoyées pour validation.
Dites moi si j'ai oublié quelque chose !

Offline

Board footer

Powered by FluxBB