Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/01/2013, à 12:21

LR

Envoyer des messages du rez-de-chaussée au sous-sol

Salut,

Je cherche un moyen hyper-simple à mettre en oeuvre pour un Café-restaurant. Le but est de permettre à un serveur qui travaille au rez-de-chaussée d'envoyer les commandes au cuisinier qui travaille au sous-sol.

Je pense faire une petite interface vraiment basique en javascript avec juste un peu de php derrière pour qu'il puisse créer une commande, y ajouter les choix des clients et l'envoyer à la cuisine.

Au départ, je pensais utiliser le mail: une fois que la commande est saisie, il clique sur "envoyer" et ça génère un mail (destinataire, sujet, body) avec mailto.

Je pense pouvoir faire ça facilement mais je préférerais une solution 100% interne afin de ne pas être tributaire de la connexion internet, du serveur mail ou autre. Il faudrait être tributaire uniquement des composants locaux : PC du rez, PC de la cuisine et routeur.

Est-ce facile de configurer une messagerie email interne? Connaissez-vous un autre moyen?

Au niveau système, je bidouille un peu mais sans plus...

Merci d'avance

Hors ligne

#2 Le 09/01/2013, à 19:54

shoot76

Re : Envoyer des messages du rez-de-chaussée au sous-sol

Tu veux un programme bash ou un programme JavaScript ?

Parce que en Bash c'est vraiment super simple, surtout si les pc sont sous linux tous les deux, ça simplifie grandement le travail de programmation :

Un tableau Zenity avec des cases pour la sélection du client, le tout enregistré dans une variable que tu adresse vers le pc en cuisine avec les infos que tu veux style n° de table par exemple.

Je pense que si tu t'y connais un peu en bash ça devrait te prendre beaucoup moins de temps qu'en Java

La connexion en réseau local étant simpliste :

ssh tonlogin@hostname_du_pc_destinataire

~ Data-sientist freelance : https://skulder.fr

Hors ligne

#3 Le 10/01/2013, à 11:17

LR

Re : Envoyer des messages du rez-de-chaussée au sous-sol

@shoot76: merci pour ta réponse. Je ne connais pas zenity et je ne suis pas sûr de pouvoir imposer linux sur les deux machines.

Pour l'instant, j'ai une db mysql avec la table
CHOIX
=====
idChoix
nomChoix (par ex. "Côtes de porc aux herbes")
typeChoix (par ex. "Plat du jour")

J'ai codé en php ce qui permet de modifier les données de cette table.

J'ai une page commande.php qui récupère les données de la table et génère une page html/javascript contenant un tableau avec deux colonnes:
- choix
- commande

Quand le serveur clique sur un choix, ça ajoute le plat à la commande en javascript (divs).

Quand le serveur clique sur "envoyer", ça fait un mailto en javascript qui ouvre un nouveau mail (thunderbird) déjà pré-rempli:
- sujet: "Commande"
- destinataire: "cuisine@resto"
- body: "1x Côtes de porc aux herbes, 1x salade verte"

Si j'ai bien compris, avec ce que tu proposes, lorsque le serveur clique sur "envoyer", il faudrait faire une requête à un script php local qui ouvre une connexion ssh sur le pc de la cuisine et lui passe une variable contenant un tableau zenity dans le but d'ouvrir une boîte de dialogue sur le pc de la cuisine pour afficher la commande?

Dans ce cas, il serait peut-être plus simple que le clique sur "envoyer" poste simplement un formulaire vers un script php hébergé sur le pc de la cuisine. La commande serait enregistrée dans une db et le cuisinier aurait en permanence ouverte une page "commandes.php" qui s'autorafraichirait toutes les 30 secondes pour faire apparaître les nouvelles commandes.

Ou encore plus simple, le script php de traitement du formulaire pourrait être sur le pc du rez-de-chaussée puisqu'il a déjà une db mysql et apache/php. Et le pc de la cuisine rafraîchirait une page commandes.php qu'il irait chercher avec firefox sur le pc du rez-de-chaussée.

Ca serait une bonne solution je pense, le seul inconvénient étant de devoir gérer l'affichage des commandes alors qu'un client mail fait ça très bien.

Est-il possible de configurer très facilement un serveur mail sur une machine linux de façon à ce qu'on puisse configurer le thunderbird du rez-de-chaussée pour qu'il utiliser le serveur smtp local et le thunderbird de la cuisine pour qu'il utilise l'imap local? Si c'était vraiment facile ce serait top!

Hors ligne

#4 Le 10/01/2013, à 11:32

shoot76

Re : Envoyer des messages du rez-de-chaussée au sous-sol

Pour ce qui est du mailing en intranet je suis pas du tout calé. Mais je ne faisais même pas appel à un mailing interne, ni du php.

Ta machine est sous Ubuntu je suppose si tu posts ici, tape donc ceci dans ton terminal :

zenity --info --text="Table 12 : Côte de porc aux herbes, et flambi en dessert"

Je parlais simplement d'envoyer des "pop-up" via zenity, générées automatiquement par un script sur le pc du rez de chaussé lors des choix du serveur. On enregistre ces choix dans une variable, et on envoie le tout au pauvre cuisto qui se fait harceler ^^


~ Data-sientist freelance : https://skulder.fr

Hors ligne

#5 Le 10/01/2013, à 11:40

LR

Re : Envoyer des messages du rez-de-chaussée au sous-sol

C'est pas mal mais je suppose qu'il faudrait que le cuisinier puisse avoir sous les yeux plusieurs commandes en même temps.

Et je ne vois pas comment, depuis ma page html, exécuter cette commande dans le terminal. Ni comment faire pour qu'elle s'exécute sur le terminal du PC de la cuisine.

Je vais poster un nouveau sujet pour le mail.

Hors ligne

#6 Le 10/01/2013, à 12:13

shoot76

Re : Envoyer des messages du rez-de-chaussée au sous-sol

Je t'ai rédigé un petit exemple, bien sûr il est à modifier, j'ai fait ça à la va vite pour te montrer à quoi ça peut ressembler. J'ai prit en compte ton intérêt pour l'envoie de mail plutôt qu'une popup, et j'ai ajouté le msmtp (qui est une fonction permettant l'envoi de mail via bash, avec quelques petits réglages après installation : voir ici)

voici le code :

#!/bin/bash

choix=$(zenity --list --checklist --text="Choisir une action" --column="" --column="Actions" FALSE "Ajouter une entrée" FALSE "Ajouter un plat" FALSE "Ajouter un dessert")
if [ "$choix" = "Ajouter une entrée" ]; then 
	entree=$(zenity --list --checklist --text="Choisir une action" --column="" --column="Actions" FALSE entrée1 FALSE Entree2 FALSE "Entree3")
elif [ "$choix" = "Ajouter un plat" ]; then
	plat=$(zenity --list --checklist --text="Choisir une action" --column="" --column="Actions" FALSE plat1 FALSE plat2 FALSE plat3)
else
	dessert=$(zenity --list --checklist --text="Choisir une action" --column="" --column="Actions" FALSE dessert1 FALSE dessert2 FALSE dessert3)
fi

table=$(zenity --entry --text="Entrer le numéro de la table")

echo -e "Commande pour la table $table :\n entrées : $entree\n plat : $plat\n dessert : $dessert" #| msmtp TON_EMAIL

Pour le moment on ne peut pas choisir d'ajouter un plat, un dessert et une entrée à la fois, faut le faire un part un, mais comme je te l'ai dis, c'est un exemple, j'allais pas le prendre la tête si c'est pour ne pas être utilisé ^^

qui te donne un rendu comme celui-ci :

Commande pour la table 12 :
 entrées : Entree2
 plat : 
 dessert :

En faisant comme ça, il ne te faut plus qu'un seul pc sous Linux (celui qui fait la commande), et l'autre reçoit directement un mail à son adresse. Voila.

Dernière modification par shoot76 (Le 10/01/2013, à 12:15)


~ Data-sientist freelance : https://skulder.fr

Hors ligne

#7 Le 10/01/2013, à 12:22

LR

Re : Envoyer des messages du rez-de-chaussée au sous-sol

Merci bien pour ton aide, je vais étudier encore la question smile

Hors ligne

#8 Le 10/01/2013, à 14:45

EdLeH

Re : Envoyer des messages du rez-de-chaussée au sous-sol

bonjour,

une idée qui vaut ce qu'elle vaut :
une page html qui se recharge régulièrement côté cuisine, et que le serveur modifie de son côté.
Chaque fois que le serveur enregistre ses modifications, elles sont affichées en cuisine au chargement suivant.

O-

Hors ligne

#9 Le 11/01/2013, à 19:51

compte supprimé

Re : Envoyer des messages du rez-de-chaussée au sous-sol

une base de donnée , un serveur web, une messagerie mail pour envoyer : steack bien cuit avec frite et mayonnaise  .. c'est pas un peu lourd ?? faut arrêté de mettre des technos web partout ... c'est prendre une bombe atomique pour pour tuer une bactérie non pathogène !! un buffer , les sockets,une petite interface (même en javascript maintenant, si tu veux ...)  et roule mon kiki  (sur n'importe quel OS) !!

Dernière modification par sogyam (Le 13/06/2013, à 11:47)

#10 Le 11/01/2013, à 20:31

Korak

Re : Envoyer des messages du rez-de-chaussée au sous-sol

Bonjour,

Une base de données n'est pas a exclure.

Un PC qui sert de serveur pour la base de données et aussi pour l'encodage des commandes et un PC client qui sert a recevoir les commandes. Ou l'inverse: un PC qui sert pour l'encodage des commandes et un PC qui sert de serveur de base de données et pour la réception des commandes.

Le problème est de mettre en œuvre cette solution étant donné que la base de données n'est pas à la portée de tout le monde.

Quand on sait comment faire, c'est l'idéal avec un formulaire avec choix multiple pour les commandes et un formulaire (non modifiable) pour la réception.


OS: Ubuntu 22.04 64 bits + Windows 11 64 bits en dualboot (BIOS UEFI, Secure Boot activé et table de partitions GPT)
PC portable HP 17-CP0308NF   Processeur: AMD Ryzen 7 5700U avec carte graphique AMD Lucienne intégrée au processeur.   Mémoire vive: 16 Go RAM
Quand vous ne trouvez pas la solution à un problème, cherchez des pistes menant à la solution !

Hors ligne

#11 Le 11/01/2013, à 20:51

compte supprimé

Re : Envoyer des messages du rez-de-chaussée au sous-sol

j'aurais bien une solution pour gérer les sauces, mais faut louer un cluster .... lol  (mode troll)

non sans rigoler, vous êtes sérieux ??? une bdd, serveur web et tout ça ??? tu veux gérer, à distance, les cantines scolaires de toute l'europe ??? je m'intérroge ...
Tiens pour le coup je vais réfléchir à un moyen le plus simple possible pour ton problème en étant portable et léger.
Je te donne des nouvelles demain (là je file à un concert )

Dernière modification par sogyam (Le 12/01/2013, à 15:01)

#12 Le 11/01/2013, à 21:07

Korak

Re : Envoyer des messages du rez-de-chaussée au sous-sol

sogyam a écrit :

non sdans rigoler, vous êtes sérieux ??? une bdd, serveur web et tout ça ???

Pour moi, c'est non.

Juste un des PC qui fait office de serveur de base de données en plus de son rôle de PC traditionnel.

Pas forcément besoin d'un serveur web et autres.....


OS: Ubuntu 22.04 64 bits + Windows 11 64 bits en dualboot (BIOS UEFI, Secure Boot activé et table de partitions GPT)
PC portable HP 17-CP0308NF   Processeur: AMD Ryzen 7 5700U avec carte graphique AMD Lucienne intégrée au processeur.   Mémoire vive: 16 Go RAM
Quand vous ne trouvez pas la solution à un problème, cherchez des pistes menant à la solution !

Hors ligne

#13 Le 12/01/2013, à 04:01

compte supprimé

Re : Envoyer des messages du rez-de-chaussée au sous-sol

il n'y a pas de concurence, même s'il y a 10 entrées, 10 plats et 10 desserts + le reste de la carte, amha un simple fichier suffira non ? on configure des softs beaucoup plus lourd avec beaucoup plus de données avec cette méthode n'est ce pas ?

Dernière modification par sogyam (Le 12/01/2013, à 04:03)

#14 Le 12/01/2013, à 05:55

nesthib

Re : Envoyer des messages du rez-de-chaussée au sous-sol

Je pense que c'est s'embêter et chercher compliqué pour rien…
Il suffit d'installer un client XMPP comme pidgin et de rechercher les clients du réseau local en utilisant le protocole bonjour. Ça prend 5 minutes à mettre en place.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#15 Le 16/01/2013, à 12:42

LR

Re : Envoyer des messages du rez-de-chaussée au sous-sol

Merci pour vos réponses.

En fait, j'aurais pu faire sans php et mysql. J'aurais pu faire une simple page html qui contienne les données en dur:
- tables
- plats du jours
- autres plats
- commande en cours
- bouton envoyer

En fait c'est le cas, je l'ai cette page, sauf que ses données sont générées en php depuis mysql et qu'à coté il y a une interface pour les modifier. Mais ça n'aurait pas été nécessaire car en réalité, la carte ne change presque jamais, le placement des tables non plus et les plats du jours peuvent être identifiés comme "menu 1" et "menu 2".

Le reste est géré en javascript. Il y a un div pour la commande qui contient un div pour le no de la table, un div pour les plats.

Quand on clique sur un plat, ça l'ajoute à la commande. Si on reclique dessus ça incrémente un numéro ("2x côtes de porc marinées aux herbes"). Si on clique sur un plat de la commande ça décrémente le numéro. Si le numéro est égal à 1 ça supprime le plat de la commande.

Ensuite il y a un bouton "envoyer" qui appelle une fonction javascript qui génère un mailto et ça crée un nouveau mail avec le client de messagerie par défaut :
- to = cuisinier@cuisine
- sujet = Commande pour la table n°123
- body = 2x côtes de porc marinées aux herbes

Maintenant, j'essaie (pour l'instant sans succès, mais je pense que je vais finir par y arriver) de configurer postfix et courier-imap pour que la communication par email entre les deux machines se fasse sans passer par le internet mais reste en réseau local.

Hors ligne