1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

AIDE [RESOLU] Contrôle des images avant de poster

Discussion dans 'Windev Mobile' créé par Man, Fev 6, 2019.

  1. Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67
    Bonjour les cops, comment vous allez ?
    je viens ici solliciter votre aide face à un sujet qui me tracasse à savoir l'utilisation des API.
    Je souhaite mettre sur une application Android permettant de contrôler les images avant de les poster sur les réseaux sociaux.
    J'ai fais quelques recherches et je suis tombé sur ce lien

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Comment faire pour intégrer ça dans mon appli.
    Merci d'avance.
     
    Tags:
  2. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    647
    J'aime reçus:
    227
    Bonsoir

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Tu utilises httprequete
    C'est API REST
     
  3. Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonsoir

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Tu utilises httprequete
    C'est API REST
    Cliquez pour agrandir...
    Bonsoir

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    justement je ne connais pas si tu peux à partir de là me faire un tuto. Même comme j'ai lu le cours dessus je ne vois comment je vais m'y prendre.
    Merci d'avance
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    647
    J'aime reçus:
    227
    @bnsoir,
    J'ai fait un la semaine passé dans windev, il suffit de le copier, sinon tu vas patienté,, je ns suis pas dans les meilleurs dispositions
     
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    @bnsoir,
    J'ai fait un la semaine passé dans windev, il suffit de le copier, sinon tu vas patienté,, je ns suis pas dans les meilleurs dispositions
    Cliquez pour agrandir...
    Sans soucis je vais donc patienter. En attendant si tu peux me référencer ce que tu as la semaine passée STP, question de me familiariser
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    647
    J'aime reçus:
    227

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Voici le code Post
    Code (Windev):
    oRequête est un restRequête
    oRequête.Méthode=httpPost
    oRequête..URL="https://api.sightengine.com/1.0/nudity.json"
    oRequête.ContentType=typeMimeJPEG
    oRequête.Contenu=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("fichier")
    oRequête..Entête["api_user"] = "code utilisateur"
    oRequête..Entête["api_secret"] = "mot de passe ou code secret"
    //oRequête..Entête["media"] = buffer fichier //
    response est une restRéponse= RESTSend(oRequête)
    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ALORS
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (errComplet))
    SINON
        // désérialisé le contennu
     
     
    FIN
     
    quand tu vas désérialisé, tu auras un contenu , et ce contenu sera utilisé pour le httpGET
    ici on doit serialisé et désérialisé.
    Je vais en mission et retour Mardi, je peux lire mais je ne peux écrire du code. Je voyage pour une étude.
     
    popoy apprécie ceci.
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Voici le code Post
    Code (Windev):
    oRequête est un restRequête
    oRequête.Méthode=httpPost
    oRequête..URL="'[URL]https://api.sightengine.com/1.0/nudity.json[/URL]'"
    oRequête.ContentType=typeMimeJPEG
    oRequête.Contenu=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("fichier")
    oRequête..Entête["api_user"] = "code utilisateur"
    oRequête..Entête["api_secret"] = "mot de passe ou code secret"
    //oRequête..Entête["media"] = buffer fichier //
    response est une restRéponse= RESTSend(oRequête)
    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ALORS
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (errComplet))
    SINON
        // désérialisé le contennu
     
     
    FIN
     
    quand tu vas désérialisé, tu auras un contenu , et ce contenu sera utilisé pour le httpGET
    ici on doit serialisé et désérialisé.
    Je vais en mission et retour Mardi, je peux lire mais je ne peux écrire du code. Je voyage pour une étude.
    Cliquez pour agrandir...

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Merci pour ta contribution je vais essayer
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    647
    J'aime reçus:
    227

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , il faut essayer parce que le transfert d'image peut te faire passer par un bufer. Tu verras
     
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Voici le code Post
    Code (Windev):
    oRequête est un restRequête
    oRequête.Méthode=httpPost
    oRequête..URL="'[URL]https://api.sightengine.com/1.0/nudity.json[/URL]'"
    oRequête.ContentType=typeMimeJPEG
    oRequête.Contenu=

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("fichier")
    oRequête..Entête["api_user"] = "code utilisateur"
    oRequête..Entête["api_secret"] = "mot de passe ou code secret"
    //oRequête..Entête["media"] = buffer fichier //
    response est une restRéponse= RESTSend(oRequête)
    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ALORS
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (errComplet))
    SINON
        // désérialisé le contennu
     
     
    FIN
     
    quand tu vas désérialisé, tu auras un contenu , et ce contenu sera utilisé pour le httpGET
    ici on doit serialisé et désérialisé.
    Je vais en mission et retour Mardi, je peux lire mais je ne peux écrire du code. Je voyage pour une étude.
    Cliquez pour agrandir...

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Merci pour ta contribution je vais essayer
     
  • suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    507
    J'aime reçus:
    732
    Bonjour,

    Il y a un bon Tuto concernant le transfert d'image par Webservice Ici :
    Transférer des images depuis une base HFSQL via un webservice REST sous webdev / windev
     
    LAPIPE2018 apprécie ceci.
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , il faut essayer parce que le transfert d'image peut te faire passer par un bufer. Tu verras
    Cliquez pour agrandir...
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , il faut avouer que ces notions sont nouvelles pour moi à savoir la sérialisation, la déserialisation. Voici un contenu JSON que j'ai récupéré à un exemple.
    {
    "request": {
    "id": "req_4D7DQDrhovggOvHRI5BFj",
    "timestamp": 1549450893.5761,
    "operations": 1
    },
    "media": {
    "uri": "

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ",
    "id": "med_4D7DeM5nja5CGkqjVuiGv"
    },
    "nudity": {
    "safe": 0.048,
    "raw": 0.01,
    "partial_tag": "chest",
    "partial": 0.942
    },
    "status": "success"
    }
    Comme faire pour sérialiser et désérialiser ?
    Il est à noter que ces informations sont dynamiques.
    pour dire si l'image contient de la nudité.
    Je vais comparer les valeurs obtenus
    SI nudity[1]> nudity[2] _OU_ nudity[1]> nudity[3] ALORS
    // j'affiche la valeur de nudity[1]
    SINON SI nudity[2]> nudity[1] _OU_ nudity[2]> nudity[1] ALORS
    // J'affiche la valeur de nudity[2]
    SINON SI nudity[3]> nudity[1] _OU_ nudity[3]> nudity[1] ALORS
    // j'affiche la valeur nudity[3]
    FIN
    en fonction de ces valeurs je peux autoriser si l'image est passible ou pas
    Merci d'avance
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    647
    J'aime reçus:
    227
    Tu as quel version de windev ?
     
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Tu as quel version de windev ?
    Cliquez pour agrandir...
    J'ai la version 22
    et typeMimeJPEG n'est pas disponible pour Android
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    647
    J'aime reçus:
    227
    J'ai besoin de ton code sans les parties secretes
     
  • LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    647
    J'aime reçus:
    227
    Il faut regarder
    Code (Windev):
    monrequest est une Structure
        id est une chaîne
        timestamp est une chaîne
        operations  est une entier
     
    FIN
    manudite est une Structure
        raw,Partial,safe sont des réels
     
    FIN
    monmedia est une Structure
        uri,id sont des chaînes
     
    FIN
    lastructurejson est une Structure
        status est une chaîne
        lerequest est un monrequest
        lanudite est un manudite
        lemedia est un monmedia
     
    FIN
    cc est une chaîne=[
        {
        "status": "success",
        "request": {
        "id": "req_VjyxevVQYXQZ1HMbnwtn",
        "timestamp": 1471762434.0244,
        "operations": 1
        },
        "nudity": {
        "raw": 0.000757,
        "partial": 0.000763,
        "safe": 0.999243
        },
        "media": {
        "id": "med_KWmB2GQZ29N4MVpVdq5K",
        "uri": "[URL]https://sightengine.com/assets/img/examples/example2.jpg[/URL]"
        }
        }
    ]

    stMastructurejson est une lastructurejson
    vMonProduit est un Variant =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (cc)

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (stMastructurejson,cc,psdJSON)
     
    C'est un truc de ce genre, Ce n'est pas encore ça, mais ça ressemble à ça
     
    #15 LAPIPE2018, Fev 8, 2019
    Dernière édition par un modérateur: Fev 8, 2019
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    J'ai besoin de ton code sans les parties secretes
    Cliquez pour agrandir...

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    voici mon code
    [windev]CheminImage est une chaîne
    CheminImage = AlbumSélecteur(albumImage)
    SI CheminImage = "" ALORS
    Erreur(ErreurInfo())
    RETOUR
    FIN

    IMG_Image = CheminImage
    oRequête est un restRequête
    oRequête.Méthode=httpPost
    oRequête..URL="

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    "

    oRequête.ContentType=typeMimeJPEG

    oRequête.Contenu=dChargeImage(CheminImage)
    oRequête..Entête["api_user"] = API_User
    oRequête..Entête["api_secret"] = MDP
    //oRequête..Entête["media"] = buffer fichier //
    response est une restRéponse= RESTSend(oRequête)

    SI ErreurDétectée ALORS
    Erreur(ErreurInfo(errComplet))
    SINON
    LIB_Statut = response.Contenu
    FIN[/windev]
     
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67
    [windev]CheminImage est une chaîne
    CheminImage = AlbumSélecteur(albumImage)
    SI CheminImage = "" ALORS
    Erreur(ErreurInfo())
    RETOUR
    FIN

    IMG_Image = CheminImage
    oRequête est un restRequête
    oRequête.Méthode=httpPost
    oRequête..URL="

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    "

    oRequête.ContentType=typeMimeJPEG

    oRequête.Contenu=dChargeImage(CheminImage)
    oRequête..Entête["api_user"] = API_User
    oRequête..Entête["api_secret"] = MDP
    //oRequête..Entête["media"] = buffer fichier //
    response est une restRéponse= RESTSend(oRequête)

    SI ErreurDétectée ALORS
    Erreur(ErreurInfo(errComplet))
    SINON
    LIB_Statut = response.Contenu
    FIN[/windev]
     
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Il faut regarder
    Code (Windev):
    monrequest est une Structure
        id est une chaîne
        timestamp est une chaîne
        operations  est une entier
     
    FIN
    manudite est une Structure
        raw,Partial,safe sont des réels
     
    FIN
    monmedia est une Structure
        uri,id sont des chaînes
     
    FIN
    lastructurejson est une Structure
        status est une chaîne
        lerequest est un monrequest
        lanudite est un manudite
        lemedia est un monmedia
     
    FIN
    cc est une chaîne=[
        {
        "status": "success",
        "request": {
        "id": "req_VjyxevVQYXQZ1HMbnwtn",
        "timestamp": 1471762434.0244,
        "operations": 1
        },
        "nudity": {
        "raw": 0.000757,
        "partial": 0.000763,
        "safe": 0.999243
        },
        "media": {
        "id": "med_KWmB2GQZ29N4MVpVdq5K",
        "uri": "[URL]https://sightengine.com/assets/img/examples/example2.jpg[/URL]"
        }
        }
    ]

    stMastructurejson est une lastructurejson
    vMonProduit est un Variant =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (cc)

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (stMastructurejson,cc,psdJSON)
     
    C'est un truc de ce genre, Ce n'est pas encore ça, mais ça ressemble à ça
    Cliquez pour agrandir...
    Bonsoir

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    merci pr ton aide que tu m'apportes pour que je puisse mieux m'imprégner des notions de Sérialisation/Désérialisation
    Ton exemple me donne une idée mais je suis buté.
    cc est une chaîne=[
    {
    "status": "success",
    "request": {
    "id": "req_VjyxevVQYXQZ1HMbnwtn",
    "timestamp": 1471762434.0244,
    "operations": 1
    },
    "nudity": {
    "raw": 0.000757,
    "partial": 0.000763,
    "safe": 0.999243
    },
    "media": {
    "id": "med_KWmB2GQZ29N4MVpVdq5K",
    "uri": "

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    "
    }
    }
    ]

    Cette chaine varie en fonction des images
     
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Il faut regarder
    Code (Windev):
    monrequest est une Structure
        id est une chaîne
        timestamp est une chaîne
        operations  est une entier
     
    FIN
    manudite est une Structure
        raw,Partial,safe sont des réels
     
    FIN
    monmedia est une Structure
        uri,id sont des chaînes
     
    FIN
    lastructurejson est une Structure
        status est une chaîne
        lerequest est un monrequest
        lanudite est un manudite
        lemedia est un monmedia
     
    FIN
    cc est une chaîne=[
        {
        "status": "success",
        "request": {
        "id": "req_VjyxevVQYXQZ1HMbnwtn",
        "timestamp": 1471762434.0244,
        "operations": 1
        },
        "nudity": {
        "raw": 0.000757,
        "partial": 0.000763,
        "safe": 0.999243
        },
        "media": {
        "id": "med_KWmB2GQZ29N4MVpVdq5K",
        "uri": "[URL]https://sightengine.com/assets/img/examples/example2.jpg[/URL]"
        }
        }
    ]

    stMastructurejson est une lastructurejson
    vMonProduit est un Variant =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (cc)

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (stMastructurejson,cc,psdJSON)
     
    C'est un truc de ce genre, Ce n'est pas encore ça, mais ça ressemble à ça
    Cliquez pour agrandir...
    Bonsoir

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    merci pr ton aide que tu m'apportes pour que je puisse mieux m'imprégner des notions de Sérialisation/Désérialisation
    Ton exemple me donne une idée mais je suis buté.
    cc est une chaîne=[
    {
    "status": "success",
    "request": {
    "id": "req_VjyxevVQYXQZ1HMbnwtn",
    "timestamp": 1471762434.0244,
    "operations": 1
    },
    "nudity": {
    "raw": 0.000757,
    "partial": 0.000763,
    "safe": 0.999243
    },
    "media": {
    "id": "med_KWmB2GQZ29N4MVpVdq5K",
    "uri": "

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    "
    }
    }
    ]

    Cette chaine varie en fonction des images
     
  • Man

    Man Active Member

    Inscrit:
    Juil 9, 2018
    Messages:
    290
    J'aime reçus:
    67
    [windev]CheminImage est une chaîne
    CheminImage = AlbumSélecteur(albumImage)
    SI CheminImage = "" ALORS
    Erreur(ErreurInfo())
    RETOUR
    FIN

    IMG_Image = CheminImage
    oRequête est un restRequête
    oRequête.Méthode=httpPost
    oRequête..URL="

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    "

    oRequête.ContentType=typeMimeJPEG

    oRequête.Contenu=dChargeImage(CheminImage)
    oRequête..Entête["api_user"] = API_User
    oRequête..Entête["api_secret"] = MDP
    //oRequête..Entête["media"] = buffer fichier //
    response est une restRéponse= RESTSend(oRequête)
    //cc est un buffer = response
    SI ErreurDétectée ALORS
    Erreur(ErreurInfo(errComplet))
    SINON

    stMastructurejSON est une lastructurejson
    vMonProduit est un Variant = JSONVersVariant(response.Contenu)
    bufProduit est un Buffer
    sProduit est une chaîne ANSI
    // Sérialisation de l'élément
    //Sérialise(stMastructurejSON, sProduit, psdJSON)
    // Désérialisation vers l'élément
    Désérialise(stMastructurejSON,vMonProduit, psdJSON)
    // pour tout ss de vMonProduit
    LIB_Statut= ChaîneConstruit("Pas de nudité : "+RC+"Nudité partielle : "+RC+"Nudité brute : ",...
    stMastructurejSON.lanudite.safe,stMastructurejSON.lanudite.Partiale,stMastructurejSON.lanudite.raw)

    // fin
    FIN[/windev]
     
  • Partager cette page

    Chargement...