IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web Perl Discussion :

questions à propos de Perl - scripts cgi


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Par défaut questions à propos de Perl - scripts cgi
    Bonjour,

    J'ai deux questions à propos de Perl :

    - il me semble que c'est un langage loin d'être simple : existe-t-il d'autres langages plus abordables permettant de faire des scripts cgi ? Perl est-il le langage recommandé ?

    - est-il possible qu'un script cgi en Perl appelle une dll en C (la dll fait des calculs et renvoie les résultats au script, qui les transforme en html) ? Sinon est-il possible qu'un executable en C, sur un hebergeur de sites persos internet, ecrive dans un fichier texte + qu'un script Perl aille chercher les résultats dans ce fichier pour les transformer en html ?

    Merci de vos réponses,

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    il me semble que c'est un langage loin d'être simple : existe-t-il d'autres langages plus abordables permettant de faire des scripts cgi ? Perl est-il le langage recommandé ?
    il est simple... mais peux surprendre
    plus abordable pour faire du cgi... le C++ ou le shell

    en fait, tu peux utiliser n'importe quoi pour faire du cgi... alors le plus abordable sera ce que tu connais

    - est-il possible qu'un script cgi en Perl appelle une dll en C (la dll fait des calculs et renvoie les résultats au script, qui les transforme en html) ? Sinon est-il possible qu'un executable en C, sur un hebergeur de sites persos internet, ecrive dans un fichier texte + qu'un script Perl aille chercher les résultats dans ce fichier pour les transformer en html ?
    dll => windows
    ben là je ne peux pas dire... sous unix, tu peux créer des modules c++ puis les utiliser en perl

    hébergeur de sites perso => pas de cgi (enfin à ma connaissance) pour des raisons de sécurité évidentes


    regardes plutôt mod_perl ou php dans ce cas...
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Par défaut
    Merci de tes réponses,
    Je ne savais pas qu'on pouvait faire du cgi avec tous ces langages...

    Sinon il existe bel et bien certains hébergeurs de sites persos qui gèrent le cgi :
    http://l4fh.new.fr

    C'est quoi le mod_perl ? Quels avantages ? Est-ce abordable ou seulement réservé aux programmateurs avancés ?

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Sinon il existe bel et bien certains hébergeurs de sites persos qui gèrent le cgi :
    http://l4fh.new.fr
    cool... je vais m'y remettre alors


    mod_perl c'est pour faire du perl comme on fait du php (en le mélangeant avec le code html...)

    perso, print >> FIN permet de faire la même chose
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par gorgonite
    Sinon il existe bel et bien certains hébergeurs de sites persos qui gèrent le cgi :
    http://l4fh.new.fr
    cool... je vais m'y remettre alors


    mod_perl c'est pour faire du perl comme on fait du php (en le mélangeant avec le code html...)

    perso, print >> FIN permet de faire la même chose
    Pas vraiment... En fait mod_perl intègre juste l'interpréteur Perl à Apache, ce qui donne des performances incomparable au CGI (eh oui, l'inconvénient du CGI c'est que c'est lent, parce qu'il faut lancer un processus pour chaque requête tandis qu'avec une solution comme mod_perl (ou mod_php, mais comme personne n'utilise du PHP en CGI, peu de gens ont conscience de ce fait), Apache a un interpréteur Perl persistant embarqué dans son code et l'utilise pour interpréter tous les scripts Perl). En plus de ça, le fait que l'interpréteur soit embarqué et persistant offre quelques fonctionnalités sympathique pour intégrer du Perl au système d'Apache ou faire persister des variables, mais c'est de l'utilisation avancée : globalement, on peut presque utiliser ses scripts CGI en mod_perl, avec de toutes petites modifications.
    Pour mélanger du Perl à du HTML, il faut utiliser des solutions comme Mason.

    --
    Jedaï

  6. #6
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut Re: questions à propos de Perl - scripts cgi
    Citation Envoyé par jejerome
    Bonjour,

    J'ai deux questions à propos de Perl :

    - il me semble que c'est un langage loin d'être simple : existe-t-il d'autres langages plus abordables permettant de faire des scripts cgi ? Perl est-il le langage recommandé ?
    Perl est un langage assez simple, tant qu'on ne cherche pas à en connaître toutes les subtilités. Pour écrire du CGI et interroger des bases de données, inutile d'être un pro de Perl (fait qu'on peut parfois regretter vu l'horreur que sont certains script Perl CGI...). Un bon point de départ est le Camel Book de chez O'Reilly pour une vue d'ensemble du language, bien que le Lama Book soit peut-être mieux pour une simple introduction. Pour le CGI, l'important est d'éviter le "cargo cult" (autrement dit recopier n'importe comment les bouts de codes trouvé sur internet : ce phénomène, qui n'existe pas qu'en Perl, est une vraie plaie pour la qualité du code), avec le module "CGI", le module "DBI" pour l'interrogation de base de donnée et le pragma "strict", tu auras toutes les bases pour avoir du code propre et fonctionnel en un minimum de ligne (l'emploi de Perl en CGI est vraiment très simple avec ces modules (qui seront en standard sur n'importe quel serveur, ne t'inquiète pas à ce sujet)).
    Es-tu bon en Anglais ? (Qu'on sache où t'orienter pour de la doc ou des tutoriels. Tu peux commencer par la FAQ de Développez.com bien sûr ! )

    Citation Envoyé par jejerome
    - est-il possible qu'un script cgi en Perl appelle une dll en C (la dll fait des calculs et renvoie les résultats au script, qui les transforme en html) ? Sinon est-il possible qu'un executable en C, sur un hebergeur de sites persos internet, ecrive dans un fichier texte + qu'un script Perl aille chercher les résultats dans ce fichier pour les transformer en html ?
    Tu as plusieurs réponses possible à ta question, dépendamment de ce que tu veux vraiment faire : il existe des solutions pour charger des .dll sous Windows, mais n'oublie pas que ton hébergeur n'est pas forcément sous Windows (est-ce le cas ?), les solutions pour les librairies dynamiques Unix sont disponibles également. Plus indirectement, tu peux assez facilement intégrer du code C (ou C++) à un script Perl à l'aide d'Inline::C. Ensuite tu as des solutions plus lourdes mais plus solides/durables qui impliquent de créer une "glue" entre ta bibliothèque et Perl (avec SWIG par exemple). Maintenant si tu nous disait les calculs que tu veux faire en C, il est possible que nous trouvions un module déjà existant qui le fasse pour toi.

    --
    Jedaï

  7. #7
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Par défaut
    Merci de ta réponse, Jedaï,
    En fait les calculs que je veux faire en C ce sont des calculs assez avancés d'optique, de diffusion de la lumière, etc... Ce sont des codes que j'ai écrit il y a qq années, je préparais une thèse en optique des matériaux. (je ne suis pas du tout programmeur à la base !)

    Comment fait-on pour insérer des lignes de code en C dans un CGI en Perl ? Peux-tu m'en dire plus sur la commande Inline ? Est-il possible d'insérer des grandes quantités de code (2000 lignes) ?

    Et sinon, ne serait-il pas plus simple de faire des cgi directement en C++ ?

    Merci de ton aide

  8. #8
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par jejerome
    Merci de ta réponse, Jedaï,
    En fait les calculs que je veux faire en C ce sont des calculs assez avancés d'optique, de diffusion de la lumière, etc... Ce sont des codes que j'ai écrit il y a qq années, je préparais une thèse en optique des matériaux. (je ne suis pas du tout programmeur à la base !)

    Comment fait-on pour insérer des lignes de code en C dans un CGI en Perl ? Peux-tu m'en dire plus sur la commande Inline ? Est-il possible d'insérer des grandes quantités de code (2000 lignes) ?

    Et sinon, ne serait-il pas plus simple de faire des cgi directement en C++ ?

    Merci de ton aide
    Pour quelques exemples d'utilisation de Inline::C, tu peux regarder mes réponses dans ce thread et celui-ci.
    Tu peux aussi regarder la doc de Inline, surtout le Cookbook pour des exemples.

    Pour ce qui est des CGI en C++... Il y a une raison pour laquelle ceux-ci sont affreusement rare sur internet : utiliser du C ou du C++ pour programmer un simple CGI c'est tout de même horriblement lourd !
    Mais j'aimerais bien savoir quel hébergeur tu as finalement choisi, car cela peut avoir son incidence, surtout sous quel système tourne-t-il ?

    --
    Jedaï

  9. #9
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Par défaut
    Bonjour Jedaï,

    Je suis en train de me documenter pour savoir s'il n'y a pas moyen de faire tout cela simplement en PHP ?
    En effet, il semble qu'il soit possible de lancer un executable depuis PHP, et de récupérer les données.
    Le logiciel gnuplot
    http://www.gnuplot.info/
    me permettrait ensuite de générer des graphiques .png ou .gif pour visualiser les résultats du calcul..

    Cela me semble plus adapté que le Perl + script CGI. En effet, mes codes étant en C, il y aurait alors plus de souplesse. Je suis en train de creuser cette piste...

  10. #10
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Tu peux faire exactement la même chose en Perl tu sais ? C'est sûr que c'est plus simple (je parle de la solution de lancer un exécutable externe ici : en Perl ou en PHP la difficulté de mise en place est équivalente), mais c'est plus lent et moins souple.

    --
    Jedaï

  11. #11
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    Mon dieu ! le dernier que j'ai vu faire du CGI en C il avait fait en une page ce qui se fait en 3 lignes de Perl... comme par exemple créer un tableau avec qq éléments et les afficher... M'enfin, Perl n'a pas l'exclusivité du CGI

Discussions similaires

  1. 2 Questions à propos d'un script
    Par L'aigle de Carthage dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 26/03/2008, 16h17
  2. Réponses: 4
    Dernier message: 29/04/2007, 18h51
  3. Réponses: 2
    Dernier message: 17/04/2007, 10h56
  4. [web] afficher le résultat d'un script cgi en perl
    Par Leishmaniose dans le forum Web
    Réponses: 8
    Dernier message: 10/06/2004, 18h36
  5. Réponses: 2
    Dernier message: 19/06/2003, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo