Annonce

Réduire
Aucune annonce.

[RPi, Nginx, PHP, Python, Java] Un beau mélange de galère

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • [RPi, Nginx, PHP, Python, Java] Un beau mélange de galère

    Bonjour à tous,

    Tout d'abord, veuillez m'excuser si je ne poste pas au bon endroit.
    Merci au staff de bien vouloir déplacer mon sujet.

    Je sais qu'il y a des experts pythons sur ce forum, et tout un tas d'experts dans d'autres domaines.

    Je suis sur un projet scolaire de boîtier de communication.

    Notre boîtier est un Raspberry Pi embarquant un serveur LEMP (Linux, EngineX, MySQL, PHP).
    Nous avons prévu de faire un site d'administration du boîtier en PHP.

    À coté, nous voulons créer une application Android (donc Java), récupérant des informations depuis le boîtier.

    Je pensais donc faire communiquer le programme Java avec un script Python sur le RPi, qui effectuerait la requête auprès de la base de données et la retournerait à l'appli Android.


    Mais plusieurs choses compliquent le projet.
    Déjà Nginx et Python ne sont pas très potes, et Nginx ne supporte pas nativement le python.
    J'ai trouvé une solution permettant de faire fonctionner le tout en utilisant WSGI et Django.
    A priori je pourrais ainsi communiquer avec mon application Android.

    De ce fait, est il utile de faire un script python pour cela, ne pouvons nous pas nous contenter de le faire en PHP vu qu'on aura déjà un site?

    Par contre, nous aimerions pouvoir gérer plusieurs utilisateurs de smartphones simultanément, cad que plusieurs applications pourraient communiquer et récupérer des informations en même temps.

    On peut aussi faire le site en python.

    Comme nous sommes sur un RPi, nous recherchons un minimum d'optimisation, c'est pour cela que nous avons pas pris Apache qui est très lourd.

    Merci pour votre aide et vos conseils à venir.

    Cordialement

    B2B

  • #2
    Bonsoir,

    Il y a beaucoup de fausses idées, alors je vais essayer de ne rien oublier, tellement il y a de solutions.

    Je sais qu'il y a des experts pythons sur ce forum, et tout un tas d'experts dans d'autres domaines.
    Personnellement, mon langage préféré est le python, mais je connais aussi le C/C++/Java...

    Tout ce qui est langage Web je ne maîtrise pas, donc quand tu parles de PHP, je n'essaierais pas de contredire.

    À coté, nous voulons créer une application Android (donc Java), récupérant des informations depuis le boîtier.
    Alors oui, java est le langage de prédilection pour bosser sur Android, mais on peut faire
    • du python avec Kivy
    • de l'algorithme assisté avec un créateur d'application Android en ligne (en lien mon préféré)
    • du java (je conseille fortement eclipse, malgré peut-être des difficultés au niveau configuration)


    Je pensais donc faire communiquer le programme Java avec un script Python sur le RPi, qui effectuerait la requête auprès de la base de données et la retournerait à l'appli Android.
    Alors comme je l'ai dis, Kivy (je ne connais pas) devrait te permettre d'éviter certains interfaçages entre langages, sachant que python permettra l'utilisation du module sqlite3 pour la base de données par exemple.

    Java est pas mal non plus pour bosser sur Android, j'ai fais quelques applications pour tester ça fonctionne bien...

    De ce fait, est il utile de faire un script python pour cela, ne pouvons nous pas nous contenter de le faire en PHP vu qu'on aura déjà un site?
    Vous pouvez aussi créer un serveur CGI en python, plus sqlite3, plus Kivy... ?

    Commentaire


    • #3
      Bonsoir fred,

      J'espérais que vous verriez mon sujet car ayant regarder vos cours, je suis persuadé que vous allez pouvoir grandement m'aider.

      L'application Android n'aura "peut-être" pas besoin d'être mise en place, du moins pour l'instant, car nous n'en avons pas vu l'utilité.
      Cela peut être amené à changer.

      Comme je vous ai expliqué, et c'est le point le plus important, nous utilisons NGINX comme serveur web. Il y aura un site web, mais on n'a pas besoin d'en tenir compte pour le moment.
      Je sais que nginx peut etre compatible avec python en installant WSGI et gnunicorn. Sinon il me semble que les deux ne sont pas compatibles, et python ne pourra pas utiliser le protocole HTTP. Après je peux me tromper, mais c'est ce que j'ai compris après mes recherches.

      En faite, l'application va se connecter au boiter via Wifi. Donc avons nous besoin du python pour envoyer une requete à la BDD et la retourner à l'application. Java doit pouvoir le faire via JDBC.

      J'ai beaucoup de questions concernant cela.

      Après c'est peut etre plus simple pour vous de proposer une solution en ayant juste la base du projet que je vais vous donner.

      Alors, l'idée est de créer plusieurs boitiers (le boitier est un raspberry pi avec un module wifi). On a plusieurs boitiers qui ont la mm architecture, mais dont le contenu, les informations présentes sur les divers boitiers sont différentes mais on le mm format.
      Notre application se connecte à n'importe quel boitier et récupère l'information présente dessus (qu'on choisit de lui donner).

      Je me demande dans un premier temps quel protocole utilisé pour communiquer entre le boitier et le smartphone android.
      De la découleront les langages à utiliser pour l'application Android et pour le script du boitier.

      J'espère etre clair.

      N'hésitez pas à me poser des questions ou me demander plus de détail.

      Je vous remercie pour votre aide.

      Cordialement

      B2B

      Commentaire


      • #4
        Alors, l'idée est de créer plusieurs boitiers (le boitier est un raspberry pi avec un module wifi). On a plusieurs boitiers qui ont la mm architecture, mais dont le contenu, les informations présentes sur les divers boitiers sont différentes mais on le mm format.
        Tu utilises raspbian ?

        Je me demande dans un premier temps quel protocole utilisé pour communiquer entre le boitier et le smartphone android.
        bluetooth ?

        Il y a des applications (je pense à BlueTerm) qui permettent de vérifier que la communication bluetooth entre raspberry pi et mobile fonctionne. Tu peux aussi t'en écrire une en java, là sortir au format apk (eclipse le fait très bien) et faire tes tests.

        Commentaire


        • #5
          Merci pour ton retour,

          Oui en effet j'utilise raspbian pour sa stabilité.

          Le BLE (Bluetooth Low Energy) sera aussi implémenter, mais pas pour le premier prototype. Les débits étant plus rapides en Wi-Fi on se concentre sur le wi-fi, et quand cela sera fonctionnel on implémentera la BLE pour donner plus de flexibilité

          Commentaire

          Chargement...
          X