JeuWeb - Crée ton jeu par navigateur
Scripts: utiliser un autre langage que PHP? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Scripts: utiliser un autre langage que PHP? (/showthread.php?tid=3688)

Pages : 1 2


Scripts: utiliser un autre langage que PHP? - Feldoran - 18-02-2009

Demande en liaison plus ou moins directe avec mon pb explicité ici:
http://www.jeuweb.org/board/calcul-de-tour-qui-passe-maaaal-t-5249.html

D'une manière plus générale, quand il s'agit d'exécuter des scripts de traitement un peu lourds chez un hébergeur mutualisé, je me demandais ce qu'il était possible de faire pour bénéficier d'une plus grande puissance de calcul.

Il est souvent proposé d'utiliser d'autres langages que le PHP, par exemple C ou Python.
Quel en est l'intérêt? Est-ce ça permet juste d'utiliser une autre syntaxe dans le code de nos pages, ou est-ce qu'on peut mettre en place des scripts plus robustes qui tiendront mieux la charge qu'une page PHP?


RE: Scripts: utiliser un autre langage que PHP? - Mycroft - 18-02-2009

Il faudrait savoir ce qui est coûteux en temps ou processeur dans ton application.

Il semblerait que dans ton cas ce sont les requêtes à la base qui forment le point critique. Si c'est le cas, que ton code soit en python, ou C ne changera pas grand chose.

Si c'est pour un algorithme complexe, en général, on admet que du code compilé est plus rapide que du code interprété. Mais niveau portabilité, ça signifie qu'il faut avoir des droits d'execution sur le serveur ce qui est rarement le cas pour un hébergement mutualisé.

En outre, je suis pas sûr que le python soit nécessairement plus rapide que du php (ou inversement Smile ).


RE: Scripts: utiliser un autre langage que PHP? - Feldoran - 18-02-2009

Ouaip mais est-ce que les pages en PHP n'ont pas des limites, en temps d'exécution ou autre, qui ne seraient pas partagées par d'autres types de scripts?


RE: Scripts: utiliser un autre langage que PHP? - Mycroft - 18-02-2009

(18-02-2009, 05:35 PM)Feldoran a écrit : Ouaip mais est-ce que les pages en PHP n'ont pas des limites, en temps d'exécution ou autre, qui ne seraient pas partagées par d'autres types de scripts?

Le temps maximum d'execution c'est une variable qui sert à configurer l'intepréteur, mais c'est pas une limitation du langage. Si tu as les droits suffisants sur le serveur, tu peux modifier cette limite de temps.

http://de2.php.net/set_time_limit

Je connais pas python donc je ne sais pas si il y a le même genre de limitation, mais ça me paraît bizarre de choisir de changer de langage juste pour ça.

Edit:
Apparament le max_execution_time est infini, si on appelle le script depuis l'interface en ligne de commande.

Donc si tu peux lancer ton script de mise à jour de cette façon (par exemple grâce à un cron), tu n'as pas de limite de temps.
Code :
$> php scriptMAJ.php

sinon faire un
Code :
system('php scriptMaj.php');
doit permettre de contourner la limite. (Les appels system sont pas compté dans le temps d'execution du script).


RE: Scripts: utiliser un autre langage que PHP? - Feldoran - 18-02-2009

Je suis ptet pas très clair parce que justement je ne sais pas exactement ce qu'il est possible de faire auprès d'un mutualisé.
Parfois on peut agir sur le "time_limit", j'ai pu effectivement tester ça.

Mais en fait je cherche sur la piste des scripts compilés justement, et CGI etc.
Et pour les non compilés comme python, je me demande quel intérêt il peut représenter sur un site web si ce n'est pour le changement de syntaxe.

C'est une grosse question ouverte, quoi Smile Peut-on aller plus loin en allant plus voir à côté du PHP ou bien est-ce que ça ne change rien? (et du coup effectivement pas besoin de changer de langage)


RE: Scripts: utiliser un autre langage que PHP? - Allwise - 18-02-2009

Les langages ont leur domaine d'application. Malgré ses défauts et sa relative lenteur, PHP est un langage puissant qui permet de faire à peu près tout ce qu'on veut. Mais par exemple, PHP est n'est pas assez robuste pour créer des applications serveur, il est trop lourd...
Après, vouloir changer de langage de programmation pour résoudre des algorithmes, pourquoi pas, mais je pense que ton problème tient davantage à la logique de ton application.
J'ai jamais utilisé Python donc je vais avoir du mal à en parler Smile Mais apparemment, pour faire des programmes avec une interface graphique c'est top. C'est top aussi pour créer des applications de type client / serveur, et pour faire un jeu en réseau en temps réel.

Mais dans ton cas, que tu bombardes 10 000 requêtes SQL avec PHP, Python ou en C, c'est la même chose. Passer d'un langage à un autre pour faire de simples calculs mathématiques est inutile, vaut mieux que tu trouves une autre solution...
Idéalement, je te conseillerais un serveur dédié, qui te permettrait de t'affranchir des contraintes d'un mutualisé, mais bon on sait tous que c'est pas toujours évident de s'offrir un dédié.


RE: Scripts: utiliser un autre langage que PHP? - Siko - 18-02-2009

Il y a peu de chance pour ce qui te bloquent soit php. Je dirait qu'il y'a 99% de chance pour que tu code pas de la bonnes façon et qu'il y ait moins de 1 % de chance pour que ce soit réellement php qui te bloque.

L'intérêt d'utiliser un autres langage, c'est plutot sur des taches réelement lourdes, comme de l'indexage ou tout sortes de deamon.

Pour un script classique aucun intérêt a passer a un autres langage.


RE: Scripts: utiliser un autre langage que PHP? - gameprog2 - 18-02-2009

Le grand interet de python c'est les animations graphiques avec les API qui vont avec, mais pour le calcul je ne sais pas :/


RE: Scripts: utiliser un autre langage que PHP? - Feldoran - 18-02-2009

Pas de miracle à attendre, donc Big Grin
Ce que vous dites me parait assez logique, j'espérais entendre une solution magique mais on est pas chez Harry Potter, évidemment Wink

Pour mes prochains projets je vais tâcher de gérer mes interactions entre joueurs différemment pour pouvoir faire moins de requêtes, mais sur le jeu que je viens de terminer ça changerait tellement le gameplay que je vais plutôt garder le code tel quel (en optimisant au max) et le limiter à un faible nombre de joueurs.

Merci pour vos réponses, en tout cas.


RE: Scripts: utiliser un autre langage que PHP? - Pampa - 18-02-2009

Surtout que le Pyhton est aussi un langage interprété. =)

Non si tu veux de la vitesse, c'est l'assembleur qu'il te faut. x')