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

C Discussion :

Créer un CGI avec C [Débutant(e)]


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Par défaut Créer un CGI avec C
    Bonjour,
    Voilà je suis débutant, mais j'ai des bases de C, et je suis à la recherche d'un tuto pour créer un CGI avec le langage C. Ou plus simplement un exemple de formulaire et du code C du programme qui lui est lié.
    Merci de votre réponse!

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Ryuuku Voir le message
    Voilà je suis débutant, mais j'ai des bases de C, et je suis à la recherche d'un tuto pour créer un CGI avec le langage C. Ou plus simplement un exemple de formulaire et du code C du programme qui lui est lié.
    On peut faire beaucoup de choses en C... Ce que tu cherches, c'est une description du protocole CGI que tu pourrais implémenter en C...

    http://www.ietf.org/rfc/rfc3875

    Ce n'est pas une question sur le langage C.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Par défaut
    Non ce que je cherche c'est surtout des exemples de programmes C réalisé dans l'optique d'un GDI c'est tout.

  4. #4
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Salut,

    Je suis justement specialiste des CGI en C, malheureusement j'ai pas trop le temps et je connais pas de tuto là dessus (faut dire que cette technologie est clairement à l'abandon car n'a pas grand chose d'interessant).
    Le cgi sont des programmes comme les autres executés par le serveur web quand on demande la page correspondante et leur sortie standard est envoyée au navigateur.
    Ce que doit faire le cgi egalement c'est terminer la liste des headers http (avec une ligne vide). Typiquement on en profite pour ajouter le header "Content-type". Si le programme n'envoie pas la fin des headers http (par exemple si il plante avant, ou n'affiche rien), il y a "internal serveur error" (erreur 500).

    Pour la recuperation des donnees du formulaire ou les cookies, il n'y a pas de moyen tout pret pour les obtenir.
    Pour les paramètres GET, le serveur web positionne la variable d'environnement "QUERY_STRING" (ce qu'il ya derriere le point d'interrogation) qu'on peut recuperer avec un getenv(). Cette query string est au format "url encoded" et il faut la parser pour construire une sorte de liste de paramètres tout en "unescapant" les "%xx" et les "+". Ce n'est pas trivial si on est debutant en C.
    Pour les données POST, elles sont envoyées sur l'entrée standard et les paramètres sont aussi au format "url encoded" (à part specification d'un autre format avec l'attribut "enctype" du <form>).

    Cependant il semblerait qu'une bibliotheque fournie par apache permette de récuperer les paramètres dans un cgi, je n'ai jamais essayé. Voici un morceau de la doc
    http://httpd.apache.org/apreq/docs/l..._param_8h.html

  5. #5
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Par défaut
    Citation Envoyé par Gruik Voir le message
    Salut,

    Je suis justement specialiste des CGI en C, malheureusement j'ai pas trop le temps et je connais pas de tuto là dessus (faut dire que cette technologie est clairement à l'abandon car n'a pas grand chose d'interessant).
    Le cgi sont des programmes comme les autres executés par le serveur web quand on demande la page correspondante et leur sortie standard est envoyée au navigateur.
    Ce que doit faire le cgi egalement c'est terminer la liste des headers http (avec une ligne vide). Typiquement on en profite pour ajouter le header "Content-type". Si le programme n'envoie pas la fin des headers http (par exemple si il plante avant, ou n'affiche rien), il y a "internal serveur error" (erreur 500).

    Pour la recuperation des donnees du formulaire ou les cookies, il n'y a pas de moyen tout pret pour les obtenir.
    Pour les paramètres GET, le serveur web positionne la variable d'environnement "QUERY_STRING" (ce qu'il ya derriere le point d'interrogation) qu'on peut recuperer avec un getenv(). Cette query string est au format "url encoded" et il faut la parser pour construire une sorte de liste de paramètres tout en "unescapant" les "%xx" et les "+". Ce n'est pas trivial si on est debutant en C.
    Pour les données POST, elles sont envoyées sur l'entrée standard et les paramètres sont aussi au format "url encoded" (à part specification d'un autre format avec l'attribut "enctype" du <form>).

    Cependant il semblerait qu'une bibliotheque fournie par apache permette de récuperer les paramètres dans un cgi, je n'ai jamais essayé. Voici un morceau de la doc
    http://httpd.apache.org/apreq/docs/l..._param_8h.html
    Merci d'avoir pris un peu de temps pour me répondre dans ce cas
    Maintenant je comprend mieux pourquoi je ne trouve aucun tuto valable, si la technologie est tout simplement à l'abandon. En même temps, je comprend pas trop pourquoi on s'embête à utiliser cette technologie alors même que PHP fait très bien son boulot. Du moins pour ce que l'on me demande, car il s'agit d'un test pour un emploi. On me demande de créer un formulaire d'inscription qui est traité par un programme en C... Alors même que du PHP bien fait c'est plus simple, à mon goût...
    Enfin bon, merci pour tes réponses je pense avoir compris ce qu'il faut faire. Bricoler la chaine comprenant les infos envoyé par le formulaire... Sauf que j'arrive même pas à simplement lancer le programme en utilisant easyPHP et sn serveur appache
    ENfin bon merci beaucoup encore une fois

  6. #6
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    C'est surement pour notre boite dans ce cas

Discussions similaires

  1. Créer utilisateur OPS$ avec "."
    Par Amadeus20 dans le forum Administration
    Réponses: 8
    Dernier message: 04/06/2004, 14h08
  2. Réponses: 3
    Dernier message: 21/09/2003, 15h52
  3. Créer un projet avec TurboC++
    Par Thrystan dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 06/09/2003, 17h32
  4. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 16h11
  5. [CR] Est il possible de créer des univers avec Seagate Info?
    Par Frank dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/06/2002, 15h22

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