compiler plusieurs pages

compiler plusieurs pages - PHP - Programmation

Marsh Posté le 23-09-2007 à 22:06:24    

Bonjour,
 
Sur mon serveur il y a 6 pages en php  exécutées depuis le navigateur internet exploreur avec un rafraîchissement de 10 secondes. Chacune d’entre elle a pour but bien précis de faire des opérations selon les conditions demandées depuis une table Mysql
 
Il m’est absolument impossible pour des raisons bien particulières d’en faire qu’une page !
 
 
je n'aime pas trop d'avoir en permanance ces 6 pages ouvertes
Existe-t-il un programme pour compiler ces 6 pages ? Que faire ?
 
Merci d’avance

Reply

Marsh Posté le 23-09-2007 à 22:06:24   

Reply

Marsh Posté le 23-09-2007 à 23:44:21    

le mot compilation et PHP ne vont pas ensemble. PHP ne se compile pas. C'est un language interprété (je crois)
 
Pour info, php se lance sur un serveur web avec un navugateur mais aussi en ligne de commande. Et c'est ca qu'il te faut.
 
pour executer un script php, tu lance simplement  
php monfichier.php
 
Sous windows, il faut que tu rajoutes .exe apres php :D

Reply

Marsh Posté le 23-09-2007 à 23:52:02    

Tu dis

Citation :


Il m’est absolument impossible pour des raisons bien particulières d’en faire qu’une page !  


 
puis

Citation :


Existe-t-il un programme pour compiler ces 6 pages ? Que faire ?


 
Permets moi d'émettre un doute sur le fait que tu pourrais pas faire autrement qu'un vilain refresh à temps fixe sans être sur à 100% que l'opération précédente est finie...
 
Je suis pas non plus sûr que tu ais bien compris le principe de php, le principe client/serveur, le protocole http, bref tous les prérequis pour parler de compilation de script php :o
 
 
Donc sois tu en dis plus, ou si tu penses que ça doit rester secret et bien tu te dé...
 
Donc le résumé des actions des 6 pages, le lien entre elle (apparment y'en a pas d'autres que l'ordre d'éxécution :??: Paramètres passés via session :??: Autre chose :??: )
 
La liste des raisons particulière m'intéresse aussi ;)
 
Petite remarque HS: pourquoi parler de IE en particulier :??: Tu accèdes à ton script via un navigateur si c'est en http :spamafote:

Reply

Marsh Posté le 24-09-2007 à 00:32:57    

include('page1.php');
include('page2.php');
etc
 
ou alors j'ai pas compris

Reply

Marsh Posté le 24-09-2007 à 12:10:16    

cron + wget ?

Reply

Marsh Posté le 24-09-2007 à 12:47:46    

weed a écrit :

le mot compilation et PHP ne vont pas ensemble. PHP ne se compile pas. C'est un language interprété (je crois)
 
Pour info, php se lance sur un serveur web avec un navugateur mais aussi en ligne de commande. Et c'est ca qu'il te faut.
 
pour executer un script php, tu lance simplement  
php monfichier.php
 
Sous windows, il faut que tu rajoutes .exe apres php :D


Installer php-cli.
Sous windows, ajouter le répertoir de php au PATH et pas besoin du .exe.
 
Mais je plussoie la soluce du cron + wget
C'est, vraissemblablement, la plus appropriée.
 
Après... Ba... En l'absence de plus d'infos, il est difficile de répondre.
 
Et puis PHP ça se compile.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 24-09-2007 à 13:19:00    

dwogsi a écrit :


Installer php-cli.
Sous windows, ajouter le répertoir de php au PATH et pas besoin du .exe.
 
Mais je plussoie la soluce du cron + wget
C'est, vraissemblablement, la plus appropriée.
 
Après... Ba... En l'absence de plus d'infos, il est difficile de répondre.
 
Et puis PHP ça se compile.


pour en faire une page html ?

Reply

Marsh Posté le 24-09-2007 à 13:58:06    

dwogsi a écrit :

Et puis PHP ça se compile.


ouais bof :o
Même si il existe bien un compilateur bytecode pour php, la plupart des "choses" appelés "compilateurs" pour php sont en fait des optimiseurs ( genre Zend).
 
Note: je suis pas un expert en compilation, c'était juste mon point de vue :)

Reply

Marsh Posté le 24-09-2007 à 14:17:33    

