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

Lazarus Pascal Discussion :

Comment compiler un CGI [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre habitué Avatar de Archibald29
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 112
    Points : 131
    Points
    131
    Par défaut Comment compiler un CGI
    Bonjour à tous,

    J'essaye de compiler sur une plateforme ubuntu et à destination d'un site ovh un cgi à partir de lazarus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    program test;
    uses dos;
    begin
      writeln ('Content-Type: text/html');
      writeln ('');
      writeln ('<html><head><title>Test CGI</title></head>');
      writeln ('<body>hello world !!!</body>');
    end.
    Cross-compilé avec FreePascal et les bibliothéques qui vont bien sous Windows ce code s'exécute bien sur mon site ovh.

    Mais j'aimerai directement développer à partir de lazarus pour gagner en efficacité. Y a t il des réglages particuliers à effectuer dans l'éditeur pour obtenir un exécutable cgi vers une plateforme telle qu'ovh ?

    Archibald

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Dans Lazarus même, je ne sais pas, mais tu peux aussi bien installer un serveur Apache et faire une configuration similaire à un hébergeur en local sur ton ordinateur
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Membre habitué Avatar de Archibald29
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 112
    Points : 131
    Points
    131
    Par défaut Site en Local sur Machine Ubuntu
    Oui je te remercie de ta réponse.

    - c'est vrai que j'utilise ovh par facilité parce que dans l'immédiat il est opérationnel et disponible que je sois chez moi ou bien au boulot.
    - et c'est sûr qu'une fois bien configuré pour les développements cgi sous linux je chercherai une solution de test "locale".

    +++
    Archibald

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Archibald29 Voir le message
    Bonjour à tous,

    J'essaye de compiler sur une plateforme ubuntu et à destination d'un site ovh un cgi à partir de lazarus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    program test;
    uses dos;
    begin
      writeln ('Content-Type: text/html');
      writeln ('');
      writeln ('<html><head><title>Test CGI</title></head>');
      writeln ('<body>hello world !!!</body>');
    end.
    Cross-compilé avec FreePascal et les bibliothéques qui vont bien sous Windows ce code s'exécute bien sur mon site ovh.

    Mais j'aimerai directement développer à partir de lazarus pour gagner en efficacité. Y a t il des réglages particuliers à effectuer dans l'éditeur pour obtenir un exécutable cgi vers une plateforme telle qu'ovh ?

    Archibald
    1) pourquoi un USES DOS ?
    2) je ne comprend pas ta question, un CGI n'est rien d'autre qu'une application qui écrit sur la sortie standard le code HTML à retourner au navigateur...de quels réglages parles-tu ?!
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre habitué Avatar de Archibald29
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 112
    Points : 131
    Points
    131
    Par défaut CGI modèle recopié
    Bonjour Paul, merci de ta réponse.

    1 / Le code du programme recopié est un code que j'ai compilé sous windows avec fpc et des bibliothéques cible linux. Ce code s'exécute bien chez mon hébergeur ovh.
    Je l'ai recopié "tel quel" afin d'obtenir dans un premier temps le même résultat avec une compilation lazarus à partir d'ubuntu que celui que j'obtenais sous windows. (j'ai vu une variante avec uses crt en place de uses dos mais je ne voulais pas injecter de variantes sans savoir quelle aurait été leur utilité)

    2 / Ce que j'entends par "réglages" c'est dans l'interface de l'ide Lazarus faut-il par exemple :
    - indiquer "nogui" pour éviter l'emploi de bibliothéques graphiques
    - préciser dans les options du compilateur une plateforme cible
    - ajouter des bibliothéques pour avoir un exécutable d'un type précis.
    (aujourd'hui quand j'appelle ce cgi hebergé chez ovh et compilé sous lazarus sur une machine ubuntu j'obtiens le message : [QUOTEThe server encountered an internal error or misconfiguration and was unable to complete your request.[/QUOTE]

    Archibald

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    alors j'ai peu pratiqué Lazarus/FreePascal mais sou Delphi/Kylix le uses n'est pas nécessaire car le WriteLn envoie les données sur la sortie standard fournie par le serveur web...si tu veux tester localement sans serveur web tu ajoutes {$APPTYPE CONSOLE} sachant que sous Linux cette distinction n'existe pas la console étant toujours disponible.

    maintenant si je comprend bien tu as un serveur WINDOWS chez OVH et tu voudrais développer sous Ubuntu localement. Il faut donc crosscompiler de Linux vers Windows, j'imagine que c'est faisable avec FPC je ne sais pas si Lazarus le propose...à priori oui
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour,

    J'ai, sur mon site OVH, un CGI écrit et compilé avec Lazarus 0.28.2 sous Linux.

    Il n'y a aucun problème particulier, et à mon avis c'est même bien plus simple et naturel que de le faire sous Windows et de cross-compiler vers Linux (et non, l'inverse, Paul).
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  8. #8
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par tintinux Voir le message
    Bonjour,

    J'ai, sur mon site OVH, un CGI écrit et compilé avec Lazarus 0.28.2 sous Linux.

    Il n'y a aucun problème particulier, et à mon avis c'est même bien plus simple et naturel que de le faire sous Windows et de cross-compiler vers Linux (et non, l'inverse, Paul).
    ben moi j'ai compris l'inverse, il aurait un serveur Windows chez OVS (qui propose les deux OS) et un Ubuntu localement...mais je ne trouve pas la question très claire
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  9. #9
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    J'avais cru comprendre que son site OVH était sous Linux, d'après :

    Citation Envoyé par Archibald
    j'ai compilé sous windows avec fpc et des bibliothéques cible linux. Ce code s'exécute bien chez mon hébergeur ovh.
    C'est vrai, Archibald, tu devrais préciser dès le début le système de ton hébergement, puisque OVH offre les deux.
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  10. #10
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par tintinux Voir le message
    J'avais cru comprendre que son site OVH était sous Linux, d'après :



    C'est vrai, Archibald, tu devrais préciser dès le début le système de ton hébergement, puisque OVH offre les deux.
    ah en fait tu as raison, le source crosscompilé windows -> linux fonctionne sur OVH mais le même source compilé sous ubuntu renvoie une erreur sur OVH

    alors mis à part que personnellement je ne mettrais aucun USES je ne vois pas ce qui gène. Lazarus n'est pas supposé ajouter quoi que ce soit vu que le source n'indique rien, et Linux ne fait pas la distinction GUI/CONSOLE comme Windows...donc non je ne vois pas ce qui ne vas pas.

    Est-ce que les deux versions fonctionnent sur ubuntu déjà ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  11. #11
    Membre habitué Avatar de Archibald29
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 112
    Points : 131
    Points
    131
    Par défaut Hébergement Linux chez Ovh
    Bonjour à tous et merci du mal que vous vous donnez.
    Mon hébergement ovh est bien Linux.
    Chez moi je travaille sous windows.
    Je peux cross compiler avec fpc vers linux et faire tourner qq cgi basiques chez ovh.
    Je voudrais pouvoir compiler à partir d'une machine ubuntu ces cgi basiques cette fois écrits avec lazarus pour les faire tourner chez ovh.

    Paul, je ne t'avais pas répondu avant de refaire un essai ovh en supprimant le uses (ça ne marche pas mieux) ; cette fois je vais faire un essai local avant tout.

    Tintinux peux tu me donner quelques conseils de configuration pour une installation opérationnelle ??? (je vais aller explorer ton site).

    Merci à tous deux.
    Archibald

  12. #12
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour,

    Je ne vois pas quel problème de configuration tu pourrais avoir. Si tu as pu cross-compiler et que ça marche, je pense que le même source compilé sous Linux ne devrait poser aucun problème. Tu as sûrement mis la directive use CThreads et rendu ton CGI exécutable.

    Le message d'erreur que tu as à l'appel du CGI (Internal error or...) peut simplement signifier que ton exécutable se plante pour une quelconque raison. Si tu mets tout dans un bloc try..except, et/ou si tu génères (par writeln ou dans un autre fichier log) des traces au fur et à mesure de l'exécution, je pense que tu pourras voir où est le souci exactement.
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  13. #13
    Membre habitué Avatar de Archibald29
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 112
    Points : 131
    Points
    131
    Par défaut Mise en place et tests
    Merci de ta réponse.
    Je n'ai pas mis de uses cThreads en place pour le moment.
    Ni rien tracé...
    Je mets en place et vous tiens au courant.
    +++ Archibald

  14. #14
    Membre habitué Avatar de Archibald29
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 112
    Points : 131
    Points
    131
    Par défaut Mise en place cThreads > OK
    Bonjour à tous,

    La mise en place de l'unité CThreads m'a permis d'obtenir un CGI qui s'éxécute correctement chez ovh. J'en ai profité pour rajouter la gestion des exceptions et une gestion des logs sommaire.
    Merci à tous les contributeurs

    Archibald

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tomcat] Comment compilé
    Par Shaud7 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 20/01/2005, 13h27
  2. Comment compiler un prog Gtk sous Debian ?
    Par GLDavid dans le forum GTK+
    Réponses: 3
    Dernier message: 25/06/2004, 19h49
  3. [CR] Comment compiler un etat ?
    Par glachant dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 20/02/2004, 17h19
  4. Comment compiler un projet en ligne de commande ?
    Par mathieutlse dans le forum EDI
    Réponses: 3
    Dernier message: 11/07/2003, 13h32
  5. Réponses: 2
    Dernier message: 05/12/2002, 16h55

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