1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    juillet 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2004
    Messages : 7
    Points : 6
    Points
    6

    Par défaut FastCGI : qu'est-ce qui cloche ?

    Bonjour à tous,

    Je porte actuellement un logiciel Delphi utilisant WebBroker vers Lazarus en utilisant fpWeb.

    Ca tourne vraiment super bien et le portage n'a finalement pas été très long.
    Du coup, mon application fonctionne sous Windows, mais possiblement aussi sous Linux :-)

    En revanche, elle ne tourne qu'en mode CGI.
    Dès que je veux la faire tourner en fastcgi, j'ai plein de soucis.
    Je précise que je développe sous Windows, avec apache 2.2 (win32)
    Mes problèmes sont :
    - impossible de récupérer les paramètres (ni POST ni GET)
    - impossible d'avoir les variable HTTP (du type de remote_addr, script_name, ...)

    Est-ce que certains d'entre vous utilise fpWeb sous windows avec Apache ?
    Rencontrez-vous ces problèmes ?
    Est-ce que vous avez en production des applications fastcgi qui tournent bien sous Linux ? sous Windows ?

    Merci de votre aide.

    Serge

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    janvier 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2010
    Messages : 399
    Points : 891
    Points
    891

    Par défaut

    Bon, je ne vais pas pouvoir t'aider beaucoup, mais nous nous sentirons peut-être moins seuls...

    J'ai fait une petite appli CGI qui marche aussi très bien, sur un serveur 64 bits Linux Apache 2, mais je n'ai jamais essayé sur un serveur Windows faute d'en disposer.

    Impossible de la faire fonctionner en FastCGI, les symptômes sont les mêmes que ceux que tu indiques...

    J'ai abandonné depuis environ 6 mois, car elle est finalement étonnamment rapide en CGI, mais si quelqu'un passe ici pour nous expliquer, il sera le bienvenu !!!
    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.

  3. #3
    Membre expert
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    1 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 1 420
    Points : 3 348
    Points
    3 348

    Par défaut

    hello,
    je ne sais pas si cela peut vous aider ou vous servir mais il y a le Brook framework de silvioprog :
    Brook framework is the perfect Free Pascal framework for your web applications. It's pure Pascal. You don't need to leave your preferred programming language.

    It's complete: simple actions or configurable actions for database access, advanced routing features, wizard for Lazarus, support for internationalization, high compatibility with JSON structures, easy and elegant REST implementation, plugins for varied needs, extensible and decoupled brokers... In fact, you have several reasons to adopt Brook as your web development framework.
    On a side effect, it is noted that Brook can run in four modes:
    CGI (with any HTTP server like Apache, nginx etc.);
    FastCGI (with any HTTP server like);
    Stand alone (with embedded server);
    Stand alone service/daemon (with embedded daemon server).
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    mars 2003
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2003
    Messages : 17
    Points : 12
    Points
    12

    Par défaut

    Je vais regarder Brook framework, ça m'a l'air complet.
    Je vais faire quelques tests et posterais mes résultats sur ce thread.

    Merci à vous deux.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    mars 2003
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2003
    Messages : 17
    Points : 12
    Points
    12

    Par défaut

    Bon, Brook framework est 10 fois mieux que fpWeb !

    Ca marche du premier coup.
    De plus, l'architecture générale du framework me semble beaucoup plus propre et robuste.

    Le fastcgi fonctionne bien (testé que sous windows avec apache 2.2)
    Je n'arrive pas (encore) à récupérer path_info, path_translated ni script_filename.
    Il semblerait que le protocol de fastcgi pose un problème avec ces variables serveur.

    C'est un bon début, à suivre ...

    Serge

  6. #6
    Membre confirmé
    Avatar de FOCUS77
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2014
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : août 2014
    Messages : 257
    Points : 465
    Points
    465

    Par défaut

    Bonsoir à tous

    @JP

    Effectivement Brookframework est un gain important pour le développement Web sous lazarus!

    Cependant j'ai quelques remarques.

    1. l'exemple fait à l'adresse: http://silvioprog.github.io/brookframework/

    affiche l'adresse suivante dans le navigateur chrome:

    http://localhost/cgi-bin/cgi1.db mais ce qu'est exécuté chez moi est:

    http://localhost/cgi-bin/cgi1 //cgi1 est placé dans le dossier cgi-bin.

    l’extension n'est donc pas nécessaire.

    2. Je n'ai pas réussi à installer QTemplate, le compilateur indique l'existence d'un bug.
    fig:
    Nom : Qtemp.png