dwogsi a écrit :


Installer php-cli.
Sous windows, ajouter le répertoir de php au PATH et pas besoin du .exe.
 
Mais je plussoie la soluce du cron + wget
C'est, vraissemblablement, la plus appropriée.
 
Après... Ba... En l'absence de plus d'infos, il est difficile de répondre.
 
Et puis PHP ça se compile.


 
 
En effet la solution de wget serait une solution pour aller automatiquement sur des sites en passant en parametres des POST, des GET, des COOKIES.
 
mais par contre, je reste persuadé que sous Windows, il faut utiliser une exe meme si tu le rajoute dans le path.

Reply

Marsh Posté le 24-09-2007 à 14:18:16    

giHefca a écrit :


pour en faire une page html ?


[:w3c compliant]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 24-09-2007 à 14:18:16   

Reply

Marsh Posté le 24-09-2007 à 15:27:59    

giHefca a écrit :

pour en faire une page html ?


Pourquoi pas, la sortie elle va où on veut!
 

anapajari a écrit :


ouais bof :o
Même si il existe bien un compilateur bytecode pour php, la plupart des "choses" appelés "compilateurs" pour php sont en fait des optimiseurs ( genre Zend).
 
Note: je suis pas un expert en compilation, c'était juste mon point de vue :)


J'ai vu plein de solutions de compilations pour PHP, les meilleurs ne sont effectivement que des solutions d'optimisation pour pallier aux problèmes de lenteur de PHP. Dans les pires, j'avais vu un compilateur qui embarquait l'interprêteur PHP dans le binaire ainsi généré. Pour l'optimisation là c'est rappé.
 
Sinon je dis que PHP ça se compile, c'est juste à savoir pour la culture générale.
Parce que franchement, quitte à utiliser un langage compilé, autant choisir autre chose que du PHP.
 

weed a écrit :

En effet la solution de wget serait une solution pour aller automatiquement sur des sites en passant en parametres des POST, des GET, des COOKIES.
 
mais par contre, je reste persuadé que sous Windows, il faut utiliser une exe meme si tu le rajoute dans le path.


Je parle de la chaîne ".exe" qui est optionnelle en ligne de commande sous windows pour appeler un binaire.
Le binaire lui n'est pas optionnel, c'est évident.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 24-09-2007 à 16:50:26    

dwogsi a écrit :


Pourquoi pas, la sortie elle va où on veut!
 


 

dwogsi a écrit :


J'ai vu plein de solutions de compilations pour PHP, les meilleurs ne sont effectivement que des solutions d'optimisation pour pallier aux problèmes de lenteur de PHP. Dans les pires, j'avais vu un compilateur qui embarquait l'interprêteur PHP dans le binaire ainsi généré. Pour l'optimisation là c'est rappé.
 
Sinon je dis que PHP ça se compile, c'est juste à savoir pour la culture générale.
Parce que franchement, quitte à utiliser un langage compilé, autant choisir autre chose que du PHP.
 


 

dwogsi a écrit :


Je parle de la chaîne ".exe" qui est optionnelle en ligne de commande sous windows pour appeler un binaire.
Le binaire lui n'est pas optionnel, c'est évident.


 
 
 
Voila pour info:
 
Chaque page à une action particulière c'est-à-dire qu’elles impriment des factures automatiquement sur une page A4 avec BVR.
 
Elles sont des conditions qui interrogent une BD sql  
 
Si la condition est bonne j’ai fait une include qui va chercher une page avec tous ce qu’il faut pour imprimer
 
Salutations

Reply

Marsh Posté le 24-09-2007 à 17:12:04    

Bouge pas, je vais chercher ma boule de crystal et je vois si ont peut compiler tout ça.

Citation :

Elles sont des conditions qui interrogent une BD sql


 :pt1cable:

 

Edit :
Bon, de toute façon avec le peu d'informations que tu nous donnes, je pense qu'on ne peut que te conseiller la solution de cron+wget.
Ou de la tâche planifiée sous windows (ce qui revient exactement à la même chose) utilisant une appli équivalente à wget.
Parce que le refresh au moyen d'un navigateur (j'imagine fait avec du js) c'est un peux risqué. Une erreur de chargement et c'est mort.

 

Sinon, si vraiment tu te fou complètement de faire des choses dégeux, tu peux te faire une page avec 6 frames, contennant chacune une de tes pages.
Mais là, je tiens à insister sur le fait que je trouve ça un peut stupide étant donné qu'il existe des solutions biens plus fiables et plus "propres".

 

Et puis je pense aussi que tes 6 pages pourraient très certainement n'en faire qu'une. Suffit d'organniser les choses correctement. Je vois vraiment peu de cas très spécifiques ou il ne serait pas possible de tout rassembler. Cela-dit, et sans le code ou des infos plus pertinente, on ne peut pas te conseiller d'avantage.

Message cité 1 fois
Message édité par dwogsi le 24-09-2007 à 22:12:17

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 24-09-2007 à 20:53:10    

dwogsi a écrit :

Bouge pas, je vais chercher ma boule de crystal et je vois si ont peut compiler tout ça.

Citation :

Elles sont des conditions qui interrogent une BD sql


 :pt1cable:  
 
Edit :
Bon, de toute façon avec le peu d'informations que tu nous donnes, je pense qu'on ne peut que te conseiller la solution de cron+wget.
Ou de la tâche planifiée sous windows (ce qui revient exactement à la même chose) utilisant une appli équivalente à wget.
Parce que le refresh au moyen d'un navigateur (j'imagine fait avec du js) c'est un peux risqué. Une erreur de chargement et c'est mort.
 
Sinon, si vraiment tu te fou complètement de faire des choses dégeux, tu peux te faire une page avec 6 frames, contennant chacune une de tes pages.
Mais là, je tiens à insister sur le fait que je trouve ça un peut stupide étant donné qu'il existe des solutions biens plus fiables et plus "propres".
 
Et puis je pense aussi que tes 6 pages pourraient très certainement n'en faire qu'une. Suffit d'organniser les choses correctement. Je vois vraiment peu de cas très spécifiques ou il ne serait pas possible de tout rassembler. Cela-dit, et sans le code ou des infos plus pertinente, on ne peut pas en te conseiller d'avantage.


 
Merci pour ton conseil, je me suis bien marré ton argument est quand même super drôle! ok pour les iframes c'est pas possible j'ai déjà testé.
 
 
Je vais bien entendu me penché sur la solution d’en faire de  ces 6 pages qu’une seul.
 
Merci à tous le monde d’avoir gentiment répondu à ce message.
 
Salutations
 
 
 
 

Reply

Marsh Posté le 24-09-2007 à 22:19:02    

Le rôle de tes 6 pages :??:
 
On sait maintenant que y'a une histoire de génération de document, qui d'ailleurs n'est pas obligé d'être affiché pour être imprimé, mais le reste :??:
 
Dans quel contexte fais tu ces impressions, sur une action humaine, généré tout seul en fond... ?
 
Est ce que l'impression doit être instantanée?
 
Je confirme ce que je disais et que pense les autres, je vois pas pourquoi tu pourrais pas faire tout ça en un seul coup, si tout est bien pensé et assemblé correctement (ce qui permet d'ailleurs de faire faire de l'abstraction et donc de la réutilisabilité au passage :) )
 
Sinon une idée, si tu as la main sur le serveur, ce que j'ai l'impression est le cas, pourquoi ne pas faire un dépôt avec un script en tâche de fond qui vient ramasser, imprime et fait ce qu'il y a à faire :??:
 
Quand tu dis bvr c'est bulletin de versement avec référence :??: C'est enregistrer les infos sur le site qui gère le truc que t'as tes 6 pages? Si c'est ça, utilises curl pour faire tes requêtes sur le ou les sites, le ou les pages du site, et tu pourras le faire en un coup (en gérant les erreurs hein).
 

Reply

Marsh Posté le 25-09-2007 à 14:45:40    

Pour info, php, ça peut se compiler en exe :
http://www.bambalam.se/bamcompile/
http://krakjoe.com/projects/phpCompile-Beta
 
On peut même faire des IHM fenêtrées pour windows via WinBinder ;)

Reply

Marsh Posté le 25-09-2007 à 14:48:03    

Et bien je ne savais pas du tout. Merci pour les doc rufo.

Reply

Marsh Posté le 25-09-2007 à 15:09:11    

tiens, encore un autre que je viens de découvrir aujourd'hui : http://wiki.swiftlytilting.com/Phc-win
 
J'en profite pour poser une question : y'en a qui ont réussi à compiler en .exe des scripts php5? J'ai bien réussi avec du php4, mais pas du php 5:( Pourtant, phpCompile-Beta  est sensé le supporter mais ça merdouille...

Reply

Marsh Posté le 25-09-2007 à 15:54:57    

Pourquoi chercher à faire des exe avec php?
Autre but qu'expérimental?!


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 25-09-2007 à 16:40:25    

c'est bon, j'ai réussi à compiler un ensemble de scripts php5 avec phpCompile-Beta :) Par contre, le temps d'exécution n'est pas diminué :(
 
dwogsi, il peut y avoir plusieurs raisons de vouloir compiler en exe du php :
- si le compilo le permet, améliorer le temps d'exécution
- pouvoir utiliser une lib qui n'existe pas ou qui est de moins bonne qualité dans un autre langage et ça serait trop long de la porter
- protéger le code source d'une appli php
- si on ne connaît que le php et pas d'autre langage, pouvoir développer des applis windows graphique.
- autre?
 
Dans mon cas, c'était pour les 2 premières raisons. J'ai une SVD (singular value decomposition) à calculer sur une matrice de 2500x2500 et mon script php a mis 2j pour me cracher le résultat :/ J'ai bien trouvé un programme en c qui me fait la même chose mais le résultat est de moins bonne qualité (numériquement parlant, le résultat est plus instable qu'avec ma lib php). Par contre, il est beaucoup plus rapide (sur le même cpu -> 5h environ). Pourtant, les 2 libs partent du même algo implémenté dans la célèbre lib de calcul Lapack (Fortran 77).

Reply

Marsh Posté le 25-09-2007 à 17:00:39    

rufo a écrit :

- si le compilo le permet, améliorer le temps d'exécution


Là faut bien choisir son compilo, parce que beaucoup ne sont que des choses destinnées à faire un binaire, pas plus rapide.

rufo a écrit :

- si on ne connaît que le php et pas d'autre langage, pouvoir développer des applis windows graphique.


Très franchement là... Mieux vaut quand même apprendre un autre langage.

 

Sinon je ne disais pas que c'était forcément une mauvaise idée que de compiler du php, j'ai juste du mal à voir dans quel cas ce peut être vraiment utile.


Message édité par dwogsi le 25-09-2007 à 17:15:46

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 25-09-2007 à 17:20:46    

comme je le disais, dans le cas d'utiliser une lib et éviter de la porter vers un autre langage. Des lib bien spécifiques (calcul, par ex).

Reply

Marsh Posté le 25-09-2007 à 17:37:23    

rufo > C'est moi où ton utilisation des "compilateurs php" reviennent juste à faire un .bat qui lance php.exe avec le fichier php principal en paramètre?
Bon, c'est vrai qu'il est plus facile de copier un fichier que deux répertoires (celui de php et celui du script à faire tourner)

Reply

Marsh Posté le 25-09-2007 à 18:34:12    

non, ça compile réellement en opcode php et ça met tout ça dans un exe qui est alors complètement autonome (plus besoin de php.exe) ;)

Reply

Marsh Posté le 25-09-2007 à 18:45:46    

ouai ca a l'air d'etre vraiment sympa ton truc si l'on veut faire quelques chose de propre et de rapide ...

Reply

Marsh Posté le 26-09-2007 à 09:17:47    

rufo a écrit :

http://krakjoe.com/projects/phpCompile-Beta
 
On peut même faire des IHM fenêtrées pour windows via WinBinder ;)


 

rufo a écrit :

non, ça compile réellement en opcode php et ça met tout ça dans un exe qui est alors complètement autonome (plus besoin de php.exe) ;)


Euh pas vraiment :)


lui par exemple, compile que dalle :o d'ailleurs c'est marqué sur la page

Citation :

It's NOT really a compiler in the sense that it doesn't produce native machine code from PHP sources, but it works!


c'estr plus un embeddeur (je sens que j'invente un mot) qu'un compileur


lui se sert de la librairie de compilation bytecode que j'évoquais un peu plus tot. Par contre si j'ai bien compris ça ne peut compiler que pour windows right?

Reply

Marsh Posté le 26-09-2007 à 10:50:27    

tout à fait, ça marche que pour windows. C'est vrai que certains "compilateurs" sont plus des packagers permettant de se passer du php.exe.


Message édité par rufo le 26-09-2007 à 10:50:46
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed