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 :

Utiliser algorithme C++ avec un site Web


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 50
    Points
    50
    Par défaut Utiliser algorithme C++ avec un site Web
    Bonjour,

    J'ai actuellement un algorithme de calcul en C++ et un site web.
    Je veux à partir de données en entrée du site web (une image par exemple), utiliser mon algorithme sur ces données, et renvoyer les résultats au site web.

    Je me suis un peu renseigné et j'ai trouvé CGI ici.
    J'ai aussi trouvé une alternative : FastCGI ici.

    Je voulais savoir si ces méthodes correspondaient à mes besoins. Quelles sont les autres solutions existantes ?

    Merci d'avance.

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 159
    Points
    3 159
    Par défaut
    Salut Olivier

    Il y a plusieurs solutions possibles. CGI ou FastCGI seraient utiles dans le cas ou tu voudrais entièrement traiter une requête http avec ton code C++, mais je doute que ce soit l'objectif.

    Le plus simple, et le plus générique, est d'écrire un logiciel qui fonctionne sous forme de serveur et écoute sur un port. Le moteur de ton site web pourra se connecter à ce port, envoyer les infos nécessaires à l'exécution dans la socket et récupérer un résultat. L'avantage de cette approche est que le code C++ devient agnostique à la techno web choisie. Qu'il s'agisse de PHP, Python, Java ou Javascript (ou autre), cela fonctionnera.

    Attention, si le coût d'exécution est moyen ou élevé, tu ne dois pas avoir une requête qui reste coincée en attente du résultat. Tu dois signaler au logiciel C++ de commencer à traiter l'image et mettre en place une API que le logiciel C++ peut appeler pour signaler la fin, sans bloquer la requête web.

  3. #3
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Citation Envoyé par jblecanard Voir le message
    Le plus simple, et le plus générique, est d'écrire un logiciel qui fonctionne sous forme de serveur et écoute sur un port. Le moteur de ton site web pourra se connecter à ce port, envoyer les infos nécessaires à l'exécution dans la socket et récupérer un résultat.
    Disons que c’est exactement ce que fournit fastCGI, un serveur qui écoute sur une socket pour recevoir des requêtes . Après, il y a de la soupe pour récupérer les paramètres HTTP, mais fondamentalement, c’est plutôt une bonne approche pour faire ce que veut olivier21c. Réinventer un protocole sera (surtout si la personne qui le fait n’en a pas l’habitude) souvent moins fiable / extensible.

    En revanche, il est très important que la couche « fastcgi » (ou autre) ne soit qu’une couche fine d’adaptation, que tu puisses la changer facilement par un autre protocole si besoin est. C’est ça qui te donnera la meilleure généricité.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 178
    Points : 12 306
    Points
    12 306
    Par défaut
    Le CGI c'est plus du C que du C++.
    C'est une technologie plus que vieillissante.
    Elle n'a que l'avantage de la simplicité pour un C-iste.
    Le C est un peu l'esperanto des langages de programmation, cela veux dire qu'une technologie Web peut facilement utiliser une librairie ayant une API C.
    Si les performances et le contrôle (mais pas la sécurité) sont importantes, je vous conseille la seconde approche.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 91
    Points : 50
    Points
    50
    Par défaut
    Merci à tous les trois, je pense commencer par tester fastCGI pour voir comment cela fonctionne, et ensuite coder une version serveur qui me semble assez intéressante par rapport à nos futurs besoins (permettre l'utilisation des algos de notre société par des clients divers). Etre indépendant de la techno connectée se révélera surement adapté.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 178
    Points : 12 306
    Points
    12 306
    Par défaut
    Si c'est pour offrir des API à des utilisateurs de services, je vous conseille de voir du coté des WebService et des API REST, bien plus puissantes et ouverte que le CGI de base.

  7. #7
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Si c'est pour offrir des API à des utilisateurs de services, je vous conseille de voir du coté des WebService et des API REST, bien plus puissantes et ouverte que le CGI de base.
    Certes, mais pour ça, il va bien falloir traiter la couche en-dessous, à savoir HTTP. Mais c’est vrai que personne n’avait encore mentionné gSoap qui s’occupe de ça.

Discussions similaires

  1. Comment créer une barre d'outil en lien en rapport avec mon site web?
    Par Ministar dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 26/07/2007, 13h41
  2. gagner sa vie avec un site web - possible?
    Par kreator dans le forum Structure
    Réponses: 2
    Dernier message: 20/04/2007, 16h14
  3. Comment utiliser une webcam avec une application web
    Par /*Mr.D*/ dans le forum Services Web
    Réponses: 3
    Dernier message: 24/01/2007, 07h59
  4. interaction avec un site web
    Par Razorbak dans le forum Windows
    Réponses: 6
    Dernier message: 24/08/2006, 10h50
  5. Pb avec mon site web et son affichage
    Par cyberdevelopment dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 10/08/2006, 16h03

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