Java + php - activeX = solution domotique ?

Résolu
vincentetcarine Messages postés 7 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 février 2013 - 18 nov. 2009 à 00:17
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 18 nov. 2009 à 14:05
Bonjour à tous,

Ma question ne concerne pas réellement du codage mais plutôt la faisabilité d'un projet. Ce message sera assez long mais il me semble important de bien préciser ce que je veux faire afin d'éviter les réponses su style "j'ai rien compris".
Je désire mettre en place une centrale domotique chez moi. Celle ci sera constituée d'un micropc (probablement Ordipost) tournant sous linux et pilotera une interface d'entrées sorties i2c. Cette centrale devra pouvoir être accessible de n'importe où et ce quelle que soit la plateforme (adieu les ActiveX et le soft que j'avais commencé à étudier (système Phebus d'Automatepc.com).
L'idée est de créer une page web ainsi que une ou plusieurs bases de donnée MySql hébergées sur le micropc (serveur).
Lors d'un clic sur un bouton (ex: allumage chauffage), un script en PHP écrit une valeur (TRUE) dans un champ de ma BD. Cette BD est scannée en permanence par une application écrite en JAVA. Lorsque l'appli détecte un changement d'état d'une des données de ma BD, elle envoie un ordre à l'interface (allumer chauffage) et écrit une donnée de validation dans un autre champ de ma BD. Lors de l'actualisation de la page, c'est donc le nouvel état (du chauffage) qui apparait.
Cette solution, bien qu'un peu usine à gaz, permet de piloter via une page html accessible de n'importe ou et sur n'importe quelle pateforme (pda wifi, pc du bureau ethernet...)
Que pensez vous de cette solution, est-ce réalisable ou non ?
Merci d'avoir lu ce message jusqu'au bout et bonne soirée.

V.BILLET
A voir également:

11 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
18 nov. 2009 à 07:50
Salut,

Pourquoi passer par 2 langages ? Tu peux te contenter de java uniquement : une application J2EE légère pour faire l'interface graphique "web" qui se lance par un serveur tomcat, et qui sera donc disponible partout chez toi, et qui pourra elle même scanner ta base de données afin de communiquer avec l'interface de pilotage des appareils !

Ainsi tu limite l'apprentissage à un seul langage, ca t'evite de devoir écrire 2 programme, et ca permet une bien meilleure maintenabilité et fiabilité du tout...
______________________________________
DarK Sidious
vincentetcarine Messages postés 7 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 février 2013
18 nov. 2009 à 09:20
Bonjour,

Tout d'abord merci pour cette réponse si rapide.
Si j'ai bien compris votre message, il n'y aurait qu'un seul programme à écrire et à insérer dans mes pages web.
Une telle application peut-elle envoyer et recevoir directement des données sur le port USB (gestion électronique des interfaces d'entrée sortie) ?
Merci d'avance et bonne journée.

V.BILLET
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
18 nov. 2009 à 09:40
Salut,

Ce que je t'ai dit n'est valable bien entendu que si tu sais déjà comment communiquer avec les appareils... Il existe des bibliothèque java pour utiliser les ports usb, mais java n'est pas le langage le plus approprié pour cela. Il vaut mieux passer par des bibliothèques développées en C ou C++, et utiliser un wrapper JNI pour les faire communiquer avec ton programme java.
______________________________________
DarK Sidious
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
18 nov. 2009 à 09:44
Salut,

non, tu auras 2 programmes mais un seul langage : un programme qui scanne la base et qui envoie les ordres et l'autre qui est une application web qui modifie les valeurs de la base (remplace l'appli en PHP)

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
18 nov. 2009 à 09:59
Salut,

Kirua12 : tout peut être fait par le même programme : une application J2EE permet de faire les deux.
______________________________________
DarK Sidious
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
18 nov. 2009 à 10:14
DARKSIDIOUS : oui évidemment, mais c'était pour rester dans l'esprit des modules envisagés. Mais si on a une seule appli, on n'a plus besoin d'avoir un scan de la base, on peut envoyer la commande directement.
La base sert juste à conserver l'état des équipements mais reste le problème de la synchro des états entre les équipements et la base.
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
18 nov. 2009 à 10:16
Salut,

C'est justement pour cà que je préconise un seul programme : ca évite bien des problèmes de synchronisation entre les 2 programmes !
______________________________________
DarK Sidious
vincentetcarine Messages postés 7 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 février 2013
18 nov. 2009 à 13:13
Je ne pensais jamais qu'un sujet pareil attirerait tant de réactions alors merci beaucoup.
Concernant l'interface, il s'agit d'un convertisseur USB>I2C (virtual Com) suivi de plusieurs modules I2C. Les commandes à envoyer ou recevoir sont donc des octets sur un port série (l'interface se charge de réaliser le transcodage des signaux en I2C).
Si j'ai un seul programme, celui sera t-il ou non inséré dans le code de ma page.
Si oui, cela ne va t-il pas alourdir ma page au risque d'avoir un affichage difficile sur les plateformes les plus légères (pda) ?
Si non, il s'agit donc d'une appli indépendante lancée en permanence sur le serveur si j'ai bien compris ?

V.BILLET
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
18 nov. 2009 à 13:20
Salut,

Une application J2EE est comme une application Java normale, sauf qu'elle est exécutée par un serveur d'application J2EE au lieu d'être lancée indépendamment.

Les pages web sont fournies par le serveur J2EE, et ne contiennent absolument pas ton programme java (quel en serait l'intérêt ? A moins de faire une applet).

Donc pour résumer : tu fais une application J2EE qui sera exécutée par le serveur J2EE, niveau serveur donc, qui gère toute la partie métier et communication avec ton interface, et cette application J2EE pourra afficher des vues (bien souvent des pages HTML codées en JSP) que le serveur d'application J2EE enverra au client web sous forme de page HTML et qui permettra à l'utilisateur de piloter l'application J2EE. Ca revient au même que ton site développé en PHP, à ceci près que ca sera bien plus fiable (pas de synchronisation à faire par la base de données entre un site PHP et une application JAVA), et plus facile à maintenir (un seul code java centralisé sur un seul serveur, et non un site PHP et une application java indépendante).
______________________________________
DarK Sidious
vincentetcarine Messages postés 7 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 février 2013
18 nov. 2009 à 14:03
MERCI,

N'y connaissant pas grand chose en programmation (du Basic il y a 20 ans sur un amstrad CPC (nostalgie...) un peu de C à la fac et du C++ plus récemment), j'ai fais une recherche sur J2EE et j'ai trouvé ceci: http://www.commentcamarche.net/contents/jsp/jspintro.php3
Cela semble correspondre parfaitement à ce que je veux faire.
Une dernière question et après je me débrouille tout seul (enfin j'essaye):
D'après ce qui est marqué dans le lien, "Les JSP sont intégrables au sein d'une page Web en HTML à l'aide de balises spéciales"
Puis-je donc commencer à faire mes pages web (l'aspect graphique) en html en sachant qu'il me restera à incorporer des balises JSP ?
V.BILLET
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
18 nov. 2009 à 14:05
Salut,

Une page JSP n'est rien d'autre qu'une page HTML qui permet de rajouter quelques balises spéciales qui permettent de faciliter la récupèration des données à partir d'une servlet J2EE. Donc oui, tu peux très facilement faire une page HTML et ensuite la modifier pour en faire une page JSP, mais je te conseille plutôt d'apprendre à faire des JSP : tu y gagneras pas mal de temps !
______________________________________
DarK Sidious
Rejoignez-nous