Proposition domotique Arduino sans shield Ethernet

osaka:
Oui bien d'accord mais voilà php en lui même est incapable de le faire naturellement, ce n'est qu'un langage interprété et on en reviens toujours au même point, passer par des intermédiaires dont on ne peux maîtriser l’intégralité, chipotages, unix, etc, et pour finir on ce retrouve toujours avec pas mal de restrictions donc pas moyen de faire du multi process en toute "simplicité" ...
Pour moi php est seulement bon à jouer avec les chaines de caractères et faire des taches simple, étant un langage interprété c'est loin d'être optimal pour le reste, regarde les difficultés qu'on a eu pour avoir quelque chose de correcte avec les sockets dans nos projets (websocket, firmata, ...) =( .

Tu te met le doigt dans l'œil jusqu'au coude, je peut te le garantir :wink:

PHP est naturellement POSIX sur les systèmes POSIX ...

Il n'est pas possible de rendre un systéme d'exploitation tel que windows POSIX juste pour PHP !

Depuis PHP 5 avec le Zend Engine 2, PHP est devenu un langage semi-compilé.

Comme pour les programmes java, les programmes PHP sont compilé en bytecode, mis en cache, puis lors d'un appel au script c'est la version pré-compilé qui est exécuté.
cf : http://fr2.php.net/manual/en/internals2.opcodes.php

La méthode de conception d'un programme multi-thread en PHP ou en POSIX est strictement identique.

Tu prend un programme posix, tu change les fonctions par leur équivalent PHP posix_xxx et ça fera exactement pareil.
De plus PHP peut tourner en ligne de commande (donc par forcément en mode "web"), et ça puissance d'optimisation en fait un des meilleurs langage de script possible (d'un point de vue performance PHP est très supérieur à python (même si je suis en grand fan de python je ne peut que le constater)).

Si tu vois PHP comme du langage BASH linux qui ne fait que manipuler des chaines de caractéres c'est bien dommage.

Si tu avais une vue plus en profondeur des fonctions du moteur PHP tu serais surpris de voir qu'il est possible de faire des scripts PHP au capacités équivalente (voir supérieur) à un "vrai" programme C/C++, mais au lieu d'avoir +5000 lignes de code tu en aurais quelques 100aine optimisé à mort par le moteur PHP.

PHP 5.4 + mode CLI (ligne de commande) + POSIX = un programme en console unix tout ce qui as de plus classique.
La différence : en programmation C/C++ tu aurais pondu des centaines de lignes de code, inclut des dizaines de librairies, alors qu'en PHP il y aurai une fonctions de base pour cela.
Et comme les extensions PHP sont en langage natif (c/c++) les performances ne sont que trés peu diminué.
Seul point faible de PHP en CLI : pas d'interface graphique de base (comme python) mais des barbu du monde du manchot on portaient GTK en extension PHP.

C'est vrai, sauf que lorsque j'ai codé EthFirmata et ArduinoRPC je n'était pas en IUT informatique. Je n'avais pas suivi des cours de programmation systéme (posix / linux bas niveau), de réseau (socket / protocole IP), ... :wink:

Je suis sur que si je me replonge aujourd'hui dans mon code, l'erreur qui bloquait tout me sauterai au yeux (et la probabilité d'un ctrl+A supprimer serait de ~99%).

.. là je crois qu'on s'éloignent sérieusement du sujet de départ :sweat_smile: