télémaintenance sur ce process lancé au démarrage

Ici vous trouverez comment modifier les fichiers de configuration, mais aussi, pourquoi pas des applis comme apache, vsftp, samba et autres...

Modérateur : Francois

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: télémaintenance sur ce process lancé au démarrage

Message par Bud Spencer » sam. 28 sept. 2019 20:55

Je voulais juste rappeler la différence entre évènement et interruption, tout simplement parce que l’erreur d’interprétation est très souvent faite. Pour ce qu’il en est de la programmation évènementielle, j’aurais du faire comme toi et simplement linker sur la définition wiki qui est très explicite et qui en plus met bien en avant la différence avec les interruptions.
https://fr.wikipedia.org/wiki/Programma ... ementielle

Quand tu as une interface graphique avec des dizaines de boutons et des menus partout, le programme n’est bien évidement par cloisonné dans une boucle infinie qui scrute si tel ou tel bouton ou menu est sélectionné. C'est de la programmation évènementielle ou tout est géré par des évènements et dans l’attente d’évènement, le programme ne consomme rien (ou pas grand-chose). Il y a tout un tas d’exemple dans le tuto NodeJs ou j’utilise la librairie ‘events’ et ils démontrent très bien comment un objet peut générer des évènements et comment ceux-ci sont traités dans le reste du programme.

Faire un service qui permet de dialoguer avec une rs232 en utilisant une connexion IP ne dois pas prendre plus de 20 ou 30 ligne de codes avec NodeJs et seulement quelques une de plus pour le faire de façon robuste en Java, C# ou meme en c++ et tout ça sans aucune boucle. La dernière fois que j’ai fait ce genre de truc, c’était il y a plus de 20 en VB6 et il ni avait aucune boucle la dedans
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: télémaintenance sur ce process lancé au démarrage

Message par Artemus24 » dim. 29 sept. 2019 09:53

Et c'est pourquoi, l'usage d'une boucle infinie est une mauvaise façon de programmer.

Jadis, on me disait la même chose avec le GOTO dans le COBOL.
Nous avons dû adopter (dans les années 70-80) la programmation structurée afin de ne plus utiliser ce GOTO.
Maintenant, je n'utilise plus du tout le GOTO car il y a toujours une solution de remplacement.

Il faut changer les mauvaises habitudes (souvent la solution de facilité) en se forçant à adopter une approche plus structurée et respectueuse du temps CPU.

Maintenant, chacun fait comme il l'entend.
Mais qu'il ne viennent pas demander de l'aide si sur des notions basiques, ils ne respectent pas les bonnes pratiques de la programmation.
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: télémaintenance sur ce process lancé au démarrage

Message par Bud Spencer » lun. 30 sept. 2019 16:33

Bha, tu ne peux pas non plus demander à des débutants de maitriser tous le artefacts et pouvoirs magiques de vieux sorciers emplis de savoir par plusieurs vies consacrées à l’étude des sciences occultes de l’octet. Il faut aussi faire la part des choses. Beaucoup ne souhaitent pas forcement apprendre à programmer, ce qu’ils veulent c’est juste réaliser ponctuellement ‘une chose’ sans se soucier de savoir s’ils le font bien ou pas, ‘du moment que cela marche’. A ce stade-là, je ne me sens pas vraiment concerné. Ceux qui veulent vraiment apprendre à programmer, on ne les entend pas. Ils lisent, ils expérimentent et apprennent en silence et c’est surtout pour ceux-là que j’écris.

Pour ce qui en est des boucles, j’ai déjà fait l’expérience dire ‘attention, ce n’est pas bien …’.
https://www.framboise314.fr/la-saga-bli ... r-une-led/

Les commentaires valent leur pesant de cacahuètes. Les gens félicitaient l’auteur pour la rédaction de l’article (ce que j’avais fait aussi puisque c’était très bien écrit et documenté), mais le fait que les exemples de codes soient catastrophiques et inutilisables, ça n’avait choqué personne et je m’étais même fait insulter de l’avoir fait remarquer. Plutôt que de me charogner avec tout un tas de personnes qui ne comprenait rien, j’avais trouvé plus judicieux de répondre par un autre article qui mettait en évidence ce que j’avais tenté d’expliquer.
https://www.framboise314.fr/penser-thre ... rogrammes/
j'avais même gardé une boucle 'infernale' dans le thread pour démontrer que l'on pouvait quand même utiliser du code simple pour faire de chose cohérentes. Je ne contrôlais pas la boucle, mais je contrôlais le thread.

Et c’est là que j’ai commencé ma carrière de vilain petit canard sur framboise 314 en me disant qu’il y avait forcement des gens qui voulaient aller plus loin que quelques if else dans des boucles infernales et exclusive ;) :lol:

Pour en revenir a ce que j'avais écris précédemment sur la différence entre 'interruption' et 'évènement', on peut noter que 'Geo' fait cette erreur dans son commentaire sur threads. Il préconise à bon escient la possibilité d'utiliser un timer pour améliorer la précision du clignotement mais parle 'd'interuption' alors qu'il aurait du écrire 'évènement' ;)
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: télémaintenance sur ce process lancé au démarrage

Message par Artemus24 » lun. 30 sept. 2019 17:40

Salut Bud Spencer.
Bud Spencer a écrit :Bha, tu ne peux pas non plus demander à des débutants de maîtriser tous le artefacts et pouvoirs magiques de vieux sorciers emplis de savoir par plusieurs vies consacrées à l’étude des sciences occultes de l’octet.
Il ne s'agit d'avoir la science infuse, mais d'avoir les bons réflexes !
Je veux bien, mais qu'est-ce avoir les bons réflexes ?

Quand on ne sait pas faire, c'est voir comment d'autres vont s'y prendre.
Ne pas répéter bêtement ce que tout le monde fait par ailleurs.
Cherchez à se perfectionner par la connaissance. Je dirais dans ce cas là, être curieux.
L'apprentissage, c'est répéter la même chose en y incluant une amélioration à chaque fois.
Bud Spencer a écrit :Beaucoup ne souhaitent pas forcement apprendre à programmer, ce qu’ils veulent c’est juste réaliser ponctuellement ‘une chose’ sans se soucier de savoir s’ils le font bien ou pas, ‘du moment que cela marche’.
Justement, ils font du tort à l'informatique. Il va se dégager de cela que l'informatique est réservé à des initiés, que c'est abscons, voire ésotérique.
Bud Spencer a écrit :A ce stade-là, je ne me sens pas vraiment concerné.
Concerné pour faire quoi ? Leur tenir la main afin de les guider dans leurs démarches.
Désolé de le dire, mais je ne suis pas un chien d'aveugle.
Bud Spencer a écrit :Ceux qui veulent vraiment apprendre à programmer, on ne les entend pas.
Ils ne viennent pas dans ces forums parce que le niveau est trop bas.
Ils préfèrent étudier chez eux, ou suivre une formation !
L'apprentissage par internet n'est pas si aisé que cela.
Il faut à juste titre un interlocuteur qui peut répondre à nos questions.
C'est pourquoi, je trouve que la relation maître / élève est ce qu'il y a de mieux, à condition que le maître laisse la liberté d'entreprendre à son élève.
Bud Spencer a écrit :Ils lisent, ils expérimentent et apprennent en silence et c’est surtout pour ceux-là que j’écris.
A condition qu'ils prennent le temps de lire ce que tu écris.
Bud Spencer a écrit :Pour ce qui en est des boucles, j’ai déjà fait l’expérience dire ‘attention, ce n’est pas bien …’.
Oui, ton article datant du "25 juillet 2016 à 9 h 49 min". Je suis entièrement d'accord avec toi !!!
Il y a cet imbécile de Terence Hill, qui ne sait même pas de quoi il parle.
J'ai bien apprécié ta remarque pertinente du "27 juillet 2016 à 21 h 33 min".
Que ce soit l'auteur de l'article, Patrice SEIBEL ou ce Terence Hill, c'est leur égo qui parle et rien d'autre.
Ils n'acceptent pas qu'on critique leur travail.

Même si ta remarque est pertinente, je constate que cela n'intéresse personne, à par moi.
Je n'ai rien déposé dans ce billet car cela n'aurait rien apporté à personne.
Tout ce que je peux dire, c'est que je suis d'accord avec toi !
Bud Spencer a écrit :Plutôt que de me charogner avec tout un tas de personnes qui ne comprenait rien, j’avais trouvé plus judicieux de répondre par un autre article qui mettait en évidence ce que j’avais tenté d’expliquer.
Cela ne sert à rien de se prendre la tête avec des imbéciles. Tu seras toujours le dindon de la farce, parce que tu ne peux pas avoir raison contre tout le monde, même si c'est le cas.
C'est en lisant ton article que je me suis mis aussi à faire clignoter des leds et appuyer sur des boutons poussoirs.
Donc ton travail n'a pas été vain puisque cela a servi au moins à une personne, moi.

Et l'imbécile de Terence Hill, dans article du "1 août 2016 à 16 h 35 min" change d'opinion à ton égard. Une vrai girouette !

Par mon expérience, cela ne sert à rien de convaincre des gens s'ils ne sont déjà convertis à ta philosophie.
Je pense que tu prêches dans le désert
Bud Spencer a écrit :Pour en revenir a ce que j'avais écris précédemment sur la différence entre 'interruption' et 'événement', on peut noter que 'Geo' fait cette erreur dans son commentaire sur threads. Il préconise à bon escient la possibilité d'utiliser un timer pour améliorer la précision du clignotement mais parle 'd’interruption' alors qu'il aurait du écrire 'évènement' ;)
Franchement, je ne sais pas trop faire la distinction entre interruption, événement, exception voire aussi signal.
Je sais que le timer sert à cadencer des événements, mais à vrai dire, je ne sais pas trop ce qu'est un timer, ni comment il fonctionne réellement dans un ordinateur.
Je suppose qu'il doit exister un compteur qui se décrémente et provoque l'appel à une tâche quand elle arrive à zéro.
De même, je ne sais pas comment fonctionne l'interruption, mais je suppose que ce sont des bits qui passe de 0 à 1.
Je ne sais pas non plus comment se déclenche la lecteur de ce bit.
Tous ces aspects sont de l'ordre du matériel et à vrai dire, je suis nul dans ce domaine.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: télémaintenance sur ce process lancé au démarrage

Message par Bud Spencer » mer. 2 oct. 2019 11:52

Salut Artemus
Artemus24 a écrit :
lun. 30 sept. 2019 17:40
Concerné pour faire quoi ?
Pour l’intérêt du sujet tout simplement. Ça parle de méthode et de programmation informatique, ça m’intéresse, j’ai quelques aptitudes dans ce domaine donc je participe. C’est le principe même des forums de discutions. Les imbéciles et les guignols, c‘est une constante sur tous les forums. Par habitude, on apprend à faire avec et parfois même on les utilise.

Si les gens lisent ce que j’écris ? Bien sur qu’ils lisent. Il y a plein de ‘maker’ qui ont plein d’idées et qui restent plantés avec les sempiternels ‘hello world’ ou des leds qui clignotent dans des boucles. Le tuto NodeJS, c’est minimum 1000 vues/mois et c‘est constant depuis 3 ans même quand le sujet n’est pas mis à jour ou en page d’accueil. Si tu tapes dans google ou dans bing ‘raspberry pi javascript’, l’article que j’avais écrit sur le blog sort dans les premiers résultats et comme il y a un lien dans l’article qui ramène vers le tuto, cela ramène forcement aussi des gens qui ne sont même pas sur le forum et qui le lisent aussi.
grpj.png
grpj.png (233.25 Kio) Vu 6300 fois

Autre exemple, celui que j’ai écrit pour la simplification de code python à la suite de l’article du bargraphe. Ecrit en quelques jours fin juillet et 2 mois plus tard il est quasiment à 2000 vues. Ce n’est pas pharaonique, mais très peut de sujet peuvent prétendre avoir autant de popularité sur ce forum. Si les gens lisent ça, ce n’est pas parce que suis gentils ou pour me faire plaisir, c’est tout simplement parce qu’ils sont demandeur d’exemples concrets qu’ils puissent mettre en application pour ensuite les comprendre et ls adapter à leurs besoins. Si le niveau est faible ici, c’est peut-être tout simplement parce que s’il y a des gens qui ont des compétences, ils ne les partagent pas.

En ce qui me concerne, je trouve intéressant et amusant de prendre parfois une question au hasard et de la transformer en exemple pratique même si je sais que le demandeur ne la lira peut-être jamais (exemple), mais d’autres en profite pour apprendre de nouvelles choses qui leur serviront sans doute plus tard.
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: télémaintenance sur ce process lancé au démarrage

Message par Artemus24 » mer. 2 oct. 2019 14:24

Salut Bud Spencer.

J'ai relu ton billet !
Le pluriel de cocktail est cocktails et non cocktaux, sauf s'il s'agit de M. Jean Cocteau.

J'y réponds ici :

Ce qui est une hérésie, c'est de commencer l'apprentissage de la programmation par le javascript.
Encore que si vous êtes développeur web, cela peut se comprendre.
Ce langage n'a rien de pédagogique et donne de mauvaises habitudes en programmation.
Je parle ici du javascript que j'ai utilisé dans les navigateurs d'il y a 10 ans.

Autre hérésie, là où nous avons besoin de performance, on utilise un langage interprété.
Ce qui autorise de modifier les instructions en cours d'exécution, d'où les bidouilles dans le séquençage des instructions.
Faut pas s'étonner s'il y a des problèmes de sécurité !

Oui, je suis allergique à ce langage, au moins dans sa première forme.
J'ai pourtant acheté un bouquin afin de me perfectionner, mais cela ne passait pas.
L'incompatibilité d'un navigateur à l'autre en était aussi la cause.
Du coup, après avoir fait pas mal d'exercices, j'ai laissé tombé !

