Page 1 sur 2

Serveur WEB (très) simple (!)

Posté : jeu. 29 sept. 2016 17:06
par F6EEQ
Salut!

Dans le cadre d'un projet "programmation" dans notre Radio Club (pour les membres de la secte :lol: : F6KUU à St Marcel les Valence) nous allons monter un système de data logging.
La chaine sera à peu près celle-ci: capteur(s), acquisition par le RPi, interrogation du RPi par un PC (programme dédié ou application web), liaison RPi/PC par ethernet (à priori câblé et pas WI-FI).

Rien de très compliqué me direz-vous!!

Je cherche un tuto pour un essai de débutant, du style de celui du web-server ARDUINO, c'est à dire: on stocke un message en mémoire, le PC se connecte à l'ARDUINO par ethernet via un routeur, et, oh miracle, on lit le message dans le FIREFOX qui va bien.

Je sais le faire sur ARDUINO, je n'ai pas trouvé de truc simple pour RPi.

Auriez vous une suggestion ou un lien.
Ce que j'ai trouvé ici ou dans d'autres exemples est trop compliqué pour ce que je veux faire (serveur APACHE...) mais peut-être n'y a-t-il pas d'autre solution.

Merci de votre aide.

Re: Serveur WEB (très) simple (!)

Posté : jeu. 29 sept. 2016 23:08
par maxty01
Bonsoir,

Alors, il n'y pas vraiment d'alternative à apache.

Il a l'air peut-être lourd au premier abord, mais peut se faire très léger.

Dans votre cas, une application vient modifier une valeur contenue dans un fichier text dans le dossier /var/www/, celui-ci est distribué par apache et le tour est joué.

Bonne soirée,

Re: Serveur WEB (très) simple (!)

Posté : ven. 30 sept. 2016 08:31
par F6EEQ
Merci...
Donc il faut que je me lance dans Apache.
Je connais déjà un peu en serveur local (WAMP) pour gérer un site web, mais c'est juste une utilisation "de l'extérieur".

Je vais donc me pencher sur l'installation d'un serveur sous Raspbian.

@+ et bon WE

Re: Serveur WEB (très) simple (!)

Posté : ven. 30 sept. 2016 19:43
par maxty01
Bonsoir,

En cas de soucis, la communauté est toujours présente pour aider.

Bonne soirée,

Re: Serveur WEB (très) simple (!)

Posté : ven. 30 sept. 2016 21:14
par Manfraid
+1 maxty01

Re: Serveur WEB (très) simple (!)

Posté : ven. 30 sept. 2016 21:55
par Bud Spencer
Fort heureusement, non. Apache n’est pas la seule alternative. Au mieux, c’est même la pire des solutions pour un PI. Même dépouillé à stricto-miniums, Apache n’a de léger que la plume de son logo et ses trop nombreux accès hd en lecture/écriture ne sont pas vraiment une aubaine avec une sd.

Si on a vraiment besoin d’un serveur php-cgi (je ne pense pas que ce soit le cas ici), il faut plutôt regarder du côté de Nginx ou de Lighttp. Les deux se montreront beaucoup plus performant qu’Apache tout en restant beaucoup plus léger et économe, donc plus convenable pour le PI. Ceci dit, déployer ce type de serveur pour quelques pages d’un système data logging ou d’une petite domotique, c’est lourd, inutile et n’ayons pas peur des mots, c’est complétement has-been. D’autres solutions plus ‘modernes’ (comme par exemple NodeJs) sont beaucoup plus efficaces et adaptées.

73 de F1*** ;)

Re: Serveur WEB (très) simple (!)

Posté : sam. 1 oct. 2016 12:58
par destroyedlolo
Salut,
Bud Spencer a écrit :Fort heureusement, non. Apache n’est pas la seule alternative.
Et oui ... vive le libre :D

Si je pense que Nginx et Lighttp sont de très bon outils, il n’empêche que c'est un peu excessif de dire qu'Apache n'est pas un bon choix sur *PI :lol:
Bud Spencer a écrit :ses trop nombreux accès hd en lecture/écriture ne sont pas vraiment une aubaine avec une sd.
En lecture oui (car il vérifie systématiquement les droits d'accès mais s'est paramétrable si inutile), par contre, les seuls accès en écriture sont pour les logs ... qui peuvent être supprimés d'ailleurs. S'il écrit quoi que ce soit d'autre sur la SD, c'est qu'il y a un pb de configuration quelque part.
Bud Spencer a écrit :Ceci dit, déployer ce type de serveur pour quelques pages d’un système data logging ou d’une petite domotique, c’est lourd, inutile et n’ayons pas peur des mots, c’est complétement has-been.
Mouai, sur mon Banana, Apache (avec PHP et base PostgreSQL) sert
  • mon site web à faible traffic (je ne suis pas google :D ),
  • mais aussi d'accueil pour les webService des supervisions de mes machines avec historisation en base, jusqu'a une 10e de machines en parallel, y'a pas que des PC
  • ainsi que pour la partie historisation / génération de graph pour le reste de ma Domotique aussi par des webService (j'ai fais une passerelle MQTT/WS pour cette partie), les dits graph étant générés à la volé et non pré calculés.
  • des interfaces de contrôles
Bref, sur le PI tourne aussi tous les serveurs réseau de base (serveur NTP, DHCP, Named, ...) + ma domotique elle-même à base donc MQTT et d'automatisme en C et en Lua ... (une 20e de sondes).

Bref, la charge CPU est plus que correcte
Image
Les piques qu'on voit sont dues à la générations des stats de visites (3h du mat) et à des compilations à minuit.

A noté que la partie supervision et le site existaient déjà avant que je bascule sur le PI pour des questions évidentes de conso électrique et tournait ... sur une Sparc Classic 5 d'un autre age.

Donc peut-être que si j'avais du faire tout ceci maintenant, j'aurai choisi autre chose, mais on peu difficilement dire qu'Apache n'est pas adapté à un *PI et encore moins que ce soit une enclume.

Re: Serveur WEB (très) simple (!)

Posté : sam. 1 oct. 2016 15:16
par Bud Spencer
As tu fais des tests et des comparatifs sérieux entres les différentes 'alternatives' proposées ? Les as tu seulement essayé ?

Moi oui, tout comme beaucoup d'autres gens de la communauté qui sont suffisamment ouvert d'esprit pour s'intéresser et évoluer au rythme des technologies nouvelles et du travail de cette même communauté. La conclusion a tous ces tests se résume pour quasi unanimité à peu près ce que j'ai écrit plus haut.

Tu partais d'une vielle solution Apache, tu l'as gardé, c'est très bien. Ici, il est question de faire le choix d'une solution pour un projet tout neuf donc autant regarder tout ce qui se fait aujourd'hui pour faire le bon choix et je maintient qu'Apache fait parti des plus mauvais, ce qui ne veut pas dire que cela ne marche pas.

Ce qui serait bien, vu que tu es un 'super *** censure ***' Apache et que tu es convaincu que c'est bien, c'est de faire un petit tuto pour F6EQQ parce que lui trouve ca trop compliqué apparemment. Un truc simple du genre procédure d'installation, configuration, et une petite page 'hello world' juste pour tester, ca te prendrait sans doute moins de temps que d'étaler la liste des bricoles que tu as faites (et que l'on connaît déjà par cœur à force de les lires partout ou tu interviens ...).

Re: Serveur WEB (très) simple (!)

Posté : sam. 1 oct. 2016 15:58
par destroyedlolo
Déjà, je ne vois pas de raison d’être agressif.

Ensuite, je n'ai pas critiqué les solutions que tu proposes (mais sans liens, c'est évident que ça va vachement aider le gars) et je sais pertinemment que Nginx est plus performant qu'Apache ... vu qu'il a été créé pour ça. Mais ce n'est pas une raison pour dire des trucs faux : je maintiens qu'il n'y a strictement aucune raison qu'Apache fasse de "trop nombreux accès hd en [...] écriture [qui] ne sont pas vraiment une aubaine avec une sd". Et je maintiens aussi que ses perfs sont parfaitement compatibles avec un PI vu qu'il tourne sans problème sur des machines 50x moins puissantes.

Force est de constater aussi qu'on ne voit pas beaucoup d'aide lorsque qq'un demande de l'aide sur Nginx. Un facteur a prendre en compte pour un débutant.

Re: Serveur WEB (très) simple (!)

Posté : sam. 1 oct. 2016 23:46
par Bud Spencer
destroyedlolo a écrit :Déjà, je ne vois pas de raison d’être agressif.
Moi non plus ... pour le mot 'censuré', excuse moi (toi), mais ce n'était pas une insulte. Je pense que c'est juste le correcteur du site qui a fait logiquement le boulot parce que j'avais écrit 'super c,r ,a, c ,k' comme j'aurais pus écrire 'super pro'.

A part ca, pour F6EQQ, on fait quoi ? je ne pense pas que les dérives 'moi je, moi je' soit une bonne idée. Savoir ce que tu as réalisé n'impressionne et n'aide personne, par contre détailler concrètement comment tu l'as fait au bon moment, ca, ca pourrait avoir du sens. J'ai 35 ans de développement derrière moi et je suis dedans tous les jours alors, imagines si j'étais comme toi à systématiquement ressasser tout ce que j'ai fait pour appuyer mes écrits ? A mon avis, je pense que ca finirai par em***er tout le monde et ca n'apporterais rien (méditation de ta part requise). Je te laisse donc tes grandes théories et tes croyances et si tu ni vois pas d'inconvénient, je revient au fil du post pour proposer du CONCRET.

je me fend donc d'un exemple on ne peu plus simple d'un serveur http façon 'hello world' histoire d'essayer de mettre notre amis F6EQQ et les adeptes du F6KUU sur une voie divine ( :lol: ). Après tout, c'est texto le sujet et jusque la, pas beaucoup d'exemple.

Contexte:
Une sd neuve avec juste une installation de la dernière Raspbian 'pixel' téléchargée ce jour même et logée dans un PI B2. Aucune autre install, aucune configuration et aucune modification à l'exception du clavier 'FR' et de fixer l'adresse IP du pi sur l'Ethernet.

j'ouvre donc en ssh ce minable (mais fiable et suffisant) éditeur de texte qu'est nano avec la commande suivante : $ sudo nano monweb.js
je saisie juste le code suivant :
nano.jpg
nano.jpg (37.18 Kio) Vu 6669 fois
j'enregistre le fichier (ctrl-x, oui) et de retour sous la console je lance la commande suivante : $ node monweb.js

C'est fini (si si). Depuis n'importe quel browser de n'importe qu'elle machine sur mon réseau (y compris localement), je snif à http://adressedemonpi:8080 et j'ai ma page web. Zéro install et 2 minutes seulement montre en main sur une raspbian vierge pour y arriver (désolé mais mes doigts son vieux et usés, donc je tape doucement ...). Pour 'arreter' le serveur nodejs : ctrl+c

Voila, je pense que c'est suffisamment simple pour être testé en moins de 5 minutes par n'importe quel débutant. Le langage utilisé ? vous y étés confronté systématiquement des centaines de fois par jours, c'est juste du javascript sauf qu'il est exécuté par NodeJs coté serveur. Quoi que vous fassiez dite vous que vous serez obligé de vous y mettre si vous voulez faire du web vraiment dynamique et croyez moi, pouvoir utiliser le meme langage coté serveur et client ca a d'énormes avantages. Je ne veux pas me chamailler avec des amateurs de dinosaures qui reste coincés derrière leur vieux trucs (haaa mes nuits passées à lire en temps reel les news de l'AFP et de la TASS qui déboulait a 45.5 bauds sur mon teléimprimeur sagem SPE5 équipé du fabuleux démodulateur F8CV .... hummm ... s'cusez, mais moi aussi j'ai de la bouteille et la nostalgie je connais aussi),mais si vous voulez interfacer efficacement vos gpio pour les piloter en temps réel depuis de la page web , c'est à aujourd'hui très certainement LA solution incontournable.