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

  1. #1
    Membre à l'essai
    Quelle architecture utiliser pour la création d'une application mobile de Tchat en ligne ?
    Bonjour !
    J'espère que vous allez bien ?

    Je voudrais vous soumettre une préoccupation. Je suis un peu nouveau dans le domaine et j'aimerais avoir vos avis et si possible une orientation.

    Préoccupation :

    J'aimerais développer une application mobile de Tchat instantanée en ligne. L'application dès le démarrage, devra demander à l'utilisateur de se connecter via son compte Google afin de s'inscrire et avoir accès au forum de discussion. L'application prendra alors juste les informations nécessaires pour créer le profil de l'utilisateur et l'afficher.

    Mais, je suis un peu perdu dans la marche à suivre.

    1- J'ai discuté avec quelques potes développeurs d'applications web qui me conseille d'utiliser du REST Full pour le codage de la partie serveur et Client mais comment utiliser ce dernier pour un hébergement mutualisé avec Delphi. J'ai appris que Delphi avait la possibilité de développer des WebServices mais peut-on déployer sur un tel serveur ?

    2- Comment faire pour envoyer les messages de façons instantanées alors que je n'ai qu'un hébergement web mutualisé....J'ai pensé à Firebase, Back4app et autres mais je me demande comment enregistrer les données utilisateur dans ma propre base.

    3- Pour mon Profil d'utilisateurs, quel format de données vous me conseillez ? Dois-je créer une classe TProfil ou autres...

    Merci beaucoup pour votre attention.

    PS : J'utilise Delphi Community 10.3.3

  2. #2
    Expert éminent sénior
    l'hébergement pour un programme Delphi est possible, pour un serveur REST, cela peut être sur Linux ou Windows, le problème c'est le prix, plus cher qu'un server Apache pour PHP.
    Sinon, ton propre PC, un bon firewall et une IPv6 publique fixe, peut-être un nom de domaine.

    Vu que cela passe par l'api Auth de Google, faudrait poursuivre avec des API Google mais sans serveur, cela semble compliqué,
    sur PC sur un LAN, je t'aurais dit une forme de Peer-to-Peer, j'avais bricolé un TChat qui faisait le scan des IP de son sous-réseau, j'avais même essayé un Broadcast UDP mais c'est pas possible en mobile.

    Sans serveur, je ne vois pas comment ça pourrait être réalisé, voir si il est possible d'utiliser un fichier ou un petite base de données stockés sur un compte Google.

    Pour la structure du code, il te faut identifier les "acteurs" et les "actions",
    étudiant, tu dois surement respecter des méthodes comme UML, faire tes diagrammes MLD, MOT ...
    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 expérimenté
    Il y a pas mal d'exemples sur Youtube, ça pourrait te donner des idées de mise en place.

    Pas de soucis pour le faire avec la CE, elle a tout ce qu'il faut. En revanche tu ne pourras faire la partie serveur si tu es hébergé sous du Linux puisque le compilateur n'est fourni qu'à partir des versions Enterprise. donc il faudra te contenter de EXE ou DLL Windows à mettre sur ton mutu à condition qu'il le gère.

    Tu peux aussi faire la partie cliente en Delphi, utiliser Firebase pour les notifications et la base de données et faire tes modules sources en PHP ou autre langage serveur selon ton choix d'hébergement.

    REST ou pas REST, c'est un peu une question bidon imposée par du marketing. En pratique tu prévois des URL accessibles en GET ou POSt pour tout ce dont tu as besoin et tu peux soit utiliser les composants d'accès directs aux couches réseau (TNetHttpClient / TNetHttpRequest), les classes (THttpClient / THttpRequest) ou bien entendu les composants REST (TRESTClient / TRESTRequest) si tu veux confier à Delphi le traitement des résultats et aller jusqu'à les obtenir sous forme de tables en mémoire, mais pour des simples envois/réceptions de textes, je ne suis pas certain qu'il faille aller si loin.

  4. #4
    Membre à l'essai
    Citation Envoyé par ShaiLeTroll Voir le message
    l'hébergement pour un programme Delphi est possible, pour un serveur REST, cela peut être sur Linux ou Windows, le problème c'est le prix, plus cher qu'un server Apache pour PHP.
    Sinon, ton propre PC, un bon firewall et une IPv6 publique fixe, peut-être un nom de domaine.

    Vu que cela passe par l'api Auth de Google, faudrait poursuivre avec des API Google mais sans serveur, cela semble compliqué,
    sur PC sur un LAN, je t'aurais dit une forme de Peer-to-Peer, j'avais bricolé un TChat qui faisait le scan des IP de son sous-réseau, j'avais même essayé un Broadcast UDP mais c'est pas possible en mobile.

    Sans serveur, je ne vois pas comment ça pourrait être réalisé, voir si il est possible d'utiliser un fichier ou un petite base de données stockés sur un compte Google.

    Pour la structure du code, il te faut identifier les "acteurs" et les "actions",
    étudiant, tu dois surement respecter des méthodes comme UML, faire tes diagrammes MLD, MOT ...
    Merci beaucoup pour vos suggestions ! Je vais en prendre note

  5. #5
    Membre à l'essai
    Tu peux aussi faire la partie cliente en Delphi, utiliser Firebase pour les notifications et la base de données et faire tes modules sources en PHP ou autre langage serveur selon ton choix d'hébergement.

    Merci beaucoup pour vos propositions. Si je devrais optez pour cette solution quel hébergeur me proposeriez-vous ?

  6. #6
    Membre expérimenté
    Citation Envoyé par aso14 Voir le message
    Merci beaucoup pour vos propositions. Si je devrais optez pour cette solution quel hébergeur me proposeriez-vous ?
    Tous les hébergeurs proposent PHP sur leurs hébergements mutualités, donc peu importe en fait. Par contre si son nom est composé de deux chiffres identiques, surveiller les options offertes / payantes ou ajoutées aux factures après quelques mois parce qu'on aurait oublié de cliquer sur le lien d'annulation envoyé dans un mail jamais reçu.

  7. #7
    Membre à l'essai
    Citation Envoyé par pprem Voir le message
    Tous les hébergeurs proposent PHP sur leurs hébergements mutualités, donc peu importe en fait. Par contre si son nom est composé de deux chiffres identiques, surveiller les options offertes / payantes ou ajoutées aux factures après quelques mois parce qu'on aurait oublié de cliquer sur le lien d'annulation envoyé dans un mail jamais reçu.
    Ok je comprends mieux ! Faisant quelques recherches, j'ai trouvé un hébegeur, du nom de AMEN. Est-ce que avec ça je peux développer entièrement la partie Serveur avec Delphi ? Parce que en ce qui concerne PHP , je ne sais pas encore très bien comment m'y prendre.


    Que pensez - vous de strapi ? Je peux l'utiliser ?

  8. #8
    Membre expérimenté
    Citation Envoyé par aso14 Voir le message
    Ok je comprends mieux ! Faisant quelques recherches, j'ai trouvé un hébegeur, du nom de AMEN. Est-ce que avec ça je peux développer entièrement la partie Serveur avec Delphi ? Parce que en ce qui concerne PHP , je ne sais pas encore très bien comment m'y prendre.


    Que pensez - vous de strapi ? Je peux l'utiliser ?
    Si tu prends un hébergement Windows ça peut se faire puisque tu es avec la Community Edition. Regarde les librairies REST sur GitHub comme Delphi MVC Framework ou l'une des dizaines d'autres comme tu peux tenter avec WebBroker.

    N'ayant pas le compilateur Linux dans ta version tu ne pourras pas cibler un hébergement en Linux 64 bits.

  9. #9
    Membre à l'essai
    Citation Envoyé par pprem Voir le message
    Si tu prends un hébergement Windows ça peut se faire puisque tu es avec la Community Edition. Regarde les librairies REST sur GitHub comme Delphi MVC Framework ou l'une des dizaines d'autres comme tu peux tenter avec WebBroker.

    N'ayant pas le compilateur Linux dans ta version tu ne pourras pas cibler un hébergement en Linux 64 bits.
    Merci beaucoup pour vos apports !!

###raw>template_hook.ano_emploi###