IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Frameworks Discussion :

Créer des individus (instances) d'une ontologie [Jena]


Sujet :

Frameworks

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut Créer des individus (instances) d'une ontologie
    Bonjour,

    S'il vous plait, je voudrais créer une interface information personnelles des chercheurs ou je récupère directement les valeurs des attributs de mon concept Chercheur de mon ontologie (nom, prénom, email...). Pourriez-vous m'aider ?

  2. #2
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Qu'entends-tu par "attributs"?

    En lisant le sujet et ton message, j'ai l'impression d'avoir affaire à deux questions différentes
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    bonjour,
    alors j'ai plusieurs classes dans mon ontologie :chercheur,projet de recherche chaque classe posséde des propriétés nom,prénom,email...,au lieu de les rentrer dans protégé directement je veux faire une interface avec des champs nom,prenom et un bouton ajouter pour rentrer directement les instances dans protégé je sais qu'il faut créer un ressource mais je sais pas comment préciser nom,prenom....

  4. #4
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    La solution la plus simple est de créer des propriétés de données (Datatype property) liant ton entité chercheur par exemple à des chaînes de caractères, des entiers...

    Exemple: Création d'une propriété de données aPourAge entre la classe Chercheur et un entier
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    merci de me répondre, vous m'avez donné une idée. Au lieu de créer des data property, j'ai crée des individus. Voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     public static final String NL      = System.getProperty("line.separator") ;
    Pouvez-vous me donner votre avis s'il vous plait :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     public static void main(String[]  args)throws Exception {
         OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF);
     
    String inputFileName ="C:\\Users\\sarah\\Desktop\\ontocerist.owl";
    // use the FileManager to find the input file
    InputStream in = FileManager.get().open(inputFileName );
    if (in == null) {
                model.read(in, " ", inputFileName);
        throw new IllegalArgumentException("File: " + inputFileName + " not found");}
     
    String URI  = "http://www.semanticweb.org/SEVEN7/ontologies/2012/2/Ontology1331977184905.owl#";
      OntClass person = model.createClass(URI + "Cours");
     
    Individual l1 = model.createIndividual( URI+ "base", person );
     
    for (Iterator i = l1.listRDFTypes(true); i.hasNext(); )
           System.out.println( l1.getURI() + " is asserted in class " + i.next() );
     
    OutputStream out = new FileOutputStream("altered.rdf");
    model.write( out, "RDF/XML"); // readable rdf/xml
    out.close();
     
    }
    Cordialement.

  6. #6
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    La solution que j'ai proposé concernait votre besoin de stocker dans une ontologie des attributs comme l'âge d'une personne.

    Votre code ne gère pas ces attributs.
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    Oui, je me suis trompée mais s'il vous plait, comment puis je préciser que je veux rajouter la propriété "a pour nom" dans la propriété "nom" de ma classe ? Pouvez-vous m'orienter ? Je ne sais pas comment continuer. J'ai fait ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Resource p1=model.createResource(URI+"base"); 
    Property apournom=model.createProperty(URI);
    p1.addProperty(apournom, URI);}
    Merci pour tout,
    cordialement.

  8. #8
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Je vous invite à consulter la FAQ de la section et plus particulièrement cette article http://web-semantique.developpez.com...er-prop-donnee
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    merci pour tout

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    c'est pas vraiment ce que je cherche moi mon ontologie est deja faite par protégé 2000 je vais juste l'omprter et créer des instances sous java pas en passant par protégé

  11. #11
    Membre actif
    Avatar de April Fool
    Homme Profil pro
    Fou d'avril
    Inscrit en
    Février 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Fou d'avril

    Informations forums :
    Inscription : Février 2012
    Messages : 99
    Points : 215
    Points
    215
    Par défaut
    Résumons la situation : tu as créé une ontologie avec Protégé qui contient des classes et des propriétés. D'après ce que j'ai compris, l'ontologie définit grosso-modo des choses comme ça (syntax Turtle) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @prefix onto: <baseUriDeTonOntologie> .
    @prefix owl: <http://www.w3.org/2002/07/owl#> .
     
    onto:Chercheur  a  owl:Class .
    onto:nom  a  owl:DatatypeProperty .
    onto:prenom  a  owl:DatatypeProperty .
    onto:email  a  owl:DatatypeProperty .
    Que ce soit fait avec Protégé ou non n'a pas d'importance, ce qui importe est que tu as un fichier décrivant cette ontologie.

    Maintenant, tu voudrais avoir une interface graphique dans laquelle on entre le nom, prénom et email d'une nouvelle personne et des assertions sont automatiquement créées. On peut procéder de différentes manières, mais dans tous les cas, on construit son interface graphique avec l'outil ou le langage que l'on veut. Ensuite, il y a plusieurs possibilités quant à la manière dont on va utiliser les données soumises par le formulaire.

    Première solution : gestion en mémoire. Tu crées, avec une API RDF (par exemple Jena en Java, dotNetRDF en C#, etc) un modèle en mémoire qui représente un graphe RDF. Ce graphe peut éventuellement être initialisé avec l'ontologie mais ce n'est pas obligatoire (d'ailleurs, il est souvent préférable de maintenir une séparation entre l'ontologie et les données conformes à l'ontologie).
    Il faudra en tout cas générer un nouvel URI pour le chercheur ajouté. Pour cela, il faut décider d'une convention de nommage (par exemple, on génère un nouveau numéro qu'on incrémente à chaque fois, ou bien on décide de prendre le nom et le prénom, au risque d'avoir des homonymes).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    /*
    Initialisation : on charge l'ontologie en mémoire,
    on crée un nouveau modèle vide et
    on sélectionne les termes de l'ontologie dont on a besoin
    */
    //ici, il faut mettre le nom du fichier ontologie
    InputStream is = new BufferedInputStream(new FileInputStream("monOntologie.owl"));
    OntModel ontology = ModelFactory.createOntologyModel();
    // si le fichier n'est pas enregistré en RDF/XML, changer le paramètre
    ontModel.read(is, "RDF/XML");
    // on va mettre les données dans un autre modèle Jena
    OntModel mod = ModelFactory.createOntologyModel();
     
    OntClass chercheurClass = ontology.getOntClass("uriDeLaClassChercheurDansLOntologie");
    DatatypeProperty nomProp = ontology.getDatatypeProperty("uriDeLaProprieteNomDansLOntologie");
    DatatypeProperty prenomProp = ontology.getDatatypeProperty("uriDeLaProprietePrenomDansLOntologie");
    DatatypeProperty emailProp = ontology.getDatatypeProperty("uriDeLaProprieteEmailDansLOntologie");
     
    /*
    Gestion des données soumises par l'intermédiaire de l'interface
    */
    Individual c = mod.createIndividual(uriChercheur,chercheurClass);
    // on peut éventuellement mettre un langageTag:
    Literal n = mod.createLiteral(nom);
    Literal p = mod.createLiteral(prenom); // idem
    Literal e = mod.createTypedLiteral(email,XSD.string);
     
    mod.createStatement(c,nomProp,n);
    mod.createStatement(c,prenomProp,p);
    mod.createStatement(c,emailProp,e);
    Chaque soumission de données par l'interface ajoutera des triplets dans le modèle en mémoire. Pour que l'information persiste après avoir quitter l'application, on peut sérialiser le modèle dans un fichier RDF/XML ou Turtle ou N-Triple par exemple. On peut aussi décider de créer un fichier différent pour chaque chercheur ajouté, mais ce n'est pas particulièrement pratique. Si l'on souhaite que tout soit ajouté au même fichier à chaque exécution de l'appli, il faudra alors charger en mémoire les données déjà enregistrées auparavant avant d'enrichir le modèle, puis le réécrire entièrement avant de quitter.
    C'est sans doute la solution la plus simple, mais pas la plus flexible ni la plus performante.

    Deuxième solution : on utilise un magasin de triplets (triple store, i.e., une base de données RDF). Dans ce cas, il faut au préalable installer un triple store de son choix. Puis, pour ajouter des données à partir de ce qui est soumis depuis l'interface, on construit une requête SPARQL UPDATE que l'on envoie au triple store, et celui-ci se charge de ranger tout ça comme il faut. L'avantage est qu'on n'a pas besoin de garder un gros graphe en mémoire, qu'on ne réécrit pas tout le temps toutes les données et qu'on a la possibilité "gratuitement" de faire des requêtes sur ce qu'on a ajouté.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    String requete = "PREFIX onto: <baseUriDeTonOntologie> .\n"
                        + "INSERT DATA {\n"
                        + "    <nouvelURIGenerePourLeChercheur>   a   onto:Chercheur;\n"
                        + "        onto:nom  " + champNom.getTex() + ";\n"
                        + "        onto:prenom  " + champPrenom.getTex() + ";\n"
                        + "        onto:email  " + champEmail.getTex() + " .\n"
                        + "}";
    // Ensuite, on n'est même pas obligé d'utiliser Jena,
    // il suffit de faire un HTTP POST à l'URL du service d'update du triple store
    // en mettant la requete en paramètre, ainsi en utilisant apache Jakarta:
     
    PostMethod post = new PostMethod("<urlDuServiceUpdate>");
    NameValuePair[] paramRequete = {
        new NameValuePair("query", $requete),
    };
    post.setRequestBody(paramRequete);
    // gestion possible d'erreurs éventuelles 
       ...
    InputStream in = post.getResponseBodyAsStream();
    // gérer la réponse du serveur.
    7susd bl'ham owsql wuul pô!

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    merci beaucoup c'est ce que je cherchais je vais esseyer les deux solution
    cordialement

  13. #13
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    J'ai essayé la première solution, ils me disent que les adresses relatives URI ne sont pas acceptées dans RDF comment faire ?
    code
    RDFDefaultErrorHandler.java:49) - unknown-source: {W136} Relative URIs are not permitted in RDF: specifically <RDF/XML>

  14. #14
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par sarahm Voir le message
    c'est pas vraiment ce que je cherche moi mon ontologie est deja faite par protégé 2000 je vais juste l'omprter et créer des instances sous java pas en passant par protégé
    A quel moment ai-je parlé de Protégé?
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  15. #15
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    j'ai esseyé de créer des ressources aprés des individus aprés des data property d'aprés ce qu'elle dit la page mais toujours le problem des URI ils me disent les URIS adresses relatives ne sont pas admisent en RDF

  16. #16
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Pouvez-vous nous montrer votre code s'il vous plaît?
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  17. #17
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    oui biensure merci beaucoup pour votre attention:
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package licence;
    import com.hp.hpl.jena.iri.impl.Main;
    import com.hp.hpl.jena.ontology.DatatypeProperty;
    import com.hp.hpl.jena.ontology.Individual;
    import com.hp.hpl.jena.ontology.OntClass;
    import com.hp.hpl.jena.ontology.OntModel;
    import com.hp.hpl.jena.ontology.OntModelSpec;
    import com.hp.hpl.jena.rdf.model.*;
    import com.hp.hpl.jena.util.FileManager;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Iterator;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import com.hp.hpl.jena.query.Query;
    import com.hp.hpl.jena.vocabulary.XSD;
    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
     
    public class Licence {
     
       public static final String NL      = System.getProperty("line.separator") ;
       public static final String URIB="http://www.semanticweb.org/SEVEN7/ontologies/2012/2/Ontology1331977184905.owl#";
     
       public void connect() throws FileNotFoundException
       {  
     
     
     
    OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF); 
     
    InputStream is = new BufferedInputStream(new FileInputStream("C:\\Users\\sarah\\Desktop\\ontocerist.owl"));
    OntModel ontology = ModelFactory.createOntologyModel();
    model.read(is, "RDF/XML");
     
    OntModel mod = ModelFactory.createOntologyModel();
     
    OntClass chercheurClass = ontology.getOntClass("http://www.semanticweb.org/SEVEN7/ontologies/2012/2/Ontology1331977184905.owl#Chercheur");
    DatatypeProperty nomProp = ontology.getDatatypeProperty("http://www.semanticweb.org/SEVEN7/ontologies/2012/2/Ontology1331977184905.owl#Nom");
    DatatypeProperty prenomProp = ontology.getDatatypeProperty("http://www.semanticweb.org/SEVEN7/ontologies/2012/2/Ontology1331977184905.owl#Prenom");
     
     
    Individual c = mod.createIndividual("http://www.semanticweb.org/SEVEN7/ontologies/2012/2/Ontology1331977184905.owl#Chercheur",chercheurClass);
    // on peut éventuellement mettre un langageTag:
    Literal n = mod.createLiteral("sarah");
    Literal p = mod.createLiteral("sefti"); // idem
     
     
    mod.createStatement(c,nomProp,n);
    mod.createStatement(c,prenomProp,p);
     
     
     
     
     
     
     
     
    }
     
     
     
     
     
     
     
     
        public static void main(String[]  args)throws Exception {
     
     Licence a=new Licence ();
     a.connect();
     
     
     
        }
     
     
        }

  18. #18
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Et le contenu de l'ontologie s'il vous plaît
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  19. #19
    Rédacteur/Modérateur
    Avatar de Metafire18
    Homme Profil pro
    Ingénieur de recherche Orange Labs
    Inscrit en
    Décembre 2007
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur de recherche Orange Labs

    Informations forums :
    Inscription : Décembre 2007
    Messages : 777
    Points : 1 894
    Points
    1 894
    Billets dans le blog
    1
    Par défaut
    Il y a une erreur dans la création de ton instance:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Individual c = mod.createIndividual("http://www.semanticweb.org/SEVEN7/ontologies/2012/2/Ontology1331977184905.owl#Chercheur",chercheurClass);
    La méthode createIndividual de la classe OntModel prend en premier paramètre l'URI de l'instance et en second paramètre un objet de type Resource représentant la classe à instancier.
    Pas de grandeur pour qui veut grandir. Pas de modèle pour qui cherche ce qu'il n'a jamais vu.

  20. #20
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    bonjour,
    mon ontologie contient plusieurs classes:"chercheur""projet de recherche".... chaque classe a des propriétés par exemple la classe chercheur possède un nom,prenom,email.....,comme je l'ai déja mentionné au par avant je voudrais crée un formulaire à partir de java ou à chaque clique les noms et prénoms des chercheurs(les triplets RDF) sont rentrés directement dans mon ontologie sachant que je n'ai pas d'individus voila c 'est tout merci pour votre attention
    merci je vais rectifier en creant une ressource
    cordialement

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2009, 10h08
  2. Réponses: 5
    Dernier message: 15/04/2009, 16h38
  3. [Lazarus] Créer des fiches à partir d'une fiche modèle
    Par Louis Griffont dans le forum Lazarus
    Réponses: 4
    Dernier message: 19/03/2009, 14h10
  4. [W3C] Créer des liens chapitres pour une vidéo
    Par Xann_71 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 27/08/2007, 14h21
  5. Programme qui créer des images d'après une vidéo
    Par snoopy69 dans le forum Vidéo
    Réponses: 7
    Dernier message: 03/04/2006, 09h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo