[TUTO] Application web dynamique

Proposer ou rechercher un tutoriel concernant le Raspberry Pi

Modérateur : Francois

Répondre
destroyedlolo
Raspinaute
Messages : 1215
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: [TUTO] Application web dynamique

Message par destroyedlolo » ven. 12 oct. 2018 09:49

adelantejm a écrit :
ven. 12 oct. 2018 09:22
Oui pour ouvrir un sujet, mais lequel ?
Mon projet n'a rien de bien innovant. Il correspond à mes besoins et c'est tout.
Ben il est déjà plus avancé que ce que malheureusement ce que nous voyons passer habituellement (sans doute une des raisons pour laquelle je suis moins présent).
Maintenant, je ne suis pas modo, et ce n'est pas mon forum. Cependant, je pense que tu pourrais continuer sur le sujet que tu avais ouvert (le C et le WiFi) soit tout regrouper dans un nouveau sujet dans la catégorie chauffage. M'enfin, je dis ca, hein :)
adelantejm a écrit :
ven. 12 oct. 2018 09:22
Merci pour "shm" cela semble bien correspondre à mes besoins en restant assez simple. La question que je me pose c'est : est-ce que ça fonctionne pour 2 programmes différents?
Comme il s'agit "d'ouverture de fichier" ça devrait ?
Ben ... c'est le but :mrgreen: :mrgreen: Après, comme tu peux le voir dans la doc, il te suffit de mettre les droits qui vont bien si tu souhaites plus de sécurité.
Attention : t'as 2 facons de gérer les shm, soit en mode fichier (open et consort), soit avec mmap(). La seconde étant la plus simple pour ce que tu veux faire.
Mais a nouveau, pense aux acces concurrent : d'ou sémaphore.
adelantejm a écrit :
ven. 12 oct. 2018 09:22
Quant à "boost.asio" c'est surement beaucoup mieux mais il me faudrait des cours particuliers : je comprends vite mais il faut m'expliquer longtemps ...
Heu ... C'est bien quand tu as des projets complexes ou nécessitant des fonctionnalités avancées ... ce qui ne me semble pas le cas ici. Perso, j'évite autant que faire se peu ce genre de librairies C++ car ca fait exploser les temps de compilation (mais bon, on s'en fou un peu vu la puissance de nos machines) et fait des exécutables énormes ...
L'utilisation des sockets n'a rien de compliquée, loin de là, est en standard dans le système sans rien devoir ajouter et surtout, la facon de faire est plus ou moins réutilisable quelque soit le média que tu utilises.
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

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

Re: [TUTO] Application web dynamique

Message par Bud Spencer » ven. 12 oct. 2018 16:12

adelantejm a écrit :
ven. 12 oct. 2018 09:22
Oui pour ouvrir un sujet, mais lequel ?
Mon projet n'a rien de bien innovant. Il correspond à mes besoins et c'est tout.
La seule particularité c'est peut-être de vouloir limiter les outils au C++ et à ses librairies.
Je ne vois pas où est le problème. Tu sais on fait tous des projets qui correspondent a nos besoins.Suffit juste d’ouvrir un post avec l'idée de ton projet dans la rubrique c/c++ .

Comme je suis bonne poire, et pour rester dans le sujet, et que ça peut intéresser d’autres personnes aussi, je vais quand même te faire un petit cadeau.
Voila un petit serveur tcp écrit en javascript pour nodejs et qui permet de faire du multi-client avec un seul process mono-thread et cerise sur le gâteau, il est 100% non bloquant. Ça veut juste dire qu’il ni a aucune question à se poser pour savoir comment échanger entre thread ou process et ça inclut bien entendu toutes les i/o de toutes les fonctions que tu pourrais rajouter dans le programme. Bon ça reste très simpliste comme truc. A chaque fois qu’un client connecté envois quelques chose, le serveur le renvoi à tous les clients (ce qui fait partie des spécificités de tes besoins si je me souviens bien). Je te précise qu’il ni a rien à compiler et que c’est portable tel quel win/linux/mac sans aucune modif.
Tu demanderas à quelqu’un sur le forum c/c++ de t’écrire un truc équivalent uniquement avec les lib standard, comme ça tu pourras vite comparer la quantité de code nécessaire (compte pas trop dessus quand même ;-) )

servertcp.png
servertcp.png (26.58 Kio) Vu 68 fois
Voila, c’est tout. Ca ma pris 10 minutes a peine lancement de l'IDE et postage ici compris. Tu peux utiliser de simples sessions telnet pour t’amuser avec ça et voir ce que ça donne.
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

adelantejm
Messages : 28
Enregistré le : ven. 5 oct. 2018 09:11

Re: [TUTO] Application web dynamique

Message par adelantejm » dim. 14 oct. 2018 18:36

Oui, c'est bluffant ! En plus le langage et assez clair et sans le connaitre on devine grosso modo ce que ça fait.
Du coup j'ai relu ton tuto depuis le début : il faudra que je prenne le temps de faire les exercices ...
Merci pour ce programme, je pense effectivement qu'il va intéresser du monde.
Je continue donc mon projet sur un autre sujet.
JM

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

Re: [TUTO] Application web dynamique

Message par Bud Spencer » lun. 15 oct. 2018 19:56

adelantejm a écrit :
dim. 14 oct. 2018 18:36
Du coup j'ai relu ton tuto depuis le début : il faudra que je prenne le temps de faire les exercices …
Si tu finis par t’intéresser à NodeJS et à JavaScript, je te conseil aussi d’en lire d’autre. Sur ce tuto, j’ai surtout insisté sur l’utilisation de socket.io puisque l’idée de départ était de démontrer qu’une appli web pouvait non seulement être ‘self hosted’ tout en étant dynamique en temps réel pour les clients. Mais il ne faut surtout pas non plus penser que NodeJS ne tourne qu’autour de ça. On peu l’utiliser pour n’importe quel type d’application comme par exemple pour faire simplement un serveur tcp …
adelantejm a écrit :
dim. 14 oct. 2018 18:36
Je continue donc mon projet sur un autre sujet.
C’est le mieux à faire si tu utilises un autre langage. Discuter de c ou de c++ sur ce tuto n’a pas trop d’intérêt et les gens susceptibles de te répondre ne viendront pas chercher tes questions ici. En revanche, si tu te plonges dans le Javascript et dans NodeJS, tes questions y seront les bienvenues et je me ferais un plaisir d’essayer d’y répondre (moi au d’autres personnes d’ailleurs).

Aller comme je suis-là, j’en profite pour ajouter une petite leçon vite fait. Ici pas de serveur web ni de socket.io. Juste une petite appli console qui va chercher des données dans une db mysql. Les modules mysql et readline peuvent être installés en side by side comme tous les autres avec une simple commande npm depuis le dir du script.

Code
cp_code.png
cp_code.png (39.7 Kio) Vu 11 fois
Résult
cp_result.png
cp_result.png (60.07 Kio) Vu 11 fois
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Répondre

Retourner vers « Tutoriels »