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 :

Le développement Intraweb avec Delphi, un tutoriel de Dany Leblanc


Sujet :

Delphi

  1. #1
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 929
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 929
    Points : 59 395
    Points
    59 395
    Billets dans le blog
    2
    Par défaut Le développement Intraweb avec Delphi, un tutoriel de Dany Leblanc
    Le développement Intraweb avec Delphi
    Un tutoriel de Dany Leblanc



    Delphi est essentiellement connu comme étant un environnement de développement permettant de construire rapidement des applications riches et robustes pour Windows, Mac et mobiles. Son utilisation pour la réalisation d'applications destinées à s'exécuter dans un navigateur est moins connue. Il dispose pourtant de quelques frameworks lui permettant d'apporter ses atouts également à ce type de projet. Dany Leblanc propose dans cet article de présenter Intraweb, qui est probablement le framework le plus connu puisque sa version bundle est intégrée à Delphi.

    http://dany-leblanc.developpez.com/t...lphi/intraweb/

    Qu'en pensez-vous ?
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  2. #2
    Futur Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 2
    Points : 9
    Points
    9
    Par défaut Intraweb Performance
    J'ai vraiment apprécié votre article et j'ai hésité à utiliser Intraweb dans la production.
    Ma question est : combien de users peuvent être supportés ? La charge sur le serveur... Bref les performances d'une telle application dans le monde réel.

  3. #3
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 215
    Points : 2 303
    Points
    2 303
    Par défaut
    Bonjour,

    Nous utilisons ce framework dans le monde réel depuis plusieurs années maintenant. Nous avons déployé plusieurs applications, dont certaines critiques et conséquentes (un configurateur produit par exemple) qui ont des centaines d'utilisateurs. Je n'ai jamais fait de statistiques sur le nombre maximum d'utilisateurs simultanés, mais nous n'avons pas de remontée de plainte d'utilisateur concernant des problèmes de lenteur d'accès. Après je dirais que la limitation va être celle du réseau et du serveur qui héberge l'application. Il est clair que si vous avez une grosse application qui a besoin de répondre à des milliers de connexions en simultanées, il va falloir mettre en oeuvre une architecture adéquate, et ce d'ailleurs quelle que soit la techno utilisée.

    Un des gros avantages du framework est la gestion aisée de la session utilisateur, mais elle a son revers puisque du coup chaque utilisateur consomme un petit peu de mémoire le temps de sa session. Il faut donc être vigilant sur ce qu'on laisse en mémoire sur ses sessions et en règle générale, comme pour toute application serveur, il faut être attentif aux fuites mémoires qui deviennent vite coûteuses.

    Les vrais freins selon moi sont plutôt le fait que le produit n'est pas gratuit (bien que dans un contexte commercial cela est moins important dans la mesure où le coût d'acquisition est vite rentabilisé par le gain de productivité sur le développement) et surtout le fait qu'on soit limité à la plateforme Microsoft, ce qui implique des hébergements plus chers. Et tout ceci exclut du coup quasiment tous les utilisateurs hobbyistes ou ceux qui se lancent dans un projet avec peu de moyens. Le problème de la plateforme devrait normalement bientôt se régler, puisque Embarcadero va bien finir par nous sortir le compilateur Linux tant attendu.

    @++
    Dany

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 017
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par skywaukers Voir le message
    Et tout ceci exclu du coup quasiment tous les utilisateurs hobbyistes ou ceux qui se lancent dans un projet avec peu de moyens.
    pour les hobbyistes (donc ceux qui veulent "jouer'" avec ?) ou pour ceux avec peu de moyens, je ne pense pas que les projets s'adresseraient à un nombre d'utilisateurs importants attention tout de même selon les versions de Delphi (et donc de INDY) le nombre de sessions simultanées peut être limités
    Le problème de la plateforme devrait normalement bientôt se régler, puisque Embarcadero va bien finir par nous sortir le compilateur Linux tant attendu
    ah oui, cela tarde, moi aussi j'attends avec impatience, mais Indy fera t-il partie de la fournée ? Datasnap oui c'est un des objectifs mais rappelons que ce sera une compilation LINUX "serveur" (pas GUI quel dommage)

    juste un point il est dommage que tu n'ai qu'effleuré les templates mais peut être que cela pourrait faire un autre sujet .
    [Mode AUTO satisfaction]
    Je suis assez content de mes exploits templates+JQuery, bien que JQuery ayant évolué il va me falloir revoir ma copie avec les CSS
    [Fin Mode]
    du coup ta partie sur les CSS va m'aider
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut
    Bonjour Dany,

    Merci pour cet excellent article d'autant que la documentation ne court pas les rues. Le problème comme le souligne Serge, c'est l'OS pour l'instant. Il n'est pas question que nous adoptions un serveur Windows. D'ailleurs notre hébergeur -chez qui nous ne possédons que des serveurs dédiés Linux- ne nous propose pas cette option et comme on travaille ensemble depuis de nombreuses années, il n'est pas question de changer. On attend donc avec impatience une approche Linux... et un retour sur la mise en oeuvre

    Cordialement. Gilles

  6. #6
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2002
    Messages : 66
    Points : 191
    Points
    191
    Par défaut Super article !
    Merci Dany pour cet exploit d'allier concision et couverture fonctionnelle.
    La documentation est effectivement peu fournie et des tutoriels de cette ampleur sont rarrissimes.
    Donc à traduire d'urgence en anglais !!

    Intraweb est un framework que j'utilisais occasionnellement depuis une 10aine d'année.
    Mais depuis 5 ans, poussé par la demande, je m'en sert désormais pour quasiment tous mes nouveaux projets.
    J'ai pourtant expérimenté d'autres solutions, mais au-delà du seul langage Pascal, c'est la seule technologie web qui me permet de réellement capitaliser sur mes compétences Delphi.
    Malgré le peu de considération persistant vis à vis du développement web RAD non natif, Intraweb a su montrer sa stabilité.
    Un temps appelé "VCL for the Web", il n'a jamais été totalement intégré à Delphi, et mon impression était qu'on le gardait faute de mieux.
    Il a au fil des versions très bien évolué en performances, robustesse et s'est adapter aux évolutions des navigateurs tou t en maintenant une bonne compatibilité ascendante.

    Les choses qui m'ont le plus freiné pour véritablement l'adopter étaient la nécessité de maîtriser le CSS pour améliorer le look, et la nécessité de maîtriser JS pour certains comportements.
    Remarque : tu n'as pas évoqué les événements asynchrones qui permettent de faire par exemple des rafraîchissements partiels de l'interface via des appels "AJAX maison" (avant l'heure) de manière totalement transparente.
    Cela permet par exemple de traiter encore plus facilement ton exemple de contrôle de saisie entièrement en Pascal... au prix d'un aller-retour serveur pour l'exécution du code.
    Mais bien sûr, JavaScript reste nécessaire pour garantir les performances sur des interactions locales avec l'utilisateur.

    J'ai découvert il y a 2 ans la librairie tierce de CGDevTools basée sur jQuery : http://www.cgdevtools.com/
    Après celle de TMS c'est la 2ème à s'appuyer sur ce framework. Preuve s'il en est de sa qualité.
    Et là, plus de complexes vis à vis des collègues, le résultat est absolument bluffant !
    Bien sûr, il y a un impact sur le coût (Delphi Pro + Intraweb Ultimate + CGDevTools), mais c'est devenu je pense abordable pour un développeur professionnel.

    J'ai toujours eu dans l'idée qu' Intraweb, tout comme Delphi, est beaucoup plus utilisé qu'on ne le suppose !
    Les gens ayant peu de problèmes, en parlent simplement moins sur les forums.

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 017
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    J'ai découvert il y a 2 ans la librairie tierce de CGDevTools basée sur jQuery : http://www.cgdevtools.com/
    outil que je ne connaissais pas, merci du partage ! Quand je pense que je me suis tout coltiné à la main en m'appuyant sur cette vidéo
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre habitué

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2002
    Messages : 66
    Points : 191
    Points
    191
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Quand je pense que je me suis tout coltiné à la main en m'appuyant sur cette vidéo
    Effectivement c'est bien expliqué.
    Ca me fait penser au "Page Mode" d'Intraweb et à la programmation via WebBroker, etc.
    Une façon de faire qui nous éloigne du RAD, mais développe indéniablement des compétences en HTML/JS...

    Ce n'est pas un investissement perdu pour l'utilisation de IWCGjQuery Suite (CGDevTools) car le CSS et une touche de JS sont souvent utiles pour tirer le meilleur parti des composants.
    A noter que leur forum est découpé par composants, ce qui fait une super base de connaissance, et que le support est top !

  9. #9
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2010
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2010
    Messages : 192
    Points : 71
    Points
    71
    Par défaut
    Salut tous le monde et un grand merci à Dany pour l'article, alors moi j'ai une question concernent l'utilisation de DataTables de JQuery que j'utilise avec IntraWeb, à l'ouverture de la page l'affichage prend beaucoup de temps pour afficher les données sur la table, sachant que la table contient 18500 ROWS, que faire pour que l'affichage de fait instantanément en 50 lignes, je suis coincé merci à tous.

    Delphi 10.2 Tokyo
    Intraweb 14.0
    Windows 8.1

  10. #10
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par masterdash Voir le message
    Salut tous le monde et un grand merci à Dany pour l'article, alors moi j'ai une question concernent l'utilisation de DataTables de JQuery que j'utilise avec IntraWeb, à l'ouverture de la page l'affichage prend beaucoup de temps pour afficher les données sur la table, sachant que la table contient 18500 ROWS, que faire pour que l'affichage de fait instantanément en 50 lignes, je suis coincé merci à tous.

    Delphi 10.2 Tokyo
    Intraweb 14.0
    Windows 8.1
    Tu devrais ouvrir un nouveau sujet sur le forum car même si ta question touche Intraweb elle est quand même un peu spécifique à ton besoin.

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 017
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par pprem Voir le message
    Tu devrais ouvrir un nouveau sujet sur le forum car même si ta question touche Intraweb elle est quand même un peu spécifique à ton besoin.
    Déjà fait https://www.developpez.net/forums/d1...us-18000-rows/
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  12. #12
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    ah, oui, en effet, et tu as déjà bien plié le sujet

    je me perds dans "l'ergonomie" de ce site mais ça aussi c'est un autre sujet

Discussions similaires

  1. Développement ios avec Delphi XE4
    Par Thierry Laborde dans le forum EDI
    Réponses: 0
    Dernier message: 25/05/2013, 14h38
  2. Réponses: 9
    Dernier message: 08/01/2007, 11h41
  3. Réponses: 2
    Dernier message: 21/03/2002, 00h01

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