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 :

Cours ou ouvrage complet sur cgi avec c


Sujet :

C

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut Cours ou ouvrage complet sur cgi avec c
    Bonjour, j'ai acquis les notions de base en c et j'aimerais trouver une documentation en français et détaillée sur l'utilisation du c avec cgi. C'est une ressource assez rare sur internet et les méthodes divergent souvent. Ou puis je trouver un cours ou un manuel de référence sur cgi avec c?

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Il suffit de connaître le protocole HTTP, ce n'est pas un problème ayant un lien avec le langage C.

  3. #3
    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 mithrendil Voir le message
    Bonjour, j'ai acquis les notions de base en c et j'aimerais trouver une documentation en français et détaillée sur l'utilisation du c avec cgi. C'est une ressource assez rare sur internet et les méthodes divergent souvent. Ou puis je trouver un cours ou un manuel de référence sur cgi avec c?
    En dehors du fait que ça n'a rien à voir avec le langage C, CGI est une technique obsolète. Tu as vraiment besoin de ça ? Scolaire ? Industriel ?

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    A vrai dire c'est un peu pour le boulot, et surtout par curiosité. Je sais que c'est obsolète mais j'ai vraiment envie de savoir comment utiliser c en cgi.

  5. #5
    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 mithrendil Voir le message
    A vrai dire c'est un peu pour le boulot, et surtout par curiosité. Je sais que c'est obsolète mais j'ai vraiment envie de savoir comment utiliser c en cgi.
    Il me semble qu'il y a un tutoriel sur http://www.developpez.com , tu regardes dans les meilleurs cours et tutoriels pour apprendre le langage C : http://c.developpez.com/cours/

  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
    Encore un qui postule chez nous puisqu'on est les seuls en France à faire des cgi en c.

    Il suffit de connaître le protocole HTTP
    Bof, c'est juste qu'on peut specifier des entetes http, pas besoin de connaitre le protocole http en entier

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    Connaitre le protocole http, oui, mais je suppose qu'il existe des librairies et des fonctions spécifiques... Est il possible d'établir un pont de connexion avec mysql? De réaliser des requêtes et d'en récupérer le contenu sous forme de resultset?

  8. #8
    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 mithrendil Voir le message
    Connaitre le protocole http, oui, mais je suppose qu'il existe des librairies et des fonctions spécifiques... Est il possible d'établir un pont de connexion avec mysql? De réaliser des requêtes et d'en récupérer le contenu sous forme de resultset?
    Il existe un libcgi, mais pour faire ce que tu veux, je te conseille de te mettre au PHP, ça ira plus vite...

    http://www.developpez.net/forums/forumdisplay.php?f=25

  9. #9
    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
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Il existe un libcgi, mais pour faire ce que tu veux, je te conseille de te mettre au PHP, ça ira plus vite...

    http://www.developpez.net/forums/forumdisplay.php?f=25
    Le test impose d'écrire un cgi en C

  10. #10
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    Je connais trés bien php & perl, et je souhaite me mettre à une façon de programmer plus "propre" et découvrir d'autres techniques de développement web.

  11. #11
    Membre chevronné Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Par défaut
    Citation Envoyé par mithrendil Voir le message
    Je connais trés bien php & perl, et je souhaite me mettre à une façon de programmer plus "propre" et découvrir d'autres techniques de développement web.
    Plus propre ? C'est vague...

    PHP a la reputation d'etre "sale" parce qu'il est enseigne a peu pret partout et tres largement utilise par des programmeurs manquant un peu d'experience ce qui donne des choses pas jolie-jolie mais ca reste un langage object respectable. On peut faire des choses propres en PHP.

    Perl a une syntaxe qui peut effectivement etre tres rapidement illisible, et est tres utilise parce qu'il permet de coder tres vite des choses qui marchent pour des tache precises.
    Apres c'est pareil on peut faire du propre en Perl. D'autant que Perl est un des langages de script les plus rapides.

    Avec de bonnes habitudes de code tu peux faire du propre dans la plupart des langages... (meme si en BF j'ai encore du mal ).

    Tu peux choisir ton langage en fonction de tes besoins (taille du projet, besoins en performance, maintenabilite exigee, delais...)...

    La proprete c'est plutot subjectif je trouve...

    Apres pour apprendre d'autres techniques de prog Web, je te conseille de jeter un oeil sur Ruby/Python (au choix, les trolls abondent sur le sujet) qui sont des langages qui poussent l'objet plus loin que PHP ou Perl. Tu pourras apprendre des choses interessantes avec ces langages.
    Ou alors tu peux aller plus loin et faire du .NET/Java et faire un beau web service... La aussi, des choses a apprendre, surtout en programmation, et un peu en Web.

    Les principes du Web sont independants des langages. Mais les langages n'offrent pas les meme opportunites de programmation.

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    Je suis déjà initié au Java avec les jsp... Mais sans vouloir insister j'aimerais juste voir à quoi ressemble une application web en C...

    Petite parenthèse: je cherche aussi le langage de script le plus approprié pour séparer au maximum le code de la présentation, un peu à la manière de Java.

  13. #13
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Ca m'étonne que tu connaisse le PHP et que t'arrives pas à écrire un programme CGI en C. En gros tu n'as qu'à remplacer tous les echo en printf, le principe c'est le même : générer dynamiquement une page web. La véritable différence c'est qu'avec PHP les en-têtes sont automatiquement générés (tu peux en rajouter avec la fonction header) alors que dans un programme CGI aucun en-tête n'est automatiquement ajouté (c'est au programme de le faire). Dans un hello world tu n'auras qu'à spécifier l'en-tête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    content-type: text/html\n\n
    pour envoyer une page HTML bien sûr. Si tu utilises Apache comme serveur tu dois mettre ton programme dans un dossier nommé cgi-bin qui doit se trouver dans le répertoire /. Tout ça bien sûr n'ayant rien à voir avec le langage C.

  14. #14
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    Citation Envoyé par Melem Voir le message
    Ca m'étonne que tu connaisse le PHP et que t'arrives pas à écrire un programme CGI en C.
    N'ayant jamais vu à quoi ça ressemblait je ne peux pas trop le savoir... Je suppose qu'il est impossible d'accéder aux variables Apache en C? ($_GET,$_POST,$_SESSION...)

  15. #15
    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
    En effet, la tendence actuelle c'est plutot de faire du .NET ou Java, PHP est un langage de bidouilleur et C est trop "bas niveau" (je vais me faire taper?) pour faire des applications web (en plus, le fait que c'est du CGI, ça rend les pages pas forcement plus rapides qu'un langage de script).

    Comme ça a été dit, tu trouveras difficilement des tutos sur le net puisque plus personne fait des CGI en C. Alors voici les grandes lignes :
    * Un cgi est un programme comme les autres qui est executé par le serveur web et dont la sortie standard est envoyée au navigateur. Si tu ne sais pas ce qu'est la sortie standard, revise tes cours.
    * Le cgi doit terminer la liste des headers http. On termine cette liste en envoyant une ligne vide. On en profite generalement pour au moins indiquer un header Content-Type (generalement "text/html" pour un document html). Si le cgi ne le fait pas (s'il plante avant par exemple) il y a Internal Server Error.
    * La query string (paramètres GET) est transmise de façon brute via une variable d'environnement qu'on recupere par getenv(). Dans ton exo tu n'as pas à parser cette query string manuellement puisqu'on te demande d'utiliser une bibliotheque qui le fait à ta place.
    * Les paramètres POST sont envoyés sur l'entrée standard. La aussi, pas besoin de parser les paramètres manuellement, la bibliotheque sait le faire.

    Ya pas grand chose à savoir de plus. Le probleme c'est pas les CGI, le probleme c'est savoir faire du C correct, et le niveau moyen du C est bas, donc entraine toi.

  16. #16
    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 mithrendil Voir le message
    N'ayant jamais vu à quoi ça ressemblait je ne peux pas trop le savoir... Je suppose qu'il est impossible d'accéder aux variables Apache en C? ($_GET,$_POST,$_SESSION...)
    getenv(). C'est standard.

  17. #17
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Il n'y a donc pas de variables de session en CGI ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  18. #18
    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
    Citation Envoyé par Médinoc Voir le message
    Il n'y a donc pas de variables de session en CGI ?
    Eh non, il faut faire son systeme de session, le plus simple étant d'utiliser un SGBD pour stocker les infos de la session.

  19. #19
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    Ok, merci pour vos réponses. Je vais creuser ça de mon côté.

    PS: c++ est il un peu plus évolué que c pour le web? En fait je cherche à changer de php et perl ou python pour mes travaux, et je n'ai actuellement pas de projets qui valent la peine d'être développés en java ou en dotnet (vu l'importance de mon projet actuel ce serait dérisoire...)

  20. #20
    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 mithrendil Voir le message
    PS: c++ est il un peu plus évolué que c pour le web?
    Hors-sujet, mais non.
    En fait je cherche à changer de php et perl ou python pour mes travaux, et je n'ai actuellement pas de projets qui valent la peine d'être développés en java ou en dotnet (vu l'importance de mon projet actuel ce serait dérisoire...)
    Tu n'as pas l'air de comprendre que CGI étant une technologie obsolète (car vulnérable), tu risques à l'avenir de ne plus trouver de serveur acceptant ça (trop dangereux).

    A moins que tu cherches à maintenir du vieux code ou faire un site dédié aux technosaures, tu fais fausse route. Visiblement, tu disposes déjà des outils nécessaires à du développement Web de qualité.

Discussions similaires

  1. [Lazarus] Cours complet sur la programmation objet , par Eric Thirion
    Par Alcatîz dans le forum Lazarus
    Réponses: 2
    Dernier message: 02/11/2014, 12h03
  2. [Lazarus] Cours complet sur la programmation objet , par Eric Thirion
    Par Alcatîz dans le forum Pascal
    Réponses: 0
    Dernier message: 15/07/2014, 22h03
  3. [Lazarus] Cours complet sur les bases de la programmation, par Eric Thirion
    Par Alcatîz dans le forum Lazarus
    Réponses: 8
    Dernier message: 10/05/2014, 17h29
  4. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

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