En ce qui concerne le BASIC, c'est un langage qui s'inspire du FORTRAN et est tourné vers le calcul scientifique.
Par définition, le basic (Beginner's All-purpose Symbolic Instruction Code) est un langage pour débutant.
J'ai découvert le langage basic au travers du basic Applesoft sur les Apple II+ dont j'en possédais un dans les années 80.
C'est un langage très conviviale pour l'époque, surtout par rapport au FORTRAN.

Une amélioration de ce langage a été VBA (visual basic for application) que j'ai utilisé en son temps dans la suite bureautique Office de Microsoft.

Pour ce qui est des liens dans ton billet, ils viennent pour la plupart de celui-ci :
--> https://www.supinfo.com/articles/single ... ck-prefere

Le node.js, je reconnais que c'est une grande amélioration, vis-à-vis du javascript des navigateurs mais je n'ai pas encore franchi le pas.
Pour l'instant, je suis sur les langages classiques comme 'C/C++' et bash.

Je trouve tes interventions intéressantes et je te conseille de continuer à nous abreuver de ta connaissance.
Bud Spencer a écrit :Si le niveau est faible ici, c’est peut-être tout simplement parce que s’il y a des gens qui ont des compétences, ils ne les partagent pas.
Je n'ai pas autant de compétences dans la raspberry que l'on pourrait croire.
Et je n'ai pas toujours le temps de m'y consacrer pour progresser.
Mon dernier sujet est consacré à Hurricane Electric sur la certification IPv6. Pourquoi ?
Parce que je me demandais comment obtenir l'IPv6 quand on a que l'IPv4 à sa disposition.
Vu que je suis plutôt tourné vers les réseaux, le sujet IPv6 m'intéresse.

Un sujet qui pourrait m'intéresser est la communication entre deux raspberry, voire entre une raspberry et windows.
Si tu as du savoir à me communiquer, je suis preneur. Par exemple les sockets, les pipes, ...

Un autre sujet serait de comprendre comment fonctionne les protocoles de sécurités réseau sans fil : wep, wap, wap2 ...
Ce serait dans les échanges entre routeur et ordinateur.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: télémaintenance sur ce process lancé au démarrage

Message par Bud Spencer » sam. 5 oct. 2019 12:20

Je ne pense pas qu’un langage soit plus ‘hérétique’ qu’un autre pour apprendre à programmer. Pendant l’apprentissage, le langage ne doit etre que l’outil qui permet de mettre en pratique ce que l’on apprend et si on a mal appris, on fait de le m****e, quel que soit le langage.

Le tuto NodeJS n’est pas un cours de Javascript. C’est juste la présentation d’une méthode qui vise à développer rapidement des ‘application web dynamique’. Si je suis resté simple dans les premières leçons et que je suis plus tard arrivé a de la poo évènementielle, c’était surtout pour démontrer cet aspect dynamique de façon de plus en plus performante vis-à-vis des possibilités. Chaque exemple sous-entend que l’on connaît (ou que l’on se documente pour connaitre) la syntaxe et le rôle de chaque instruction. Ce que j’y ai détaillé, ce sont juste des méthodes.

Pour le basic, j’ai commencé ça sur de l’ibm basic en rom dans les années 80 et j’utilise encore ce langage avec Visual Basic 6 (dont vba et vbs ne sont que des extensions) vu que ce langage a été énormément utilisé en entreprise et de nombreux programmes tourne encore avec. Pour les nostalgique du basic, sachez que l’on peut encore utiliser ce langage pour développer des applications graphique sur le PI avec VB.Net et Mono (ce qui toutefois n’a plus grand-chose à voir avec le basic de l’époque puisque qu’il repose sur toute la richesse de .Net)

Echanger des données entre différents systèmes, que ce soit des PI ou des pc sous n’importe qu’el os est devenu quelques chose de routinier maintenant que tout est ‘connecté’. Après c’est le choix de technologie et les modèle d’échange qui rendent ca simple ou compliqué.
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

cbalo

Re: télémaintenance sur ce process lancé au démarrage

Message par cbalo » mar. 29 oct. 2019 19:54

Oui et non
Il y a une boucle infinie oui (while true) avec gestion des sorties exceptionnelles de boucle (arrêt par systemd, plantage, etc...)
Oui, il y a des mises en attente dans la boucle (suis pas fou et de toute manière, sur un RS232, il faut compter moins 50ms pour recevoir une réponse à une demande et côté expression des besoins, on a pas besoin la plupart du temps d'une telle réactivité, sauf dans des cas très particuliers, et puis le RS232 a une vitesse de transmission infiniment moins élevée que le TCP.
Côté consommation de CPU : non, pas de problème : en attente même pas visible dans top , visible par ps : 0%, c'est dure de consommer moins :

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: télémaintenance sur ce process lancé au démarrage

Message par Bud Spencer » sam. 2 nov. 2019 11:46

Tu es encore dans tes boucles ? :lol:
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

cbalo

Re: télémaintenance sur ce process lancé au démarrage

Message par cbalo » sam. 2 nov. 2019 12:33

Moi non
Mais comme ils font des suppositions gratuites sur les performances de mes programmes, j'explique et je DÉMENS FORMELLEMENT.
De toute manière, quiconque s'y connait un peu en logique, sait que pour faire un service ou une appli, il n'y a pas à tortiller : là dedans dans le bas niveau, il y a une boucle, même si on ne la voit pas.

Verrouillé

Retourner vers « Les commandes Linux »