Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1161 connectés 

  FORUM HardWare.fr
  Programmation

  Qui programme ses CGI en C/C++ ?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Qui programme ses CGI en C/C++ ?

n°56848
barbarella
Posté le 01-09-2001 à 18:56:53  profilanswer
 

heu,
 
je me sens vachement seul, y a personne d'autre ?

mood
Publicité
Posté le 01-09-2001 à 18:56:53  profilanswer
 

n°56874
verdoux
And I'm still waiting
Posté le 01-09-2001 à 20:32:47  profilanswer
 

Barb, faut se mettre au goût du jour: ASP, PHP, JSP, servlet, ...
:lol:

n°56875
youdontcar​e
Posté le 01-09-2001 à 20:37:19  profilanswer
 

pas moi :) mais j'aimerais bien tester à l'occasion. tu connais un hébergeur pas cher qui accepte ça ?

n°56876
Maxime
Posté le 01-09-2001 à 20:37:59  profilanswer
 

moi je vias men servir dun en C.
 
moi je suis dans la classe : HTML / JavaScript / Flash / CGI
et non dans la classe ASP / PHP / JSP
 
tien ca ferais un bon sondage  :benetton:

n°56886
Roswell_
Posté le 01-09-2001 à 23:41:29  profilanswer
 

moi aussi ça m'intéresse vu que les hébergeurs qui supporte les servlet sont pas légions.

n°56890
barbarella
Posté le 02-09-2001 à 01:11:26  profilanswer
 

verdoux,
 
fous toi de moi va ;). Sinon je reconnais qu'il y a 2 gros désavantages a faire du C sur une serveur d'hébergements.
 
1) Il faut telnet (de plus en plus difficle a trouver un telent a prix abordable)
2) on se fait bouffer tout le temps de calcul par les especes de language pseudo compilé/interprété. Mettez vous au C :D

n°56920
Roswell_
Posté le 02-09-2001 à 12:08:11  profilanswer
 

1500-2000 c'est abordable pour toi?

n°56930
barbarella
Posté le 02-09-2001 à 13:22:07  profilanswer
 

heu,
 
elle est pour moi la qeustion , si oui 1500/2000 quoi ?

n°56993
Roswell_
Posté le 02-09-2001 à 20:43:51  profilanswer
 

francs

n°57001
youdontcar​e
Posté le 02-09-2001 à 21:32:08  profilanswer
 

abordable ? pas en ce moment :D je vais voir ce que je peux faire avec mon apache local ...

mood
Publicité
Posté le 02-09-2001 à 21:32:08  profilanswer
 

n°57870
slvn
Posté le 05-09-2001 à 21:24:40  profilanswer
 

je fais un up car ca m interesse !
je voudrais savoir comment on fait sur un serveur pour que ca accepte les cgi en C++, et aussi, si y a des hebergeur qui font ca :))

n°57873
Sventek
Posté le 05-09-2001 à 21:34:03  profilanswer
 

Je profitte de ce post pour demander "Qu'est ce que c'est que le CGI ? Quels sont ses intérêtets ... ? Où trouver un site qui permet de découvrir ce language ?" :)

n°57879
barbarella
Posté le 05-09-2001 à 22:11:12  profilanswer
 

slvn,
 
