Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

VDigital
2007-07-05 07:55:41

Eric a écrit:

Bah, finalement, j'ai terminé la partie sécurisation sur le wiki...

On peut passer à la phase "corrections et censure" ;-)

Dans son ensemble, çà fait une sacré tartine tout de même... J'espère que cela n'est pas trop indigeste ou rébarbatif à lire.

Je suis mal placé pour juger alors place à d'autres.

On va relire et revoir les points de détail de tout ça.
Cependant documentation, ce n'est pas fini, sur ce sujet!

Avec le JSON par exemple (je le laisse à rvelices).
Quoique on va faire un petit apparté sur JSON afin d'expliquer pourquoi je l'utilise actuellement.
Ce qui est important c'est d'avoir un code client hyper-léger.

8-)

VDigital
2007-07-05 07:48:45

mathiasm a écrit:

Relocalisée selon les choix proposés sur le topic du remodelage wiki:
Les Web Services

Merci beaucoup.
8-)

bozojmdt
2007-07-05 07:01:04

Eric a écrit:

bozojmdt a écrit:

Par contre, j'ai dû louper une étape: faut-il également ajouter la clé partner=SURTOUTPASGUEST dans l'appel à ws.php sur le site utilisateur?

Désolé, j'ai zappé ton post dans l'excitation ;-)

A partir du moment ou l'option de sécurisation des Web Services est activée dans le config_local, toutes les requêtes WS doivent s'identifier par une clé partner.

Donc, a ta question, la réponse est oui.

Merci de ta réponse. Evident en fait. Heureusement qu'on a encore le droit aux questions bêtes.

La doc est un peu longue mais il faut bien ça pour comprendre les WS qui me paraissaient encore inaccesibles il y a peu.
beau boulot.

mathiasm
2007-07-04 22:56:24

Relocalisée selon les choix proposés sur le topic du remodelage wiki:
Les Web Services

Eric
2007-07-04 22:17:42

Bah, finalement, j'ai terminé la partie sécurisation sur le wiki...

On peut passer à la phase "corrections et censure" ;-)

Dans son ensemble, çà fait une sacré tartine tout de même... J'espère que cela n'est pas trop indigeste ou rébarbatif à lire.

Je suis mal placé pour juger alors place à d'autres.

VDigital
2007-07-04 22:14:12

Oui!  8-)

Eric
2007-07-04 22:09:27

bozojmdt a écrit:

Par contre, j'ai dû louper une étape: faut-il également ajouter la clé partner=SURTOUTPASGUEST dans l'appel à ws.php sur le site utilisateur?

Désolé, j'ai zappé ton post dans l'excitation ;-)

A partir du moment ou l'option de sécurisation des Web Services est activée dans le config_local, toutes les requêtes WS doivent s'identifier par une clé partner.

Donc, a ta question, la réponse est oui.

VDigital
2007-07-04 19:58:52

Ecrire à plusieurs plumes est une chose possible.
8-)

Eric
2007-07-04 19:22:57

Je rajouterai, ce soir, une partie concernant la sécurisation dans cette page en reprenant les explications de VDigital.

J'ai commencé, il est normal que je termine. A moins que quelqu'un d'autre veuille prendre le relai ?

VDigital
2007-07-04 14:28:56

La page française des Web Services.

8-)
PS: A moins qu'on la redéplace.

VDigital
2007-07-04 07:43:29

rub a écrit:

Eric a écrit:

C'est fait ! J'ai terminé la doc sur les Web Services. J'espère ne pas avoir raconté trop de bêtises et, surtout, avoir été clair dans mes explications.


J'attends vos retours (Team et utilisateurs).

Est-ce que la FAC est la bonne place pour ce bon debriefing des services webs.

J'aurais plus vu une nouvelle page et petite paragraphe dans la FAQ avec un lien à cette nouvelle page?

On va déplacer car ce n'est pas une FAQ bien entendu...
8-)

rub
2007-07-04 07:22:30

Eric a écrit:

C'est fait ! J'ai terminé la doc sur les Web Services. J'espère ne pas avoir raconté trop de bêtises et, surtout, avoir été clair dans mes explications.


J'attends vos retours (Team et utilisateurs).

Est-ce que la FAC est la bonne place pour ce bon debriefing des services webs.

J'aurais plus vu une nouvelle page et petite paragraphe dans la FAQ avec un lien à cette nouvelle page?

bozojmdt
2007-07-04 07:07:25

Bonjour,

Grâce à vous (Eric et Vincent), j'ai enfin pu extraire une photo de ma galerie pour la coller sur un site. (faculté de external random enfin retrouvée)

Doc très claire pour moi. Je me suis couché satisfait...
Mais quel réveil! Qu'est ce donc que toutes ces "choses de sécurité" à modifier?
Je plaisante, je m'y colle de ce pas.
Par contre, j'ai dû louper une étape: faut-il également ajouter la clé partner=SURTOUTPASGUEST dans l'appel à ws.php sur le site utilisateur?

