bonjour ...

voila : je travail sur des etats (les etats d'impression) sous windows avec crystal report...
maintenant je dois travailler 1 partie de mon programme en PHP , sous 1 serveur linux , donc je ne peut pas utiliser crystal report ...
on ma dit qu'il ya possibilité de travailler les etats par xml avec en mise en forme XSLT puis le générer par PHP ...
le probléme c'est que je n'ai jamais travailler avec xml ni xslt ...

Smiley rolleyes

et j'ai besoin de votre aide Smiley confused :
---> 1 script en php qui fait des etats en pdf (en incluant les groupements...)
---> ou bien me donner 1 exemple d'utilisation de xml-->xslt--->php
---> ou bien aidez moi tout simplement Smiley bawling

Merci d'avance

amicalement identifiante Smiley smile
Bonjour,

Travailler des états d'impression m'est aussi familier que l'ébranchage de palétuviers, mais je vais essayer de défricher le terrain à l'aide de quelques questions.

Tu dis que tu dois travailler tes états d'impression sous Linux. Cela signifie-t-il que ces états seront générés sous Linux (auquel cas ils seront (de mémoire!) donnés par un lpstat -t), ou bien que tu devras te contenter de les travailler sur ce système?

Dans les deux cas, une fois que tu as l'état sous la forme d'un fichier ou bien de la sortie à la volée d'une commande, je ne vois pas de difficulté particulière à créer un pdf avec un traitement PHP. À condition de manipuler correctement tes chaînes pour en extraire les informations, tu peux utiliser les fonctions PDF de PHP pour produire un fichier PDF.

Je ne vois pas l'intérêt de faire un détour par XML pour cela (à moins que ma réponse ne soit complètement à côté de la plaque, ce qui est fort possible Smiley sweatdrop ).
Modifié par Gilles (28 Sep 2007 - 12:46)
non je voulais dire par travailler sous linux que mes etats+la base je dois les poser sur 1 serveur linux ,
+ je doit travailler avec le PHP donc pas de crystal report (sauff si vous connaissez 1 autre outil ... car crystal report c'est 1 produit windows ...)

pour le pdf & php j'ai déja essayer ... pour les etats simples c'est bien,mais pour les etats compliquées (avec bcp de groupement) ca demande bcp de travail et je n'arrive pas à trouver 1 logique pour mon code , 1 logique qui sois pratique (si vous avez 1 code souce exemple ou 1 idée je vous serais trés reconnaissante ^^ )

et merci pour votre réponse ^^
Modifié par identifiante (28 Sep 2007 - 13:07)
D'accord, je comprends mieux.

XML est un format de stockage de données. Donc il me semble que la solution qui vous a été suggérée est un peu trop compliquée (elle requiert deux, voire trois transformations de vos données pour produire le PDF final: état vers XML, puis transformation XSL, puis production du PDF). Mais en fonction de la forme sous laquelle sont stockés vos états, il est possible -simplement possible- que ce soit en fait la manière la plus efficace de procéder.

Vos états sont stockés sous quelle forme? Un fichier texte sans aucune fioriture (à la manière d'un log?), ou bien y-a-t-il déjà un semblant de structure? Et j'ai la même question à propos de la base: sous quelle forme est-elle?

J'entrevois les possibilités suivantes...
# si vous pouvez faire un pré-traitement sous Windows avec Crystal report à partir de votre fichier initial, qui exporte les données en XML, alors envoyez le fichier XML sur le serveur Linux, puis traitez-le en PHP pour en faire votre PDF
# sinon vous pouvez traiter directement le fichier des états et la base avec PHP pour en faire le PDF (c'est de la simple lecture de fichier, plus un traitement de mise en forme).

Pour la seconde solution, si le fichier initial est vraiment, vraiment en désordre, alors vous pouvez tenter d'insérer un prétraitement qui le mettrait sous un format plus facile à analyser pour un script (par exemple XML). Cela a pour avantage de séparer la partie "traitement du fichier brut" de la partie "génération de la sortie" en insérant entre les deux étapes un fichier de données structurées. À terme, cela vous donne la possibilité de produire d'autres sorties à partir du même fichier XML, sans avoir à vous retaper l'écriture du traitement et de l'analyse initiale du fichier brut.
Mais là-dedans, je ne vois pas clairement de XSLT poindre le bout de son nez...
ae pardon je ne voulais pas dire stocker les etats sur le serveur( je me suis allée sur l'autre partie de l'application : celle développer en vb ... de poser les etats sur la racine de chaque pc... bon oubliez cela Smiley lol ...)

pour la base c en mysql
pour les etats finales je les veux en pdf ---> 1 fois l'utilisateur click sur le bouton imprimer le fichier pdf apparait

a écrit :
Pour la seconde solution, si le fichier initial est vraiment, vraiment en désordre, alors vous pouvez tenter d'insérer un prétraitement qui le mettrait sous un format plus facile à analyser pour un script (par exemple XML). Cela a pour avantage de séparer la partie "traitement du fichier brut" de la partie "génération de la sortie" en insérant entre les deux étapes un fichier de données structurées. À terme, cela vous donne la possibilité de produire d'autres sorties à partir du même fichier XML, sans avoir à vous retaper l'écriture du traitement et de l'analyse initiale du fichier brut.


là je n'ai rien compris , je vien de débutter en xml Smiley confused

---> pour l'idée de les faires directement en PHP je trouve le probléme au niveau des groupement /entéte/total surtout lorsque il ya trop de groupements ... Smiley decu Smiley confus


sinon si vous connaissez 1 outil de reporting autre que crystal report , qui peut convenir à mon probléme ... Smiley rolleyes
Modifié par identifiante (28 Sep 2007 - 14:27)
Donc, toujours pour défricher le sujet, les états sont présents sur une machine 1 sous Windows. Le traitement doit être effectué sur une machine B qui est sous Linux. La base est en MySQL (sur quelle machine?). Mais au juste, combien avez-vous de fichiers (parce que je n'ai toujours pas d'image claire de l'ensemble Smiley cligne )?

Pour illustrer ma suggestion: imaginez par exemple un fichier avec des lignes et des suites de chaînes alphanumériques sans structure. Si vous voulez traiter ce genre de fichier, vous êtes obligée de passer par un code PHP qui essaiera de reconstruire une structure à partir de ces données, puis transformera cette structure pour produire un fichier PDF.
Vous pouvez transformer ce fichier initial en fichier XML (j'explique en résumé les bases de XML sur mon site). Ainsi, vous avez deux codes qui se passent le relais: un premier (brut2xml.php) transforme le fichier initial en fichier XML plus facile à analyser, et le second transforme ce fichier XML en un fichier PDF (xml2pdf.php). Si un jour vous voulez produire une sortie HTML, il vous suffira d'appeler un autre script qui n'aura plus qu'à travailler à partir du fichier XML (qui s'appellerait xml2html.php). Vous n'aurez pas à réécrire toute la partie analyse du fichier brut, mais simplement à vous concentrer sur le traitement du fichier XML (et analyser un fichier XML est beaucoup, beaucoup plus facile qu'analyser un fichier non structuré Smiley cligne ).
ok merci je vais essayer la suggestion mais pour cela il faut que je m'entraine 1 peu a l'xml Smiley lol ... je crois que je dois passer par ton site il me parais super Smiley ravi


---> pour + expliquer mon cas : j'ai 1 application qui est divisée en 2 parites ,
la 1ére en poste fixe ( l'exe+les etats sur le poste {windows} et la base sur 1 serveur {linux}) ...
la 2éme partie sera en intranet {programmée en php} et le tout dois etre installé sur le serveur ...
pour la premiére partie c bien , mais pour la 2éme partie j'ai le probléme au niveau des etats ...
bon j'espér mntnt que c claire Smiley cligne
Modifié par identifiante (28 Sep 2007 - 14:52)
Aaaah... donc il te faut aussi trouver un moyen pour que ton script PHP trouve les états sur la machine Windows Smiley sweatdrop . Ça, cela dépasse mes compétences. Un moyen (simple?) serait que ton appli sous Windows dépose les états sous la forme d'un fichier sur le serveur sur laquelle tourne ton PHP. Après, c'est du traitement de fichier par PHP...
non c pas possible car nous envisageons faire 1 autre partie WEB (sur internet) destinnée aux clients ---> donc l'idée de chercher la machine ne sera pas faisable Smiley ravi en + je crois qu'il nya pas de fonctions COM de PHP pour le faire marcher avec crystal report

donc je suis obligée de trouver 1 solution en php Smiley rolleyes
Modifié par identifiante (28 Sep 2007 - 16:17)