Pour faire du C/C++ (c'est le même compilateur), il faut avant tout trouver un hébergeur qui propose le telnet (un accès console ou tu peux passer des commandes au serveur). Le seul sérieux a un pric abordable que j'ai trouver pour l'instant c'est europeanserveur.  
 
En général ça sera du GCC. Il faut donc soit disposer d'une station linux, soit ecrire un C/C++ très standart pour eviter de ce prendre la tête avec le déboguage.
 
L'interet du C/C++ réside surtout dans la vitesse d'execution des script qui est bcp plus rapide que du php ou autre.
 
Pour CGI, de mémoire Common Gate Interface. C'est pas un language en soit, mais on regroupe sous ce vocable les les programme servant a générer des page intranet/internet. (corriger moi si je me trompe)

 

[edtdd]--Message édité par barbarella--[/edtdd]

n°57881
slvn
Posté le 05-09-2001 à 22:46:10  profilanswer
 

pkoi telnet,     ne peut on page "uploader" sur le serveur directement, ??
 
ps: pour faire un Cgi en C++, il suffit juste de faire un programme qui renvoie un document html ?!  
ou alors, on utilise le C++ comme si c etait un script ?!
 
en fait je vois pas trop coment l utiliser, je connais le php, et ca me parait un peu different

 

[edtdd]--Message édité par slvn--[/edtdd]

n°57889
barbarella
Posté le 05-09-2001 à 23:43:56  profilanswer
 

Ben,
 
dans le cas ideal oui tu peux utiliser un logiciel de FTP. Mais ça implique que l'executable soit compatible avec la machine de ton hébergeur. Compiler sur un Pentium pour executer sur une SUN, bof. Le type de machine qu'utilse ton hébergeur n'est pas dans le contrat; S'il décide depasser du pentium au Mckinley et ne propose pas le telnet t'es bon pour rechercher un nouvel hébergeur.
 
 
tiens voila un petit prog en C. Il récupère un param mettre puis l'affiche
 
<pre>
int main(void)
{
 char *data;
   char lepeusod[25];
   int erreur = 0;
 
   data = getenv("QUERY_STRING" );
 if(data == NULL)
 {
    erreur = 101;
 }
 else
 {
  if(sscanf(data,"Eudo=%s",lepseudo) != 1)
    {
     erreur = 102;
    }
    else
    {
  printf("%s%c%c\n","content-type:text/html;c

 

harset=iso-8859-1",13,10);
  printf("%s\n",lepseudo);
    }
 }
   if(erreur != 0)
   {
  printf("%s%c%c\n","content-type:text/html;charset=iso-8859-1",13,10);
    printf("ERREUR" );
   }
 return(0);
}
</pre>
 
 
L'url doit rssembler a http://nom_du_site/nom_du_prog.cgi?Eudo=hello

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°57898
slvn
Posté le 06-09-2001 à 00:03:33  profilanswer
 

oky exactement ce qeu je voulais savoir :)
[pre] [/pre] sont les balises equivalent a  <?    ?> du php ?!
 
mais alors comment peux compiler soi meme son programme s il doit etre inclus dans une page ?!
 
ou alors il faut que tout la pages soit du vrai C++ ?! mais dans ce cas pkoi mettre [PRE]  :??:  :??:  
 
ps: il faut uploader qq choses de deja compiler a la diference du php ?!
 
 
PPS : si on doit utiliser en meme temps une base de donnée, peut on utiliser qq choses comme MysSql,etc. ou alors il faut tout stocker soit meme dans des fichiers, avec sa propre organisation ?!

n°57910
barbarella
Posté le 06-09-2001 à 00:35:45  profilanswer
 

nonon,
 
les balises [pre] c'est pour le forum ici :D rien avoir avec le prog lui-même (zont pas l'air de fonctioner d'ailleurs).
 
Bon il te faut un compilateur C/C++ comme Visual C++, Builder C++, Borland C++, GCC, Intel C++, etc ...  
 
Il n'y pas besoin de librairies spéciales, c'est un simple prog C/C++; en fait tu envoies le texte de la page HTMl par les fonctions printf, ou fputs. Le serveur WEB (Apache ou IIS) se charge de récupérer ce que tu envoie par printf ou fputs pour l'envoyer ensuite sur le réseau.
 
Par contre effectivement il faut que tu ecrive toute la page en C/C++. A ma connaissance il n'existe pas de moyenne de mélanger les genres. Ou alors d'utilser des iframes, mais les netscape < 6.0 n'aiment pas ça.

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°57911
barbarella
Posté le 06-09-2001 à 00:38:57  profilanswer
 

Si tu veux utiliser une BD, il te faut dans ce cas une librairie spéciale qui te donnera un point d'entrée dans la base. Pour mysql, je ne sais pas si une telle lib existe. Personnelement j'ai fait ma propre BD, mais bon c'est différents concours de circonstance qui ont fait ça? Mais si j'avais pu choisir j'aurais préférer utiliser un truc tout fait avec une librairie.

n°57914
slvn
Posté le 06-09-2001 à 00:47:08  profilanswer
 

oky desolé pour cette erreur un peu stupide:)
donc les cgi C++sont vraiment des programmes :) c cool tout ca :)
 
encore qqes petites questions rapides : pour la base de donnée, il faut la faire soit meme ?! en creant ses propre fichiers txt ?!) ou peut utiliser une base tout faite, avec ses propre methode?!
 