Affichages : 70
Taille : 25,6 Ko

    3. selon le débogage fait par google chrome certains démos comme:
    brookframework-master/demos/db/jtable/index.html requiert un frameWork (Assets) placé dans la racine C:
    nécessaire pour leur fonctionnement
    D’où va t-on télécharger ce dossier?
    fig:
    Nom : brook.png
Affichages : 70
Taille : 24,9 Ko


    merci de votre éclaircissement .

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    mars 2003
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2003
    Messages : 17
    Points : 12
    Points
    12

    Par défaut

    Bonjour,

    Pour le point 1, tu peux/dois fixer le nom du fichier de sortie dans les options du compilateur.
    Dans l'exemple, c'est effectivementcgi1 sans extension.
    Tu peux y mettre l'extension de ton choix.

    Serge

  8. #8
    Membre confirmé
    Avatar de FOCUS77
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2014
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : août 2014
    Messages : 257
    Points : 465
    Points
    465

    Par défaut

    * d'accord pour le premier point c'est clair.

    Si on prend l'exemple:brookframework-master/demos/db/sqlbd.

    c'est un exemple très important, mais il ya beaucoup de questions sans réponses:

    1. l’emplacement de la BDD?

    2. il est mentionné qu'elle est faite avec postgresql, est t-il possible
    de la faire avec firebird.

    3. l'unité 'person' qui fait des MAJ dans la table 'person' comment est-elle reliée au fichier
    'form.html'

    4. quel est le rôle du fichier 'ppas':fichier de commande windows? et comment est-il généré?

    merci de votre réponse.

  9. #9
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    janvier 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2010
    Messages : 399
    Points : 891
    Points
    891

    Par défaut

    Bonjour

    Je peux répondre à tes 2 premières sous-questions, qui auraient pu cependant faire l'objet d'un nouveau sujet.

    Le programme serveur CGI peut certainement se connecter à n'importe quelle base de donnée, ou à n'importe quelle autre source.

    La seule exigence importante est qu'il n'embarque pas des composants visuels ou tente d'interragir avec un écran, de la même manière qu'une application console.

    Pour cette raison, il faut savoir que la bibliothèque ZeosLib ne peut pas malheureusement être utilisée. Il faut employer les composants SqlDb qui sont un peu moins riches et souples.
    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
    Membre averti

    Homme Profil pro
    Rédacteur technique (retraité)
    Inscrit en
    octobre 2009
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique (retraité)

    Informations forums :
    Inscription : octobre 2009
    Messages : 101
    Points : 429
    Points
    429

    Par défaut

    Citation Envoyé par FOCUS77 Voir le message
    ...

    4. quel est le rôle du fichier 'ppas':fichier de commande windows? et comment est-il généré?
    La réponse est dans le User’s Guide for Free Pascal chapitre 5 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    5.1.4 Options controlling the kind of output.
    ...
    -s Do not call the assembler and linker. Instead, the compiler writes a script, PPAS.BAT under DOS,
        or ppas.sh under LINUX, which can then be executed to produce an executable. This can be
        used to speed up the compiling process or to debug the compiler’s output. This option can take
        an extra parameter, mainly used for cross-compilation. It can have one of the following values:
        h Generate script to link on host. The generated script can be run on the compilation platform
           (host platform).
        t Generate script to link on target platform. The generated script can be run on the target
          platform. (where the binary is intended to be run)
        r Skip register allocation phase (optimizations will be disabled)
    ...

  11. #11
    Membre confirmé
    Avatar de FOCUS77
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2014
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : août 2014
    Messages : 257
    Points : 465
    Points
    465

    Par défaut

    Bonjour

    Merci pour vos explications.

    De toutes façons je ne suis pas parvenu encore à utiliser ces démos
    cependant je poursuivrai mes essais.

    Que dois-je dire que le wiki lui même est en évolution et qu'il n'est pas encore achevé?

    Ce mécanisme que propose BrookFramework est relativement nouveau, et AMHA il est préférable de laisser
    cette discussion ouverte en vue de son enrichissement.

    Merci à tous!

Discussions similaires

  1. [XL-2003] Qu'est ce qui cloche ?
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/01/2012, 09h34
  2. Gestion d'événements, qu'est-ce qui cloche ?
    Par Plumb dans le forum Threads & Processus
    Réponses: 2
    Dernier message: 13/07/2010, 19h30
  3. qu'est-ce qui cloche dans ma requete select??
    Par a-chan dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/07/2005, 11h35
  4. qu'est-ce qui cloche dans ma requete?
    Par a-chan dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/06/2005, 09h02
  5. Qu'est qui cloche dans la requete suivante ?
    Par romeo9423 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 08/02/2005, 19h20

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