Merci d'avance.

VDigital
2007-07-03 23:22:25

Et voilà, vous seul pouvez tester vos services web (ou les personnes qui sont Admin/Adviser de votre site).

Ou (et surtout) vos partenaires car vous allez pouvoir leur donner une clé (par exemple à rvelices) et il pourra ainsi afficher à sa façon les images de votre site sur son blog par exemple.

Vous choisirez une autre clé que guest.  8-)
Les clés doivent rester secrètes sinon je vous colle un nouveau commentaire sur votre galerie à chaque image visitée sur le site de démo. Je plaisante.
Si votre partenaire divulgue votre clé, vous avez le contrôle: vous supprimez la dite clé.

Le mode non sécurisé: permet malheureusement d'écrire un module qui testera des mots de passe bateaux
avec les users connus de votre site (visibles sur commentaires par exemple) dont le vôtre.
Et ainsi tenter de devenir webmaster de votre site.

C'est un peu compliqué les Services Web mais on n'a pas fini d'en parler.
8-)

Donc on sécurise.

8-)

VDigital
2007-07-03 23:21:37

Votre walouM-ws.htm ou autre... (votre ex tools/ws.htm).

Trois fonctions sont à modifier... en gras la clé partner à insérer...

function pwgChangeUrl()
{
  $("error").update("");
  setVisibility("methodListWrapper", "hidden");
  $("methodList").update("");
  setVisibility("methodWrapper", "hidden");
  setVisibility("methodDetailWrapper", "hidden");

  gServiceUrl = $F('ws_url');
  gCachedMethods = new Hash();

  try {
        var ajaxReq = new Ajax.Request(
                gServiceUrl,
                {method:'get', parameters:'partner=guest&format=json&method=reflection.getMethodList',
                 onSuccess: function (r) { onSuccess_getMethodList(r); }
                }
            )
  }catch (e)
  {
    dumpError(e);
  }
  return false;
}

function pwgSelectMethod(methodName)
{
  $("error").update("");
  $("methodName").update(methodName);
  setVisibility("methodDetailWrapper", "hidden");
  setVisibility("methodWrapper", "visible");

  if ( gCachedMethods[methodName] )
    fillNewMethod( gCachedMethods[methodName] );
  else
  {
    try {
          var ajaxReq = new Ajax.Request(
                  gServiceUrl,
                  {method:'get', parameters:'partner=guest&format=json&method=reflection.getMethodDetails&methodName='+methodName,
                   onSuccess: function (r) { onSuccess_getMethodDetails(r); }
                  }
              )
    }catch (e)
    {
      dumpError( e );
    }
  }
  return false;
}

function pwgInvokeMethod( newWindow )
{
    var methodName = $('methodName').innerHTML;
    var method = gCachedMethods[methodName];

  var reqUrl = gServiceUrl;
  reqUrl += "?format="+$F('responseFormat');
  reqUrl += "&partner=guest";

  if ($('requestFormat').value == 'get')
  {
    reqUrl += "&method="+methodName;
    for ( var i=0; i<method.params.length; i++)
    {
      if (! $('methodParameterSend_'+i).checked)
        continue;

      if ( method.params[i].acceptArray &&  $F('methodParameterValue_'+i).split('|').length > 1 )
      {
        $F('methodParameterValue_'+i).split('|').each(
            function(v) {
              reqUrl += '&'+method.params[i].name+'[]='+v;
            }
          );
      }
      else
        reqUrl += '&'+method.params[i].name+'='+$F('methodParameterValue_'+i);
    }
    if ( !newWindow )
      $("invokeFrame").src = reqUrl;
    else
      window.open(reqUrl);
  }
  else
  {
    var form = $("invokeForm");
    form.action = reqUrl;
    var t = '<input type="hidden" name="'+'method'+'" value="'+methodName+'"/>';
    for ( var i=0; i<method.params.length; i++)
    {
      if (! $('methodParameterSend_'+i).checked)
        continue;

      if ( method.params[i].acceptArray &&  $F('methodParameterValue_'+i).split('|').length > 1 )
      {
        $F('methodParameterValue_'+i).split('|').each(
            function(v) {
              t += '<input type="hidden" name="'+method.params[i].name+'[]" value="'+v+'"/>';
            }
          );
      }
      else
        t += '<input type="hidden" name="'+method.params[i].name+'" value="'+$F('methodParameterValue_'+i)+'"/>';
    }
    form.innerHTML = t;
    form.target = newWindow ? "_blank" : "invokeFrame";
    form.submit();
  }
  return false;
}

PS: Ne pas mettre "guest" mais "CcoRiaCe10MoI" par exemple.   8-)

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact