Quote:
bon la solution à laquelle j'ai pensé en choissant de travailler comme ça, c de programmer mon application avec mon pc portable et de la tester avec l'autre ordi.
Oui évidemment tu peux faire ça aussi. Si tu as la patience. Je dis ça parce que ça n'est pas pratique évidemment, mais c'est sûr que tu peux le faire.
Quote:
si j'ai bien compris d'abord je dois écrire un programme C qui envoie un fax utilisant les apis java, ensuite j'utilise celui ci pour créer une librairie C que je vais utiliser dans mon programme Java à l'aide de la JNI,
Exactement :)
Quote:
donc vais laisser de coté javax.comm,alors dans ce cas je dois laisser tomber ma programmation port série?
Oui. Mais entendons nous bien. Là on parle si tu fais tout sur ton portable.
Si tu adoptes la solution que tu as décrite plus haut, à savoir coder sur ton portable, et faire marcher sur une autre machine, alors tu n'as pas besoin de C, de JNI et tu gardes javax.comm et la programmation série
Si tu fais tout sur ton portable, codage et exécution donc oui, tu dois laisser tomber javax.comm, puisque, on l'a vu, on ne peut pas faire de programmation série classique sur ton portable.
Donc tu dois choisir exactement ce que tu veux faire, c'est à dire avec quelle(s) machine(s) puis quand ce choix est fait, automatiquement ça sera soit C et JNI soit javax.comm pour envoyer un fax.
Quote:
est-ce que je vais faire ma programmation port série à l'aide des API windows fax?
Non la programmation série et les API Fax sont deux choses distinctes. L'une englobant l'autre.
- Programmation série:
C'est de la programmation de bas niveau. Tu dois tout faire. Envoyer des commandes Hayes sur le port, lire le résultat sur le port, envoyer les données constituant le document (le fax) selon la norme je ne sais plus quoi. Bref c'est un gros boulot.
- Programmation API Windows Fax:
C'est de la programmation de haut niveau, c'est à dire que les API font faire pour toi, tout ce que j'ai dit pour la programmation série.
Toi tu dis simplement: je veux faxer à tel numéro, avec telles données dans le fax et alors les API Windows vont faire à ta place toute la programmation série ou l'équivalent à travers le driver d'un winmodem. Autrement dit tu ne t'occupes presque de rien, et surtout là ça marchera avec ton winmodem, puisque le système d'exploitation (Windows) sait travailler avec.
C'est donc évidemment la solution la plus simple et la plus facile et la plus rapide. Le seul inconvénient est que ça marchera seulement sous Windows évidemment.
Quote:
Là j'ai vraiment pas compris ce que vous voulez dire
J'ai voulu dire que dans le paquetage javax.comm il y a déjà une librairie C/JNI pour communiquer avec le port série. J'ai voulu dire que Java tout seul ne peut pas travailler avec le port série donc ceux qui ont créé javax.comm ont du créer une librairire C et l'interfacer avec la JNI.
De la même façon que Java ne sait pas appeler les API Windows Fax et qu'il faut écrire une librairie et l'interfacer avec la JNI pour pouvoir le faire depuis Java.
Maintenant je vais te dire une chose à toi qui fait des études en informatique. Si tout le temps que l'on passe à discuter de ce qu'on ne peut pas faire avec Java, on l'avait employé à le faire en C ou mieux en C++, il y a longtemps que ton application elle serait finie et quelle marcherait sur tous les Windows du monde, et même de l'univers.
Ca demande une journée pour écrire ton application, et allez disons une autre journée pour emballer le tout dans de belles fenêtres. Alors que là ça fait déjà une semaine que tu ne fais rien de concret avec ton Java.
Java... pffff :evil: :evil: :evil:
C'est, à mon humble avis, une faute de choisir d'abord un langage puis de voir ensuite comment on va s'emmerder à arriver à faire ce qu'on doit faire.
Si tu veux être efficace en informatique, tu dois d'abord définir quoi faire, et seulement ensuite réfléchir avec quoi.
Dans ton cas, le bon choix c'est C/C++
Ou peut être aussi C# et .Net
Envoyer des mails en C# est très facile. Je n'ai jamais envoyé de fax avec C# mais c'est sûrement très facile. Et sinon il est très facile d'appeler les API Windows avec C#.
En plus C# est facile à apprendre pour toi car il a beaucoup de similitudes avec Java.
Donc si ton application ne doit tourner que sous Windows, C, C++, C# ou un autre langage .Net sont d'infiniment meilleurs choix et tu devrais y penser.
D'ailleurs moi si j'étais prof et que je doive noter un projet, je mettrais au moins la moitié de la note sur la pertinence du choix des outils pour résoudre un problème donné...
Parce que bien choisir ses outils c'est une des clefs du métier d'informaticien
Oui évidemment tu peux faire ça aussi. Si tu as la patience. Je dis ça parce que ça n'est pas pratique évidemment, mais c'est sûr que tu peux le faire.
Exactement :)
Oui. Mais entendons nous bien. Là on parle si tu fais tout sur ton portable.
Si tu adoptes la solution que tu as décrite plus haut, à savoir coder sur ton portable, et faire marcher sur une autre machine, alors tu n'as pas besoin de C, de JNI et tu gardes javax.comm et la programmation série
Si tu fais tout sur ton portable, codage et exécution donc oui, tu dois laisser tomber javax.comm, puisque, on l'a vu, on ne peut pas faire de programmation série classique sur ton portable.
Donc tu dois choisir exactement ce que tu veux faire, c'est à dire avec quelle(s) machine(s) puis quand ce choix est fait, automatiquement ça sera soit C et JNI soit javax.comm pour envoyer un fax.
Non la programmation série et les API Fax sont deux choses distinctes. L'une englobant l'autre.
- Programmation série:
C'est de la programmation de bas niveau. Tu dois tout faire. Envoyer des commandes Hayes sur le port, lire le résultat sur le port, envoyer les données constituant le document (le fax) selon la norme je ne sais plus quoi. Bref c'est un gros boulot.
- Programmation API Windows Fax:
C'est de la programmation de haut niveau, c'est à dire que les API font faire pour toi, tout ce que j'ai dit pour la programmation série.
Toi tu dis simplement: je veux faxer à tel numéro, avec telles données dans le fax et alors les API Windows vont faire à ta place toute la programmation série ou l'équivalent à travers le driver d'un winmodem. Autrement dit tu ne t'occupes presque de rien, et surtout là ça marchera avec ton winmodem, puisque le système d'exploitation (Windows) sait travailler avec.
C'est donc évidemment la solution la plus simple et la plus facile et la plus rapide. Le seul inconvénient est que ça marchera seulement sous Windows évidemment.
J'ai voulu dire que dans le paquetage javax.comm il y a déjà une librairie C/JNI pour communiquer avec le port série. J'ai voulu dire que Java tout seul ne peut pas travailler avec le port série donc ceux qui ont créé javax.comm ont du créer une librairire C et l'interfacer avec la JNI.
De la même façon que Java ne sait pas appeler les API Windows Fax et qu'il faut écrire une librairie et l'interfacer avec la JNI pour pouvoir le faire depuis Java.
Maintenant je vais te dire une chose à toi qui fait des études en informatique. Si tout le temps que l'on passe à discuter de ce qu'on ne peut pas faire avec Java, on l'avait employé à le faire en C ou mieux en C++, il y a longtemps que ton application elle serait finie et quelle marcherait sur tous les Windows du monde, et même de l'univers.
Ca demande une journée pour écrire ton application, et allez disons une autre journée pour emballer le tout dans de belles fenêtres. Alors que là ça fait déjà une semaine que tu ne fais rien de concret avec ton Java.
Java... pffff :evil: :evil: :evil:
C'est, à mon humble avis, une faute de choisir d'abord un langage puis de voir ensuite comment on va s'emmerder à arriver à faire ce qu'on doit faire.
Si tu veux être efficace en informatique, tu dois d'abord définir quoi faire, et seulement ensuite réfléchir avec quoi.
Dans ton cas, le bon choix c'est C/C++
Ou peut être aussi C# et .Net
Envoyer des mails en C# est très facile. Je n'ai jamais envoyé de fax avec C# mais c'est sûrement très facile. Et sinon il est très facile d'appeler les API Windows avec C#.
En plus C# est facile à apprendre pour toi car il a beaucoup de similitudes avec Java.
Donc si ton application ne doit tourner que sous Windows, C, C++, C# ou un autre langage .Net sont d'infiniment meilleurs choix et tu devrais y penser.
D'ailleurs moi si j'étais prof et que je doive noter un projet, je mettrais au moins la moitié de la note sur la pertinence du choix des outils pour résoudre un problème donné...
Parce que bien choisir ses outils c'est une des clefs du métier d'informaticien