les cgi C++ sont ils vraiment les plus rapides que le php?!

n°57915
slvn
Posté le 06-09-2001 à 00:47:57  profilanswer
 

oky merci :)
 
ca a surment ses avantages de creer sa base de donnée, mais ca pas doit etre tres simple !

n°57917
skynet
Posté le 06-09-2001 à 01:01:01  profilanswer
 

Qui programme ses CGI en C/C++ ?  
 
Pas moi  :lol:

n°57918
barbarella
Posté le 06-09-2001 à 01:02:24  profilanswer
 

oui,
 
créer une base fiable, suffisament performantes c'est délicat. Moi j'ai eu la chance de récupérer un projet que j'avais démarrer pour une boite qui a fermé. mais bon ça depend ce que tu veux faire.  
 
 
Pour la rapidité oui c'est très supérieure, Tiens voila un CGI en C a l'oeuvre et que les PHPiste ne peuvent pas faire. La page dispose d'un analyseur de syntagmes (= association de plusieurs mots) temps réel. En fin de page t'as le temps en milisecondes.
 
http://www.onversity.com/cgi-bin/p [...] &P=N200104

n°57919
slvn
Posté le 06-09-2001 à 01:17:55  profilanswer
 

bon je vais sans doute me mettre a ce type de Cgi :)
 
aurais tu un site où je pourrais me renseigner un peu plus ??
ps: question fatidique: quels sont les defaults ???

n°57921
barbarella
Posté le 06-09-2001 à 01:32:14  profilanswer
 

les défauts sont :
 
tu dois faire toi même un certains nombre de fonctions. en particulier la gestion des paramètres des formes POST et GET, mais il existe des lib pour ça sur le net. J'ai plus d'adresse en tete.
 
Une fonction de conversion des caractères spéciaux en code HTML (ça je peux te refiler la fonction que j'ai faites et qui carbure :D). et surtout la sécurité.  
 
Spécialement
 
- nombre de param passé au CGI
- Controle des caratère constituant l'url
- taille max de chaque param (pour eviter de mettre une info plus grande que ce que ta variable peu contenir)
- cohérence des param  
- Faire très très attention a la fonction 'sendmail' que tu peux appeler a partir d'un CGI (si t'es sur un système unix/linux.
 
 
Sinon un  dernier point avoir un compilateur performant pour produire un code rapide, du moins pour le script qui sera executer sur ton serveur.
 
En gros t'auras un certains travail de préparation, une boite a outils a te faire par exemple.  
- ...
 
voila :)

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°57922
slvn
Posté le 06-09-2001 à 01:46:29  profilanswer
 

bon c pas la mort non plus et si les performance sont au rendez vous ca peut etre interessant !
 
ps: je veux bien la fonctions dont tu me parles c tjrs utiles :)
 
merci beaucoup pour toutes tes precisions:)

n°57923
barbarella
Posté le 06-09-2001 à 02:00:41  profilanswer
 

et voila (c'est en C, mais pas compliqué a transcrire en C++)
 
 
#define CSPACE 64
 
// Variable globale
char *code_space[CSPACE] = {
"À",
"&Aecute;",
"Â",
"Ã",
"Ä",
"Å",
"Æ",
"Ç",
"È",
"É",
"Ê",
"Ë",
"Ì",
"Í",
"Î",
"Ï",
"",
"Ñ",
"Ò",
"Ó",
"Ô",
"Õ",
"Ö",
"",
"Ø",
"Ù",
"Ú",
"Û",
"Ü",
"Ý",
"",
"",
"à",
"á",
"â",
"ã",
"ä",
"å",
"æ",
"ç",
"è",
"é",
"ê",
"ë",
"ì",
"í",
"î",
"ï",
"",
"ñ",
"ò",
"ó",
"ô",
"õ",
"ö",
"",
"ø",
"ù",
"ú",
"û",
"ü",
"ý",
"",
"ÿ",
};
 
long code_spacel[CSPACE] = {
8,//"À",
8,//"&Aecute;",
7,//"Â",
8,//"Ã",
6,//"Ä",
7,//"Å",
7,//"Æ",
8,//"Ç",
8,//"È",
8,//"É",
7,//"Ê",
6,//"Ë",
8,//"Ì",
8,//"Í",
7,//"Î",
6,//"Ï",
0,//"",
8,//"Ñ",
8,//"Ò",
8,//"Ó",
7,//"Ô",
8,//"Õ",
6,//"Ö",
0,//"",
8,//"Ø",
8,//"Ù",
8,//"Ú",
7,//"Û",
6,//"Ü",
8,//"Ý",
0,//"",
0,//"",
8,//"à",
8,//"á",
7,//"â",
8,//"ã",
6,//"ä",
7,//"å",
7,//"æ",
8,//"ç",
8,//"è",
8,//"é",
7,//"ê",
6,//"ë",
8,//"ì",
8,//"í",
7,//"î",
6,//"ï",
0,//"",
8,//"ñ",
8,//"ò",
8,//"ó",
7,//"ô",
8,//"õ",
6,//"ö",
0,//"",
8,//"ø",
8,//"ù",
8,//"ú",
7,//"û",
6,//"ü",
8,//"ý",
0,//"",
6,//"ÿ",
};
 
 
// Fonction de conversion caratères speciaux en format HTML
void asci_html(char *src,char *dest)
{
  unsigned int ch;
  long i,j;
 
  i = 0;
  j = 0;  
  ch = (unsigned char) *(src+i);
  while(ch != 0) // test sur eniter plus rapide que test sur char
  {
    if(ch < 192)
    {
      *(dest+j++) = *(src+i);
    }
    else
    {
      if(*(code_space[ch-192]) == '\0')
      {
        *(dest+j++) = *(src+i);
      }
      else
      {
        memcpy((dest+j),code_space[ch-192],code_spacel[ch-192]);
        j += code_spacel[ch-192];
      }
    }
    i++;
    ch = (unsigned char) *(src+i);
  }
  *(dest + j) = '\0';
// sécurité de fin de chaine pas besoin d'init 'dest' avant
}

n°57925
slvn
Posté le 06-09-2001 à 02:03:19  profilanswer
 

héhé merci bien :)  
c ets pas le genre de procedure sympathique a faire :)

n°57926
barbarella
Posté le 06-09-2001 à 02:04:58  profilanswer
 

tiens,
 
il y a une amélioration que je n'ai pas testé, mais je la garderai pour moi :D
 
 
amuses-toi bien.

n°57927
barbarella
Posté le 06-09-2001 à 02:54:37  profilanswer
 

ohlala,
 
je dois te dire merci :D parcequ'en relisant cette fonction j'ai pensé a une modif et en fait cette modif peut s'appliquer aparement a un groupe de fonction de ma BD :)
 
Mais je ne touche pas a ma BD a 3 heure du mat :D, vivement demain que j'essaie ça

n°57984
slvn
Posté le 06-09-2001 à 10:42:34  profilanswer
 

de rien lol :d
 ps: y a t il moyen de tester ses pages en local ?! sous win ou linux ?!

n°57993
barbarella
Posté le 06-09-2001 à 11:27:54  profilanswer
 

oui,
 
Pour windows tu installes IIS ou le peer web server de microsoft et pour linux apache.
 
Si tu n'as pas de carte réseau il faut utiliser la carte virtuelle dite de bouclage. Elle a une adresse IP particulière 127.0.0.0
 
Bon la c'est plus vraiment de la prog, mais de l'installation d'un serveur web. Mais aucun problème pour l'installer en local sans besoin de connexion exterieur.  
 
Lors de l'installe sous windows il te crée un repértoire 'script' dans lequel tu mets tes '.cgi'. Pour Linux c'est le répertoire 'cgi-bin'. Bon, l'installe te crée d'autres répertoires, mais pour les scripts c'est les plus importants.

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°58001
Roswell_
Posté le 06-09-2001 à 11:42:10  profilanswer
 

gnark, gnark.
J'avais laisser tomber le post et ho bonheure toutes les reponse sont la et en plsu je suis chez europeanservers. :D


---------------
http://www.cheata.net le site qui vous donne la banane!
n°58020
slvn
Posté le 06-09-2001 à 12:28:16  profilanswer
 

arf, je suppose que les produits microsoft sont hors de prix ?!

n°58022
barbarella
Posté le 06-09-2001 à 12:33:39  profilanswer
 

le peer web serveur est inclus dans W98/NT4 SP6. Je suppose qu'il l'est aussi dans win me et NT2000.
 
C'est au moment de l'installation de la partie réseau de ton système d'exploitation, tu as une option pour ajouter des services et tu dois voir 'Microsoft peer Web Servers' dans la liste.

n°58025
slvn
Posté le 06-09-2001 à 12:40:33  profilanswer
 

oui c est vrai :) PWS qu ils l appellent :)

n°58113
Profil sup​primé
Posté le 06-09-2001 à 16:19:54  answer
 

Barbarella a écrit a écrit :

les défauts sont :
 
tu dois faire toi même un certains nombre de fonctions. en particulier la gestion des paramètres des formes POST et GET, mais il existe des lib pour ça sur le net. J'ai plus d'adresse en tete.
 
Une fonction de conversion des caractères spéciaux en code HTML (ça je peux te refiler la fonction que j'ai faites et qui carbure :D). et surtout la sécurité.  
 
Spécialement
 
- nombre de param passé au CGI
- Controle des caratère constituant l'url
- taille max de chaque param (pour eviter de mettre une info plus grande que ce que ta variable peu contenir)
- cohérence des param  
- Faire très très attention a la fonction 'sendmail' que tu peux appeler a partir d'un CGI (si t'es sur un système unix/linux.
 
 
Sinon un  dernier point avoir un compilateur performant pour produire un code rapide, du moins pour le script qui sera executer sur ton serveur.
 
En gros t'auras un certains travail de préparation, une boite a outils a te faire par exemple.  
- ...
 
voila :)  
 
 




autre défaut majeur et qui explique que ce n'est plus utilisé autre part que dans des sites persos, les CGIs ne supportent pas la charge.

n°58117
slvn
Posté le 06-09-2001 à 16:30:59  profilanswer
 

BenDk97 a écrit a écrit :

 
autre défaut majeur et qui explique que ce n'est plus utilisé autre part que dans des sites persos, les CGIs ne supportent pas la charge.  




"la charge", peut tu expliquer ce que c est?
 
 
ps: j ai pas reussis a installer le serveur personnel microsoft,  
est ce que qq uun saurait ou je peut trouver IIS ??

n°58123
Profil sup​primé
Posté le 06-09-2001 à 16:46:31  answer
 

slvn a écrit a écrit :

 
"la charge", peut tu expliquer ce que c est?
 
 
ps: j ai pas reussis a installer le serveur personnel microsoft,  
est ce que qq uun saurait ou je peut trouver IIS ??  



pour un site commercial avec un trafique important, la montée en charge devient vite exponentielle (un processus par client et par cgi lancé) bref le serveur finit par ramer assez rapidement. On préfèrera les web complexes aux cgis ;)

n°58137
slvn
Posté le 06-09-2001 à 17:04:07  profilanswer
 

euh, l utilité d un cgi en C++ me paraissait justement la solution car c est le plus rapide :)
mais voila que tu me parles du "web complexe " :) qu est ce donc ?

n°58143
barbarella
Posté le 06-09-2001 à 17:15:08  profilanswer
 

humm,
 
pour la charge c'est vrai, mais faut monter a plusieurs centaines/milliers d'accès simultanées (dépend de la machine). Ensuite il y a des trucs de programmation. Mais a un moment ou a un autre il y a un prob, c'est ok.
 
Par contre les outils industriels sont sous certains aspects vraiment trop généralistes. Et dès que tu sors des sentiers battus au niveau algo t'as de gros risques de les faire mouliner un max, et dans ce cas ... retour a la case départ.
 
En gros au niveau pro si c'est pour faire de la prog classique, tu prends les outils fournis par le marché, sinon t'es bon pour les scripts C/C++.

 

[edtdd]--Message édité par Barbarella--[/edtdd]

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Qui programme ses CGI en C/C++ ?

 

Sujets relatifs
Créer 1 programme batch et l'enregister en .exe ?Est ce que free accepte le CGI sur les sites perso?
[vb] créer un programme indépendantGROS PROB CGI
Lancér Notepad à partir d'un programme C++programme dos
[php] Recuperer le programme TVProgramme pour ejecter un cd
[CGI] quel hebergeur gartuit accepte els script CGI ???[HEBERGEUR] Quel hebergeur gratuit accepte les script CGI ??
Plus de sujets relatifs à : Qui programme ses CGI en C/C++ ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR