Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS3
AS3 Questions relatives à la programmation ActionScript 3 (Cours AS3)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2011, 15h52   #1
Invité de passage
 
Homme Nicolas RIFFAUD
Étudiant
Inscription : novembre 2010
Messages : 25
Détails du profil
Informations personnelles :
Nom : Homme Nicolas RIFFAUD
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 25
Points : 0
Points : 0
Par défaut Appeler fonction Java dans du AS3

Bonjour,

Je voudrai savoir comment appeler une fonction Java à partir d'un code AS3.
Mon objectif est le suivant : je construis une application Flex/AS3 qui va, entre autre créer des fichiers ePub, en tout cas ça m'arrangerai, mais je n'est trouvé qu'une seule librairie sur le net pouvant générer de l'ePub seulement en Java.
C'est la raison pour laquelle je me demandai si je pouvais d'une manière ou d'une autre appeler une fonction Java qui prendrai par exemple un objet Livre en paramètre et exploiterai ses infos pour le transformer en ePub.

Bref : monLivre:Livre AS3 -> fonction Java(Livre monLivre)

Merci.
rillette87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 16h33   #2
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
bonjour,

il faut que tu passes par un remoteObject par exemple. Fais une recherche google Flex + Java + BlazeDS
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 16h49   #3
Invité de passage
 
Homme Nicolas RIFFAUD
Étudiant
Inscription : novembre 2010
Messages : 25
Détails du profil
Informations personnelles :
Nom : Homme Nicolas RIFFAUD
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 25
Points : 0
Points : 0
Merci de ta réponse.

N'y a t-il pas un autre moyen de le faire sans passer par ce modèle client serveur ? Il s'agira d'une application de type AIR et non RIA.
rillette87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 07h30   #4
Membre du Club
 
Inscription : avril 2011
Messages : 58
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 58
Points : 56
Points : 56
Si tu est en local sur une machine, je comprends pas pourquoi tu aurait besoin de passer par java.

Que fait ta fonction java ?
bokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 09h12   #5
Invité de passage
 
Homme Nicolas RIFFAUD
Étudiant
Inscription : novembre 2010
Messages : 25
Détails du profil
Informations personnelles :
Nom : Homme Nicolas RIFFAUD
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 25
Points : 0
Points : 0
Je souhaite passer par Java simplement parce que j'ai besoin d'une librairie pour générer des fichiers ePub, et je n'ai trouvé qu'une librairie en Java, pas en AS3.
rillette87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 09h34   #6
Membre du Club
 
Inscription : avril 2011
Messages : 58
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 58
Points : 56
Points : 56
Merci pour la culture, je ne connaissais pas epub.

Ce sera bien plus simple de refaire la librairie en AS3, d'autant plus que tu as déjà le code en java et que le ePub n'est ni plus ni moins qu'un XML super simple. Puis tu ne dois pas avoir besoin de toute la librairie mais seulement d'une partie.

Sinon tu as la solution de passer par les local sockets. Mais ce sera bien plus compliqué à développer et surtout à distribuer ensuite.
bokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 10h07   #7
Invité de passage
 
Homme Nicolas RIFFAUD
Étudiant
Inscription : novembre 2010
Messages : 25
Détails du profil
Informations personnelles :
Nom : Homme Nicolas RIFFAUD
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 25
Points : 0
Points : 0
Réécrire la librairie ??? Euh moi je veux bien mais ça me parait un peu énorme non ? Surtout que je ne sais pas trop comment m'y prendre dans la mesure ou je ne dispose que des .class dans mon .jar.
Au risque de passer pour une bille, comment je peux accéder aux classes qui m'intéressent pour, éventuellement, les réécrire ?
rillette87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 10h14   #8
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Bonjour,

Citation:
Envoyé par rillette87 Voir le message
Je souhaite passer par Java simplement parce que j'ai besoin d'une librairie pour générer des fichiers ePub, et je n'ai trouvé qu'une librairie en Java, pas en AS3.
et quel est le soucis d'utiliser blazeds par exemple ? Qui sait de toute manière si plus tard tu n'auras pas besoin pour ton appli d'utiliser une BDD ce qui nécessitera d'utiliser Java ?

Utiliser des classes Java seules, non je ne crois pas que cela soit possible désolé
__________________
Je ne réponds pas aux questions envoyées par mp
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 10h15   #9
Membre du Club
 
Inscription : avril 2011
Messages : 58
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 58
Points : 56
Points : 56
Ben le format est super simple, c'est du XHTML simplifié avec du CSS2 pour le formatage.

Si tu sais manipuler du XML en AS3 tu va faire ça en un rien de temps.
Tu as la description du format là : http://en.wikipedia.org/wiki/EPUB
Mais tu peut sûrement trouver une doc plus complète.

A quoi ressemble les commandes pour créer un bouquin dans ta librairie ?
bokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 11h24   #10
Invité de passage
 
Homme Nicolas RIFFAUD
Étudiant
Inscription : novembre 2010
Messages : 25
Détails du profil
Informations personnelles :
Nom : Homme Nicolas RIFFAUD
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 25
Points : 0
Points : 0
J'ai suivi un tuto avec BlazeDS, mais pour l'adapter à mon appli j'ai un problème :
voir http://www.developpez.net/forums/d10...e/#post5921772

Le code pour la génération de l'ePub :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import java.io.FileOutputStream;
 
import com.adobe.dp.epub.io.OCFContainerWriter;
import com.adobe.dp.epub.ncx.TOCEntry;
import com.adobe.dp.epub.opf.NCXResource;
import com.adobe.dp.epub.opf.OPSResource;
import com.adobe.dp.epub.opf.Publication;
import com.adobe.dp.epub.ops.Element;
import com.adobe.dp.epub.ops.OPSDocument;
 
/**
 * Simple epubgen example. Basic library use: setting metadata, table of
 * contents, creating chapter content.
 */
public class HelloEPUB1 {
 
  public static void main(String[] args) {
 
    try {
 
      // create new EPUB document
      Publication epub = new Publication();
 
      // set up title, author and language
      epub.addDCMetadata("title", "My First EPUB");
      epub.addDCMetadata("creator", System.getProperty("user.name"));
      epub.addDCMetadata("language", "en");
 
      // prepare table of contents
      NCXResource toc = epub.getTOC();
      TOCEntry rootTOCEntry = toc.getRootTOCEntry();
 
      // create new chapter resource
      OPSResource main = epub.createOPSResource("OPS/main.html");
      epub.addToSpine(main);
 
      // get chapter document
      OPSDocument mainDoc = main.getDocument();
 
      // add chapter to the table of contents
      TOCEntry mainTOCEntry = toc.createTOCEntry("Intro", mainDoc
          .getRootXRef());
      rootTOCEntry.add(mainTOCEntry);
 
      // chapter XHTML body element
      Element body = mainDoc.getBody();
 
      // add a header
      Element h1 = mainDoc.createElement("h1");
      h1.add("My First EPUB");
      body.add(h1);
 
      // add a paragraph
      Element paragraph = mainDoc.createElement("p");
      paragraph.add("Hello, world!");
      body.add(paragraph);
 
      // save EPUB to an OCF container
      OCFContainerWriter writer = new OCFContainerWriter(
          new FileOutputStream("hello.epub"));
      epub.serialize(writer);
 
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
rillette87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 12h08   #11
Membre du Club
 
Inscription : avril 2011
Messages : 58
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 58
Points : 56
Points : 56
Ben franchement, pas besoin d'une librairie pour ça...

Tu as regardé le contenu du format ePub ?
bokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 14h09   #12
Invité de passage
 
Homme Nicolas RIFFAUD
Étudiant
Inscription : novembre 2010
Messages : 25
Détails du profil
Informations personnelles :
Nom : Homme Nicolas RIFFAUD
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 25
Points : 0
Points : 0
Oui j'ai regardé. J'ai peut-être une solution : générer les XML et XHTML directement, bref, créer la structure interne de l'ePub, et ensuite créer un zip (car l'ePub n'est rien d'autre qu'un zip, j'ai testé) puis trouver une façon de changer l'extension du zip en epub. Le plus marrant dans tout ça c'est que epub = zip.
rillette87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 14h25   #13
Membre du Club
 
Inscription : avril 2011
Messages : 58
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 58
Points : 56
Points : 56
Ben oui c'est ce que je te dis !
bokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 15h01   #14
Invité de passage
 
Homme Nicolas RIFFAUD
Étudiant
Inscription : novembre 2010
Messages : 25
Détails du profil
Informations personnelles :
Nom : Homme Nicolas RIFFAUD
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 25
Points : 0
Points : 0
Reste plus qu'à trouver le moyen de créer un zip. J'ai bien trouvé deux librairies mais j'arrive pas à saisir comment on fait.
rillette87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 15h05   #15
Membre du Club
 
Inscription : avril 2011
Messages : 58
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 58
Points : 56
Points : 56
Y'a une librairie pour compresser des données en zip (bytearray). Mais des fichiers ça va pas être pareil.
J'ai jamais fait de projet air. Si tu créée un dossier et que tu mets tes fichiers dedans tu dois pouvoir lancer une commande pour que windows t'en fasse un zip. Si on peut lancer des commandes depuis AIR.

Sinon en passant par un serveur c'est facile.
bokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h15.


 
 
 
 
Partenaires

Hébergement Web