1

Pour une application embarquée sur un calculateur (en fait un gros PC mais la majorité du temps de calcul va être consommé par l'application de calcul auquel il faut communiquer), je voudrais intégrer un serveur web permettant de la configurer, de voir son état.
Donc je me pose la question sur quel serveur web utilisé ? J'en ai repéré plusieurs mais j'avoue que je n'ai pas d'expérience dans le domaine et je suis un peu perdu avec la profusion des solutions (facilité de déploiement, facilité d'intégration, performance ?) :
  • nginx
  • mongoose
  • libmicrohttpd
  • libevent
  • G-WAN
  • NXWEB
  • APACHE
  • code dédié
Quelqu'un aurait-il déjà une expérience dans le domaine ?

2

Je ne connais ni les contraintes spécifiques de ton environnement embarqué ni la moitié des logiciels que tu cites, mais j'ai quand même l'impression qu'ils ne jouent pas dans la même catégorie. Installer un nginx (ou encore pire, un apache) si ton besoin est juste d'exposer une petite poignée de pages me semble overkill. Mongoose, que je ne connaissais pas, semble déjà largement suffisant pour ce que tu veux faire et avoir une taille beaucoup plus raisonnable smile
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

Je n'ai jamais eu aujourd'hui à utiliser autre chose qu'Apache, mais je m'étais un temps renseigné sur un serveur dont le développement semble encore bien actif : lhttpd https://www.lighttpd.net/ ; c'est peut-être une bonne solution. J'imagine que tu vas récupérer les états et faire la configuration via des scripts cgi ? A moins qu'il n'y ait déjà des scripts dans un langage spécifique, auquel cas il faut voir si le serveur le supporte facilement (bien qu'en mode cgi, il puisse tout supporter).
avatar

4

avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

Nil a je pense la bonne solution lighttpd est vraiment très léger sur ce point, sinon quid du module kernel HTTP?

(sinon Evite les lourdeau a la apache/nginx, tu vas y gagner en configurabilité certes, mais perdre beaucoup en légèreté.)

lighttpd a aussi l'avantage de pouvoir supporter des choses types CGI
avatarProud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

6

sans savoir quelles sont tes priorités, ça peut être dur grin
la facilité d'intégration à ton logiciel ? la sécurité ? la légèreté ?
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

7

il y a aussi nodejs qui ne nécessite pas de serveur web en sus devil

(sinon je dirais qu'nginx == lighthttpd <<< apache en terme de lourdeur)

8

1) Ok pour Apache / nginx (de toute façon, je n'y croyais pas spécialement).
2) Par embarqué, j'entends par là que le web serveur est intégré à l’application, pas des contraintes embarqué classiques - taille mémoire, puissance CPU -. Il n'est pas forcément embarqué dans le même processus, juste qu'il doit communiquer avec elle. Ce que je souhaite faire n'est pas différent de ce que les routeurs / serveur NAS font sur leur page web de configuration. Donc en plus, aucune contrainte de performance à avoir pour le serveur web (à part qu'il ne doit pas me ralentir les autres processus de la machine qui vont bien bouffer le CPU).
3) Il faudra bien récupérer les infos / envoyés les infos par CGI si on prend un serveur web classique (c'est une solution).
4) Pour lighttpd, je l'avais déjà vu. Juste oublié dans le post
5) Priorité : 1) facilité d'intégration au logiciel 2) légèreté .... -INFINITY) Sécurité

De ce que j'ai vu, il y a 2 familles:
* les serveurs web complets (apache, nginx, lighttpd, ...) auquel cas on a la contrainte de faire communique le serveur web et l'application par un canal,
* les librairies add-on pour l'appliquation (libmicrohttpd, lib-event, ...) auquel cas, il faut réécrire pas mal de codes pour gérer des trucs basiques.

De ce que j'avais vu, NXWEB avait l'air pas trop mal (un serveur web petit mais complet permettant de fournir toute la partie statique facilement, et une intégration de module qui a l'air très simple) mais la documentation est plutôt limitée (après quelques tutoriaux assez basique, c'est allez voir le code). C'est pourtant celui vers lequel je m'orienterai si je devais choisir maintenant.
sinon quid du module kernel HTTP?
Je ne connais pas. Aurais-tu un lien vers ce module ?

9

et les serveurs web fournis dans un langage de script (je connais Python, mais il y a également Ruby et certainement Perl) ? L'intégration dans ton appli pourrait se faire assez facilement.
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

10

Pourquoi pas Python ? Tu as des exemples ?

11

Le plus simple est flask. Perso je connais surtout Django, mais c'est beaucoup plus lourd.
Après, tu peux utiliser CFFI pour appeler du C, ou tout autre moyen classique pour communiquer avec ton code.
avatar<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

12

Flask fonctionne super bien, et si tu pars sur un coté api je te conseille flask-restplus (qui integre flask-restful mais avec plein de truc en plus genre une generation automatique de fichier pour swagger qui te décrit ton api).

13

PpHd (./8) :
* les librairies add-on pour l'appliquation (libmicrohttpd, lib-event, ...) auquel cas, il faut réécrire pas mal de codes pour gérer des trucs basiques.
Est-ce valable aussi pour QtWebApp (./4)? Si tu cherches qt "http server" dans un moteur de recherche de ton choix, tu en trouveras aussi d'autres comme ça, d'ailleurs. Il n'y a que l'embarras du choix.
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

14

Mon avancement:
Pourquoi n'y-a-t-il pas une page web comparant tous les serveurs facilement ? mourn

15

Bah y'a bien ça mais ça semble bien vide par rapport à la quantité de serveurs qu'il doit exister, toutes platformes confondues :/
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

16

Oui.

17

Une comparaison de nginx / apache / monkey HTTP / lighhttpd sur PI: https://www.jeremymorgan.com/blog/programming/raspberry-pi-web-server-comparison/

Autre chose: quelqu'un a-t-il déjà utilisé cawen en lieu et place de php ? (cf. http://www.greenit.fr/article/logiciels/cawen-109-fois-moins-energivore-que-php-4902 et http://www.melvenn.com/en/cawen/cawen-and-the-web-2/ permettant de comparer apache+php à mongoose/nxweb+cawen )

18