Vous n'êtes pas identifié(e).
Hors ligne
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Hors ligne
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Hors ligne
Je sais pas pourquoi, le go , google ça me fait pas rêver
Ça reste opensource et dans les dépôts Debian Mais l'exercice d'après, c'est la même chose en Rust
Il vaut mieux ne pas le faire en php ?
C'est une autre solution, y'en a plein d'autre de toute façon. A la limite, tu peux tout faire en shell
Mais ça s'incorpore dans une page web le résultat ?
Ben, comme en PHP, dans la version que j'ai faite là. Mais une autre idée m'est venue entre temps, plutôt sous forme d'API.
En effet, le principe de ce que tu veux a juste un problème : si tu héberges ta page sur le même serveur que tu surveilles, si le serveur plante, t'en sais rien
Avec le système d'API, ça permettrait de séparer l'affichage du résultat de la récupération de l'information.
Edit : à noter aussi que ma page web est absolument moisie, c'est plus une preuve de concept qu'autre chose
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Hors ligne
Tu peux donc faire un client de la manière que tu veux sur une autre machine pour afficher ces données (page web avec AJAX, application dans un autre langage...)
Je suis en train de regarder pour que la page web de base utilise AJAX mais ça laisse ouvertes ces possibilités d'externaliser l'affichage
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Hors ligne
Tu penses à quoi exactement ?
A rien de précis, ça laisse juste ouverte d'autres possibilités. Tu peux imaginer un simple script shell sur ton poste de travail qui récupère l'état de ton serveur périodiquement (cron ou timer systemd) et qui t'affiches une notification sur ton PC par exemple.
Edit : et pouf, en tirant la pelote, encore une troisième manière de faire, le protocole websocket. A voir l'intérêt par rapport à l'idée API, et si je le code en Go ou je me réserve ça pour le RUST Ça m'avait paru tout à fait intéressant comme exercice de conception
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Dernière modification par joffrey575 (25-07-2023 08:30:30)
Hors ligne
je ne suis pas programmeur
moi non plus
Par contre, j'ai mon idée arrêté sur une page web mettant en avant les services voulu à regarder via le serveur web nginx.
Etant une quiche coté frontend, je te laisse la faire.
En l'état, ça correspond à ton attente, tu n'as qu'à modifier la page. Le seul truc à comprendre, c'est le fonctionnement du système de template de Go et cette partie là de assets/layout.html notamment :
La première ligne est une boucle sur la liste des services surveillés ($service) et un booléen indiquant leurs états ($status). Ça te créé donc successivement une entrée de liste.
L’icône vert ou rouge est déterminé avec {{if $status}}...{{else}}...{{end}}
Une fois que le programme est lancé comme un service, il suffit de faire un reverse proxy avec nginx pour que la page soit accessible sur les ports 80 ou 443. Tu peux utiliser le service d'authentification du serveur web pour protéger ta page, et le tour est joué
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Dernière modification par joffrey575 (25-07-2023 10:24:49)
Hors ligne
Tu récupères le dépôt (git ou téléchargement de l'archive
Ça récupère la dépendance automatiquement (donc l'étape d'installation de ini n'est pas nécessaire en fait) et te pond un fichier exécutable que tu peux utiliser pour créer un service systemd
De ce que j'ai vu de l'environnement Go (mais j'ai pas essayer encore), il y a même moyen de créer un paquet Debian
Edit : ça fonctionne aussi sans soucis avec bullseye de le même façon
Edit 2 : C'est mis à jour avec la version API qui corrige un bug : le programme plantait lorsqu'un service tombait ou n'était pas démarré
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Hors ligne
Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
Hors ligne
Dernière modification par joffrey575 (15-08-2023 21:28:37)
Hors ligne