Re: télémaintenance sur ce process lancé au démarrage
Posté : dim. 8 sept. 2019 22:35
Oui, bien sur c'est possible, avec un service dédié à ça.
Les forums français du Raspberry Pi
https://forums.framboise314.fr/
Alors déjà, il ni aucune class dans ce code, il y juste des procédures. Si tu veux savoir ce qu’est une class et comment cela se met en œuvre, tu peux jeter un coup d’œil ici, ou j’ai fait une démonstration simpliste et pas à pas de la mutation d’un programme qui s’exécute de façon linaire vers son équivalent en paradigme orienté objet. Ici il n’y a que 2 procédures que j’ai volontairement appelées ‘service’ et ‘console’ pour bien différencié ce qui est exécuté par la première instance démarrée et les suivantes, tout ça pour rendre le code le plus explicite possible tout en restant dans le contexte du sujet.
C’est bien ça. Et tu le fais avec des fonctions qui ne retourne rien ou avec des procédures qui retournent des class ? Perso je ne suis pas trop fan des services infinis qui génèrent des boucles
C’est une pure caricature de rien qui ne veut rien dire et qui n’a ni queue ni tête. J’espère au moins que certains l’on compris, sinon, c’est grave, très grave. J’avais écrit ca par exaspération de voir que n’importe qui pouvait écrire n’importe quelle conneries (et le mot est bien mesuré) sans que personne ne dise rien. C’est parfois limite à penser qu’il y a ici un véritable complot pour empêcher les débutants de progresser.Bud Spencer a écrit : C’est bien ça. Et tu le fais avec des fonctions qui ne retourne rien ou avec des procédures qui retournent des class ? Perso je ne suis pas trop fan des services infinis qui génèrent des boucles
(Au point où on en est …)
Comme cela doit etre fait pour etre performant, c’est-à-dire en cloisonnant les entrées/sorties et utilisant des évènements. Ce n’est pas forcément facile pour tout le monde, je l’admets, mais une fois de plus, c’est l'énoncé du problème qui rend les choses compliquées.
Non. Toi tu utilises une boucle infinie parce que tu ne sais pas faire autrement, mais ça ne signifie pas que c’est la seule et encore moins la bonne méthode. Tous les codes en while true qui sortent sur des exceptions que tu trouves sur le net ne sont que des exemples soit pour débutant ou alors juste pour démontrer ce qui se trouve à l’interieur de la boucle, mais en aucun cas des solutions à prendre pour argent comptant dans leurs intégralités. Tu peux te contenter de ca pour ‘bricoler une bricole’ qui ne fait pas grand-chose, mais si tu en restes à ça, tu ne seras jamais capable d’écrire un vrai programme et tu ne cesseras de te demander comment faire à chaque fois que tu auras une idée (rassure toi, on est tous passé par là, sauf que pour certains, cela fait très très longtemps…).
Attention avec les mots utilisés Artémus. Une interruption est bloquante (elle interrompt). Si tu écris une évaluation dans une procédure et que cette évaluation te renvois à une série d’instruction (dans l’évaluation ou dans une autre procédure), c’est une interruption. Pendant l’exécution des instructions conditionnées par l’évaluation, ta procédure appelante est arrêtée (Interrompue pour utiliser le terme exact). L’autre méthode (à laquelle je pense que tu voulais faire allusion), c’est la gestion d’évènement. Si tu écris une procédure qui déclenche des évènements, c’est complétement différent. A chaque condition voulue, ta procédure émet un signal mais elle ne s’arrête pas (cas d’un timer par exemple) et les abonnés qui traitent les évènements sont non bloquants pour la procédure d’appel. On parle là de programmation évènementielle et ça, c’est vachement plus rigolo et efficace.Artemus24 a écrit : N'as-tu jamais entendu parlé de la gestion des interruptions ?
Je suis entièrement d'accord ! C'est une mauvaise façon de programmer.Bud Spencer a écrit :Perso je ne suis pas trop fan des services infinis qui génèrent des boucles
Mais que veux-tu dire sur ce genre de connerie ? Je préfère m'abstenir que de rentrer dans une polémique sans fin.Bud Spencer a écrit :J’avais écrit ça par exaspération de voir que n’importe qui pouvait écrire n’importe quelle conneries (et le mot est bien mesuré) sans que personne ne dise rien.
C'est pourquoi dans mon exemple sur les leds & interrupteurs, j'ai préféré mettre un timer en remplacement d'une stupide boucle infinie.Bud Spencer a écrit :Tous les codes en while true qui sortent sur des exceptions que tu trouves sur le net ne sont que des exemples soit pour débutant ou alors juste pour démontrer ce qui se trouve à l'intérieur de la boucle, mais en aucun cas des solutions à prendre pour argent comptant dans leurs intégralités.
C'est encore autre chose, la gestion des événements.Bud Spencer a écrit :L’autre méthode (à laquelle je pense que tu voulais faire allusion), c’est la gestion d'événement.
C'est bien cette idée que j'avais en tête.En informatique, une interruption est une suspension temporaire de l'exécution d'un programme informatique par le microprocesseur afin d'exécuter un programme prioritaire (appelé service d'interruption).
Le cas le plus fréquent est la gestion des entrées/sortie.Dans son acception la plus stricte, le terme ne désigne que des interruptions dont l'exécution est provoquée par des causes externes au programme