Retourner aux forums || Retourner au forum Programmation.c++
j'aimerais un peu m'entrainer à développer un site web dynamique en C++ au lieu de PHP. Mais je ne trouve pas de lien sur internet pour m'aider à démarrer.
Je cherche donc comment faire pour que apache appel le programme convenablement et tout ça. Et que dois-je faire de spécial dans mon programme pour que tout fonctionne bien ?
Merci de votre aide.
> Lire le message (10 commentaires, moyenne: 2,3).
j'ai pas bien compris
ce que tu cherches à faire exactement... Mettre du C++ à l'interieur de tes pages ou que tes pages puisses faire appel à des applis codés en C++ ?
-
[^]Re: j'ai pas bien compris
Posté par elloco (page perso, ) le 27/12/2005 à 19:00. (lien). Évalué à 1.plutôt la deuxième solution.
Parce que en fait, d'habitude pour créer des pages web dynamiques, on utilise PHP qui est directement interpreté par apache (par un module donc) et il en sort une page web au format html qui est envoyé à l'utilisateur. Mais je voudrais le faire en c++.
Pour donner l'idée (même si je sais que ce n'est pas comme ça que ça marche), je vais sur la page http://www.monsite.com/index.c++?parametre1=test¶m2=(...)
J'espère que c'est clair :)-
[^]C++ n'est pas un langage interprété !
Posté par Ben (Jabber id, page perso, ) le 27/12/2005 à 20:44. (lien). Évalué à 6.index.c++?parametre1=test¶m2=(...)
ce genre d'URL n'est pas possible car tu considère ainsi que ton fichier c++ est interprété par un modula apache. ça n'existe tout simplement pas. Pour faire du C++ avec le web (ce qui est une mauvaise idée) il faut compilier ton code avec g++ et utiliser dans tes sources le principe du CGI (common gatewy interface) supporté par apache.
le CGI c'est assez simple:
ton programme doit:
* Lire les arguments d'une requète http/GET via la variable d'environnement HTTP_REQUEST ou lire une requète http/POST via l'entrée standard (STDIN)
* traîter la requète
* écrire du HTML/javascript sur la sortie standard (STDOUT)
un tuto CGI intéressant et facile:
http://www.jmarshall.com/easy/cgi/-
[^]Re: C++ n'est pas un langage interprété !
Posté par alpage (Jabber id, page perso, ) le 06/01/2006 à 05:50. (lien). Évalué à 2.Mais si ce genre d'URL est possible ! Entre une URL et le programme appelé, il peut s'en passer des choses. Comme par exemple une directive ScriptAlias de Apache ;)
ScriptAlias /index.c++ "/le/chemin/vers/mon_programme_compilé"
Je pense que tu le sais, mais soyons précis ;)
Sinon, effectivement, faire du web en C++ me parait aussi une idée saugrenue, mais bon il a peut être ses raisons...-
[^]Web et C++ ...
Posté par Claude SIMON (page perso, ) le 11/01/2006 à 15:40. (lien). Évalué à 1.On peut savoir en quoi "faire du web en C++" serait une idée mauvaise/saugrenue ? C'est juste pour savoir, vu que je me livre à cette passionnante activité une bonne partie de mes journées, si je dois en parler à mon psychanalyste ...
-
[^]Re: Web et C++ ...
Posté par Ben (Jabber id, page perso, ) le 12/01/2006 à 11:22. (lien). Évalué à 2.C'est simple : sur le web, on reçoit des requêtes http GET à parser ainsi que des POST à traîter (en format MIME) et l'on génère des fichiers HTML après avoir fait quelques requètes SQL. Il y a peut d'intérêt à faire de l'objet pour cela, sauf avec des objets métier mais n'étant instanciés qu'une seule fois par requète. Avec 80 % de traîtement de buffers de texte donc beaucoup de gestion des chaînes de caractères et de mémoire, C++ n'est pas un bon choix car il n'est pas réputé pour ses facilités en terme de traîtement de chaîne, et encore mois pour la gestion de la mémoire. Attends-toi à de longues soirées de débogage.
-
[^]Re: Web et C++ ...
Posté par Claude SIMON (page perso, ) le 12/01/2006 à 12:43. (lien). Évalué à 1.Effectivement, si l'on considère que "faire du web" se réduit à ça ...
Mais l'application que j'ai développé ne se résume pas du tout à cela (elle ne contient d'ailleurs pas la moindre requête SQL). Cependant, on se rejoint sur un point : la partie analyse de la requête et la génération du HTML sont faites par un script PERL, et non pas en C++. Plus précisément, ce script extrait les paramètres de la requête et les envois à un daemon, et transforme le flux XML retourné par ledit deamon en HTML grâce à un processeur XSLT.
Le fait de passer par un daemon pour assurer le traitement de la requête facilite la résolution du problème de persistence des données auquel on est généralement confronté en faisant du web.
Comme ce daemon est codé, par mes soins, en C++, et de par les tâches qu'il accomplit, je crois pouvoir affirmer que je fais bien du web en C++ :-) ! Et cela sans transformer mes soirées en longues séances de débogage, les outils que j'utilise (en particuliers certaines bibliothèques) me mettant à l'abri de ce genre de mésaventure ...
-
-
-
-
-
cgi?
Tu peux faire du c++ en cgi:
test.cpp
-----------
#include
using namespace std;
int main() {
cout << "Content-type: text/html\n" << endl;
cout << "Hello World" << endl;
return 0;
}
g++ test.cpp -o test
sudo cp test /var/www/localhost/cgi-bin/
et normalement si tu vas sur localhost/cgi-bin/test tu vas voir apparaitre l'output.
Personnellement je ne suis pas sur que ce soit la meilleure utilisation du C++...
-
[^]Re: cgi?
Posté par . Takhi () le 27/12/2005 à 19:16. (lien). Évalué à 2.M'est avis que ca devrait aider si tu veux pas réinventer la roue, les rayons, le pneu et la route ....
http://libcgi.sourceforge.net/
Enfin là tu n'as que la base... apres il te faut surement une bonne api pour acceder à des données, parce qu'un site dynamique sans rien a y mettre dedans ca risque d'etre un peu fade :-)
bon courage.-
[^]Re: cgi?
Posté par mmMMOoooOMMmm () le 27/12/2005 à 20:38. (lien). Évalué à 5.apt-get install libcgicc-doc libcgicc1 libcgicc1-dev
apt-cache show libcgicc1
Description: A C++ class library for writing CGI applications
An ANSI C++ compliant class library that greatly simplifies the creation of
CGI applications for the World Wide Web. libcgicc performs the following
functions:
.
* Parses both GET and POST form data transparently.
* Provides string, integer, floating-point and single- and multiple-choice
retrieval methods for form data.
* Provides methods for saving and restoring CGI environments to aid in
application debugging.
* Provides full on-the-fly HTML generation capabilities, with support for
cookies.
* Supports HTTP file upload.
* Compatible with FastCGI.
-
Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.c++



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.