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

 Delphi Discussion :

Datasnap Simple serveur web (Html & Css) XE8


Sujet :

Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2012
    Messages : 142
    Points : 80
    Points
    80
    Par défaut Datasnap Simple serveur web (Html & Css) XE8
    bonjour ,

    j'aimerai créer un petit serveur Web pour logé une page (HTML & Css) mais le souci il y a tellement de composants que je suis un peu pommé.

    C'est la première fois que j'utilise le "Datasnap", je ne sais pas par quoi commencer (Application Datasnap Rest / Application Datasnap Webbroker / Serveur Datasnap)

    Je suis partie dans l’idée pour un projet "Serveur Datasnap"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TServerContainer1.DSHTTPService1HTTPTrace(Sender: TObject;
      AContext: TDSHTTPContext; ARequest: TDSHTTPRequest;
      AResponse: TDSHTTPResponse);
    var
    FileStream :TFileStream;
    begin
      FileStream := TFileStream.Create('index.html', fmOpenRead or fmShareCompat);
      AResponse.ContentStream := FileStream;
    end;
    La page Index.html s'affiche bien mais ne prend pas en charge le Css.

    Merci beaucoup pour votre aide.
    Il n'existe guère de problèmes sans solution, et parfois l'absence de solution décourage le problème

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Application DataSnap WebBroker, c'est pour générer du HTML
    Application DataSnap REST Server, c'est pour faire des WebService en REST (JSON)

    J'ignorais avant de répondre à quoi correspondait "Application DataSnap WebBroker", en consultant la documentation, j'ai eu immédiatement la réponse !
    Dans mon XE2 ou XE7 Pro, je n'ai que l'expert "Application Server Web" qui utilise un TWebModule
    Je n'ai que 3 pages dans l'expert et non 8 comme dans la documentation, il faut je pense une version entreprise.

    La technologie WebBroker est utilisée pour envoyer la réponse serveur au format HTML.
    La dernière étape de l'expert Application DataSnap WebBroker vous invite à spécifier l'emplacement du projet. Tapez le répertoire racine de l'application web que vous êtes en train de créer. C'est le répertoire de sortie de l'exécutable du projet et l'emplacement des fichiers d'application web, tels que les fichiers .js, .html et .css, et d'autres fichiers statiques.
    Regarde ces deux vidéo en JQuery + DataSnap WebBroker
    Et le code qui est fonctionnel en X2

    Tu ne sembles pas implémenter le bon évènement ni le bon objet
    Lors de la création du projet par l'expert, inclu les exemples, c'est un bon moyen de démarrer !

    Faudrait vérifier si ce qui existait dans WebSnap est encore d'actualité sous DataSnap WebBroker : DIDACTITIEL WEBSNAP AVEC DELPHI 6 enterprise
    c'est dans le PageProducer qu'il fallait associé le CSS : Utilisation du composant générateur de page

    Pense que le CSS c'est comme le HTML, c'est un contenu téléchargeable, voir TDSHTTPServiceFileDispatcher
    Regarde le contenu du ARequest, si le CSS est pointé par le HTML, logiquement, tu devrais avoir deux requêtes, une pour le téléchagement du HTML et un autre pour le téléchargement du CSS, regarde à la fin de cet article Generating HTML
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2012
    Messages : 142
    Points : 80
    Points
    80
    Par défaut Serveur Web
    Bonjour ShaiLeTroll

    Merci pour les infos cela ma été très utile.

    Donc je suis partie sur un projet "Application DataSnap WebBroker" (TDSServer, DSHTTPWebDispatcher) j'ai rajouté les composants suivant : "TPageProducer" qui pointe sur le fichier HTML & "TWebFileDispatcher" pour la prise en charge du fichier CSS.

    Nom : Capture.PNG
Affichages : 767
Taille : 6,9 Ko

    Cela fonctionne correctement mais j'ai un petit souci je n'arrive pas a récupéré les événements du serveur "DSServer" (Connexion & Déconnexion des clients).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    procedure TWebModule1.DSServer1Connect(DSConnectEventObject: TDSConnectEventObject);
    begin
     with form1.Memo1 do
      begin
        Lines.Add('Connect : ' + DSConnectEventObject.ChannelInfo.ClientInfo.IpAddress);
        Refresh;
      end;
    end;
     
    procedure TWebModule1.DSServer1Disconnect(DSConnectEventObject: TDSConnectEventObject);
    begin
      with form1.Memo1 do
      begin
        Lines.Add('Disconnect : ' + DSConnectEventObject.ChannelInfo.ClientInfo.IpAddress);
        Refresh;
      end;
    end;
    Nom : Serveur_web.png
Affichages : 742
Taille : 42,0 Ko

    Merci.
    Il n'existe guère de problèmes sans solution, et parfois l'absence de solution décourage le problème

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2012
    Messages : 142
    Points : 80
    Points
    80
    Par défaut Serveur Web
    Finalement cela ne fonctionne pas correctement , Impossible d’accès a la page Html à distance avec une translation de port (NAT) BBOX.

    Nom : Capture.PNG
Affichages : 956
Taille : 17,6 Ko
    Il n'existe guère de problèmes sans solution, et parfois l'absence de solution décourage le problème

  5. #5
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Gregory666 Voir le message
    Finalement cela ne fonctionne pas correctement , Impossible d’accès a la page Html à distance avec une translation de port (NAT) BBOX.

    Nom : Capture.PNG
Affichages : 956
Taille : 17,6 Ko
    192.168. c'est parce que tu as tronqué l'adresse dans l'image ou c'est ce que tu as mis dans la config ?!
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2012
    Messages : 142
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    192.168. c'est parce que tu as tronqué l'adresse dans l'image ou c'est ce que tu as mis dans la config ?!
    Non je l'ai juste effacé, j'aurai plus la laissé
    Il n'existe guère de problèmes sans solution, et parfois l'absence de solution décourage le problème

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2012
    Messages : 142
    Points : 80
    Points
    80
    Par défaut Projet DataSnap
    Projet datasnap
    Fichiers attachés Fichiers attachés
    Il n'existe guère de problèmes sans solution, et parfois l'absence de solution décourage le problème

  8. #8
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    Citation Envoyé par Gregory666 Voir le message
    Projet datasnap
    le projet fonctionne localement, la règle de routage semble correcte, il peut encore être question du Firewall Windows.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2012
    Messages : 142
    Points : 80
    Points
    80
    Par défaut Firewall Windows
    Citation Envoyé par Paul TOTH Voir le message
    le projet fonctionne localement, la règle de routage semble correcte, il peut encore être question du Firewall Windows.
    Bonjour Paul TOTH,

    Effectivement cela venez du Firewall Windows la réglé du "Projet1.exe" a été désactivé pour je sais quel raison peu être le faite que j'ai exécuté d'autre "Projet1.exe" sous des ports différent

    Finalement cela fonctionne avec la translation (NAT).

    Pour les éventement du serveur "WebModule" ,j'ai associer un "TIdServerInterceptLogEvent".

    A quoi sert le "DSServer" & "DSHTTPWebDispatcher" dans le projet car aucune "Procedure" pointe sur c'est composants ?

    Merci pour votre aide.
    Il n'existe guère de problèmes sans solution, et parfois l'absence de solution décourage le problème

Discussions similaires

  1. [J2EE-JSP] Optimisation - Serveur web html
    Par ohyes_ dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/08/2007, 21h28
  2. [eclipse 3.0.1]plugins pour dvlp web HTML / CSS / PHP
    Par partyboy dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/10/2004, 11h46

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