Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1386 connectés 

 

Sujet(s) à lire :
    - Apprentissage par la pratique
 

 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10  11  12  13  14
Auteur Sujet :

[Projet] Une bouteille a la mer

n°1813748
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2008 à 11:14:03  profilanswer
 

Reprise du message précédent :

LeRiton a écrit :

J'aime bien ce qui s'est dit. Une chose cependant, à propos de la note 2 du pâté de Masklinn, je pense que ça devrait être le comportement par défaut.


Non.

LeRiton a écrit :

Sous-entendu que la RFC devrait définir le comportement le plus simpliste et dans ce cas, l'url de soumission est la racine de la plage.


Non plus, pour aussi bien la raison que tu indiques (la balise sert également à indiquer que l'URL est bien le point d'entrée d'une plage) que le fait que ça encode des informations d'URL dans la spec, si Roy Fielding était là il te balancerait par la fenêtre.

 


Et ça n'a rien de "simpliste" comme comportement, ça a au contraire des implications fortes (ça empêche un point d'entrée statique qui dirige vers une CGI en C). Le gain est faible, on perd en clarté, on perd en flexibilité et on perd la dynamique URL-based. Ca m'emmerde déjà de pas avoir réussi à encoder les méthodes authorisées dans le lien, je tiens pas à partir sur du RPC alors que je voulais tenter une spec REST.

Message cité 1 fois
Message édité par masklinn le 19-11-2008 à 11:14:31

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le 19-11-2008 à 11:14:03  profilanswer
 

n°1813755
LeRiton
Posté le 19-11-2008 à 11:28:21  profilanswer
 

Tu peux expliquer ça ?

masklinn a écrit :

[...] que le fait que ça encode des informations d'URL dans la spec


 
 

n°1813756
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2008 à 11:30:35  profilanswer
 

LeRiton a écrit :

Tu peux expliquer ça ?


Une URL de soumission de bouteille par défaut, c'est une URL encodée dans la spec (comme étant équivalente au point d'entrée du service), alors qu'il n'y a aucune raison de le faire puisqu'il est trivial de fournir cette URL dans le document fourni par le point d'entrée.

 

Rien ne t'empêche par la suite de cacher cette URL et de taper directement dedans, mais c'est un détail d'implémentation et si ça pète c'est ton problème d'implémenteur ;)


Message édité par masklinn le 19-11-2008 à 11:31:25

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1813763
LeRiton
Posté le 19-11-2008 à 11:37:17  profilanswer
 

OK, donc c'est là où j'ai pas été clair. Dans ma proposition, l'url est de soumission est le point d'entrée (et n'a donc pas besoin d'être fournie par ce dernier).

n°1813769
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2008 à 11:56:57  profilanswer
 

LeRiton a écrit :

Dans ma proposition, l'url est de soumission est le point d'entrée (et n'a donc pas besoin d'être fournie par ce dernier).


Ca ne change en rien ma réponse. Le point d'entrée d'un service c'est la ressource permettant de se déplacer dans les collections du service. Une ressource qui demande des informations n'est pas un point d'entrée et une ressource qui ne fournit pas d'informations n'est pas un point d'entrée. Après tu peux réutiliser l'URL pour des interactions (cf ma note 2), mais ça ne change rien au problème.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1813808
KangOl
Profil : pointeur
Posté le 19-11-2008 à 13:22:15  profilanswer
 

masklinn a écrit :


Ca ne change en rien ma réponse. Le point d'entrée d'un service c'est la ressource permettant de se déplacer dans les collections du service. Une ressource qui demande des informations n'est pas un point d'entrée et une ressource qui ne fournit pas d'informations n'est pas un point d'entrée. Après tu peux réutiliser l'URL pour des interactions (cf ma note 2), mais ça ne change rien au problème.


ok.
Effectivement, en prenant en compte ton idée de point d'entrée qui te fournis les infos sur comment utiliser le service (et ce qu'il fournis (extensions...)), le fait d'utiliser <link> est totalement logique.
 
par contre, pour le nom du rel, je verrais plus un truc comme openid : <link rel="beach.throw-bottle" href="http://foo.bar" />


---------------
Nos estans firs di nosse pitite patreye...
n°1813819
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2008 à 13:31:00  profilanswer
 

KangOl a écrit :

par contre, pour le nom du rel, je verrais plus un truc comme openid : <link rel="beach.throw-bottle" href="http://foo.bar" />


throw est effectivement mieux que send, par contre le préfixer ça part dans l'architecture astronautique. On en a strictement pas besoin pour un truc pareil qui va être utilisé (au mieux) par 2 pelés et 3 tondus sur une page unique :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1814990
KangOl
Profil : pointeur
Posté le 21-11-2008 à 14:47:25  profilanswer
 

enfin, le principe c'est tout de même d'avoir plein de plages, sinon l'intérêt est assez limité.


---------------
Nos estans firs di nosse pitite patreye...
n°1821112
MagicBuzz
Posté le 03-12-2008 à 10:49:48  profilanswer
 

Ben dites donc, c'est de la résurrection ou je ne m'y connais pas ^^
 
Enfin, c'était bref mais intense ;)
 
Vous êtes arrivés à une conclusions du coup pour faire une nouvelle RFC ?

n°1824646
LeRiton
Posté le 10-12-2008 à 09:14:42  profilanswer
 

Aloha,
 
J'ai une première implé, qui pour le moment ne fait rien d'autre que ce dont on a discuté. Ceux qui veulent tester : http://beach.leriton.net
Retours, suggestions, trous de sécu...
 
Je résume :
 

  • la homepage avec une balise link, le rel à "throw-bottle" et l'url qui va bien
  • si on attaque l'url de soumission autrement qu'en post => 405 method not allowed
  • si le message est nul ou vide => 400 bad request
  • on choppe la plage d'envoi dans le header x-current-from si il est présent


Pour le moment, stockage des bouteilles uniquement. Tout reste à faire en quelque sorte.

mood
Publicité
Posté le 10-12-2008 à 09:14:42  profilanswer
 

n°1825616
masklinn
í dag viðrar vel til loftárása
Posté le 11-12-2008 à 16:33:27  profilanswer
 

LeRiton a écrit :

Aloha,

 

J'ai une première implé, qui pour le moment ne fait rien d'autre que ce dont on a discuté. Ceux qui veulent tester : http://beach.leriton.net
Retours, suggestions, trous de sécu...

 

Je résume :

 
  • la homepage avec une balise link, le rel à "throw-bottle" et l'url qui va bien
  • si on attaque l'url de soumission autrement qu'en post => 405 method not allowed
  • si le message est nul ou vide => 400 bad request
  • on choppe la plage d'envoi dans le header x-current-from si il est présent


Pour le moment, stockage des bouteilles uniquement. Tout reste à faire en quelque sorte.


Ca a pas l'air de marcher très bien depuis chez moi:

Code :
  1. >>> from urlparse import urljoin
  2. >>> from urllib2 import urlopen
  3. >>> from urllib import urlencode
  4. >>> domain = 'http://beach.leriton.net/'
  5. >>> path = '/bottle/throw'
  6. >>> url = urljoin(domain, path)
  7. >>> url
  8. 'http://beach.leriton.net/bottle/throw'
  9. >>> urlopen(url, urlencode({'message':'je peux test?'}))
  10.  
  11. Traceback (most recent call last):
  12.  File "<pyshell#7>", line 1, in <module>
  13.    urlopen(url, urlencode({'message':'je peux test?'}))
  14.  File "e:\python25\lib\urllib2.py", line 124, in urlopen
  15.    return _opener.open(url, data)
  16.  File "e:\python25\lib\urllib2.py", line 387, in open
  17.    response = meth(req, response)
  18.  File "e:\python25\lib\urllib2.py", line 498, in http_response
  19.    'http', request, response, code, msg, hdrs)
  20.  File "e:\python25\lib\urllib2.py", line 425, in error
  21.    return self._call_chain(*args)
  22.  File "e:\python25\lib\urllib2.py", line 360, in _call_chain
  23.    result = func(*args)
  24.  File "e:\python25\lib\urllib2.py", line 506, in http_error_default
  25.    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
  26. HTTPError: HTTP Error 422: Unprocessable Entity
  27. >>>


Message édité par masklinn le 11-12-2008 à 16:33:58

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1825734
LeRiton
Posté le 11-12-2008 à 18:38:57  profilanswer
 

L'url est bonne, en get elle renvoi bien un 405 (pour moi en tout cas).
 
Eeeeet, test en post me renvoi la même chose que pour toi !
 
Ca apparaissait qu'en prod, c'est corrigé, et cette fois ci, tu peux test :o
 
Merci du retour !

n°1825749
masklinn
í dag viðrar vel til loftárása
Posté le 11-12-2008 à 19:15:07  profilanswer
 

Ok, ça renvoie une 201 et normalement t'as reçu une bouteille de ma part (enfin 2, mais une seule signée) :jap:
 
Par contre urllib2 est con, il lève une exception sur une 201


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1825752
LeRiton
Posté le 11-12-2008 à 19:22:45  profilanswer
 

Citation :

Et là je peux test?
 
Et là je peux test? -- Masklinn


 

n°1859029
KangOl
Profil : pointeur
Posté le 08-03-2009 à 18:06:04  profilanswer
 

Bon, résumons.
 
Nous avons donc deux entités:
 1/ bouteille.
    Une bouteille est composée uniquement d'un message.
    Ce message est du text/plain encodé en UTF8 [1]
    Il n'y a aucune notion de date ou d'auteur de message. Libre à l'auteur du message de le signer et/ou de la dater.
 
 2/ plage.
    Une plage est juste un lieu où se trouvent un certain nombre de bouteilles.
    Une plage est identifiée par une URI.
 
Maintenant, le but est donc de faire transiter (semi-)automatiquement des bouteilles d'une plage à une autre. Seules les plages peuvent se parler entre elles. Les bouteilles sont des objets passifs qui ne font que transiter de plage en plage. Une bouteille, pour être ouverte et son message lu, doit sortir de sa plage actuelle. Elle peut ensuite être refermée et remise dans le circuit.
 
Il est maintenant convenu que le protocol sera basé sur http(s) (et donc RESTful).
 
Les méthodes disponibles seraient (à discuter) dont:
 */ nom et version de la plage:
   */ méthode (au sens applicatif du terme): URI/version
   */ méthode http: GET
   */ résultat: au choix de l'implémentation. De préférence en text/plain UTF8.
 
 */ liste des plages connues:
   */ méthode: URI/known-beaches
   */ méthode http: GET
   */ résultat: liste d'URI. une par ligne
 
 */ prendre une bouteille sur une plage:
   */ méthode: URI/get
   */ méthode http: GET
   */ résultat: le message de la bouteille
 
 */ lancer une bouteille à la mer:
   */ méthode: URI/throw
   */ méthode http: POST
   */ Header: Referer: On reprend l'idée de Masklinn mais on réutilise ce qui existe déjà. La plage, si elle garde la bouteille) doit vérifier l'exactitude de ce champs pour vérifier que c'est bien une plage (l'utilisation de la méthode /known-beaches est recommendée, de manière à permettre la propagation des plages). Il est recommendé que les clients laissent ce champs vide.
   */ content-type: application/x-www-form-urlencoded
   */ paramètres:  
      */ message=
      */ format= [1]
   */ résultat: au choix de l'implémentation.
   */ note: une plage peut décider de garder la bouteille ou de la transmettre à une autre plage. Dans ce cas, le Header "Referer" peut être altérer pour permettre la propagation des plages.
 
Sur ce, j'attend vos commentaires.
 
P.S.: L'idée de Masklinn d'utiliser la balise <link> n'est pas à jeter non plus. Cela peut être utile couplé à une extension firefox (ou un script greasemonkey) qui permet de proposer un formulaire html sur tout les pages web contenant cette balise.
 
--
[1] Accessoirement, le message peut être sous un autre format. Ce format est alors déterminé par la première ligne du message qui doit être

Code :
  1. # -*- format: xxx -*-

où "xxx" représente le format. Exemples de formats: html, rst, base64/png, url
Après, libre au plages clients, d'interpreter ou non ces formats
 
--
Edit: certaines corrections...

Message cité 1 fois
Message édité par KangOl le 08-03-2009 à 20:32:58

---------------
Nos estans firs di nosse pitite patreye...
n°1860289
masklinn
í dag viðrar vel til loftárása
Posté le 11-03-2009 à 13:15:43  profilanswer
 

KangOl a écrit :

Sur ce, j'attend vos commentaires.


Je vois pas l'intérêt de ces trucs, non seulement c'est du RPC (alors que je le répète mon but était un truc RESTful) mais toutes les communications entre les plages sont déjà rendues possibles par la spec initiale...

 
KangOl a écrit :

Il est maintenant convenu que le protocol sera basé sur http(s) (et donc RESTful).


Pas vraiment non, SOAP tourne sur HTTP et est anti-RESTful au possible [:spamafote]

Spoiler :

Pour savoir si ça a la moindre chance d'être RESTful, demande toi combien d'URLs le client doit connaître. Si c'est plus de 1, le service ne peut pas être RESTful. Avec ta spec, le client doit en connaitre 4 en plus du point d'entrée (la racine de la plage)


Message édité par masklinn le 11-03-2009 à 13:19:16

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1860867
masklinn
í dag viðrar vel til loftárása
Posté le 12-03-2009 à 18:21:54  profilanswer
 

LeRiton t'es dans le coin? Ta plage peut test ou pas?


Message édité par masklinn le 12-03-2009 à 18:22:03

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1860886
LeRiton
Posté le 12-03-2009 à 19:34:38  profilanswer
 

En théorie oui.
 

Citation :

Je peux pas test de http://masklinn.net/beach/

n°1860888
masklinn
í dag viðrar vel til loftárása
Posté le 12-03-2009 à 19:38:12  profilanswer
 

LeRiton a écrit :

En théorie oui.
 

Citation :

Je peux pas test de http://masklinn.net/beach/



Cool, j'ai plus qu'à décider de la manière dont je vais configurer le job et tu vas recevoir plein de messages (vu que t'as la seule plage avec laquelle la mienne peut communiquer [:sisicaivrai])


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1860890
LeRiton
Posté le 12-03-2009 à 19:41:50  profilanswer
 

Incroyable, deux plages en seulement quelques mois  [:uriel]  
 
J'vais pouvoir attaquer la partie client su je comprend bien...

n°1860902
masklinn
í dag viðrar vel til loftárása
Posté le 12-03-2009 à 20:19:18  profilanswer
 

LeRiton a écrit :

Incroyable, deux plages en seulement quelques mois  [:uriel]  
 
J'vais pouvoir attaquer la partie client su je comprend bien...


:D
 
Cron job créé, normalement ta plage va recevoir 1 bouteille/jour jusqu'à ce qu'il n'y en ait plus chez moi [:hahaguy]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1863553
LeRiton
Posté le 19-03-2009 à 14:30:59  profilanswer
 

Comment tu (vous ? on est toujours seuls ?) gère la détection d'url absolue / relative ?
 
On peut considérer qu'une url relative est tout ce qui commence par '/', on inclue aussi le point et les deux points, ou il faut gérer d'autres cas si on veut faire les choses proprement ? Le slash et le point me semblent suffisants.
 
Les bouteilles arrivent, y'a pas de soucis. Ce qui est génial, c'est qu'elle pourront faire du ping-pong entre nos deux plages dés que j'aurais terminé [:petrus75]
 
C'est vraiment un projet d'envergure [:classe++]

n°1863660
masklinn
í dag viðrar vel til loftárása
Posté le 19-03-2009 à 16:08:01  profilanswer
 

LeRiton a écrit :

Comment tu (vous ? on est toujours seuls ?) gère la détection d'url absolue / relative ?


Dans quel cas/à quel endroit?

 

Enfin globalement je gère rien du tout perso, je code en Python, donc j'appelle urlparse.urljoin et il se démerde tout seul pour comprendre ce qui se passe [:dawa]

 

Dans l'envoi d'une bouteille, la récupération de l'URL à laquelle balancer le truc donne ça:

Code :
  1. def _get_dest(self, connection, url):
  2.    response, content = connection.request(url)
  3.    soup = BeautifulSoup.BeautifulSoup(content)
  4.    link = soup.find('link', rel='throw-bottle')
  5.  
  6.    if link != None:
  7.        return urlparse.urljoin(
  8.            url, link['href'])


connection est la connection HTTP, url est le point d'entrée de la plage distante

 
Spoiler :

tiens ça me fait penser que mon cron est tout pêté, va vraiment faloir que je regarde pourquoi, ya rien dans les logs [:pingouino]


Spoiler :

et faut que je corrige une faute de style, ça devrait être link is not None pas link != None [:sadnoir]


Message édité par masklinn le 19-03-2009 à 16:12:21

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1863873
LeRiton
Posté le 20-03-2009 à 09:10:39  profilanswer
 

OK, la doc d'urljoin répond à ma question, spécialement cette partie :

 
Citation :

If url is an absolute URL (that is, starting with // or scheme://), the url‘s host name and/or scheme will be present in the result. For example:

 
Code :
  1. urljoin('http://www.cwi.nl/%7Eguido/Python.html',
  2. ...         '//www.python.org/%7Eguido')
  3. 'http://www.python.org/%7Eguido'



 

Plus qu'à me caler là dessus ou trouver l'équivalent en Ruby.

 

Pour info sinon, les derières bouteilles que j'ai reçu de ta part :

Spoiler :


Tu peux pas test de http://masklinn.net/beach/

 

Vous ne pouvez pas test de http://masklinn.net/beach/

 

J'peux test par le oueb ? de http://masklinn.net/beach/

 

Il peut pas test de http://masklinn.net/beach/

 

uuigu de http://masklinn.net/beach/

 

J'ai pas les dates sous les yeux.

 

Edit : bin y'a URI.join() [:prozac]


Message édité par LeRiton le 20-03-2009 à 09:14:58
n°1863989
LeRiton
Posté le 20-03-2009 à 13:21:39  profilanswer
 

Le projet a du succès, c'est un fait.
 
Maintenant, je me pose la question de savoir si les 13 pages dont 10 inutiles depuis la nouvelle RFC (perdue dans le lot) plus un premier post pas à jour ne joue pas un peu dans le fait qu'on tende plus vers Berk plage que les atolls ? On a l'air d'avoir perdu KangOl dans la discussion en plus :o
 
Un thread tout frais remettrait peut-être les choses dans l'ordre, avec pub, tits pour attirer le chalant, le tout avec un premier post tout frais made in Masklinn.

Spoiler :


Et dans la cat' PHP [:dawak]


 

n°1864003
masklinn
í dag viðrar vel til loftárása
Posté le 20-03-2009 à 13:33:51  profilanswer
 

LeRiton a écrit :

Et dans la cat' PHP [:dawak]


Alors que les 2 plages existantes sont en Python et en Ruby? [:ddr555]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1864026
LeRiton
Posté le 20-03-2009 à 13:55:25  profilanswer
 

masklinn a écrit :

Alors que les 2 plages existantes sont en Python et en Ruby? [:ddr555]


LeRiton a écrit :

[..] pour attirer le chalant [..]


 
 [:clooney29]  
 
Les cat' Python et Ruby sont pas exactement les plus fréquentées... Mais je note que t'as pas dit non.

n°1864208
masklinn
í dag viðrar vel til loftárása
Posté le 20-03-2009 à 21:06:49  profilanswer
 

Salaud leriton tu me renvoies mes bouteilles [:thalis]

Spoiler :

je crois que j'ai fixé mon cron job [:hahaguy]

Message cité 1 fois
Message édité par masklinn le 20-03-2009 à 21:07:08

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1864243
LeRiton
Posté le 20-03-2009 à 22:46:45  profilanswer
 

masklinn a écrit :

Salaud leriton tu me renvoies mes bouteilles [:thalis]

Spoiler :

je crois que j'ai fixé mon cron job [:hahaguy]


 

Ha bon ?!?
C'est pas en prod pour le moment, donc si je t'ai renvoyé quelque chose, c'est que mes tests sont pas étanches [:dawak]

 


Message cité 1 fois
Message édité par LeRiton le 20-03-2009 à 22:48:08
n°1864244
masklinn
í dag viðrar vel til loftárása
Posté le 20-03-2009 à 22:51:04  profilanswer
 

LeRiton a écrit :

Ha bon ?!?
C'est pas en prod pour le moment, donc si je t'ai renvoyé quelque chose, c'est que mes tests sont pas étanches [:dawak]


Normalement il y a 2 bouteilles qui sont retournées chez toi que je ne me souviens pas avoir balancé sur ma plage, et une qui ressemble pas mal à du test :D


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1864252
KangOl
Profil : pointeur
Posté le 20-03-2009 à 23:36:13  profilanswer
 

LeRiton a écrit :

On a l'air d'avoir perdu KangOl dans la discussion en plus :o
 


Non.
J'ai juste un peut du mal avec la version REST qui, selon moi, n'a aucun intérêt, à part d'être buzzwordé (c'est même plus contraignant, vu qu'il faut parser une page html (même s'il y a des libs)).
 
Bon, vais voir pour un second client python...


---------------
Nos estans firs di nosse pitite patreye...
n°1864253
masklinn
í dag viðrar vel til loftárása
Posté le 20-03-2009 à 23:37:38  profilanswer
 

KangOl a écrit :

Non.
J'ai juste un peut du mal avec la version REST qui, selon moi, n'a aucun intérêt, à part d'être buzzwordé


C'est bien ça l'intérêt [:dawa]. Avec la réduction de la taille de l'interface aussi (vu qu'on passe d'une demi-douzaine de méthodes RPC à un point d'entrée et 2 content-types)

KangOl a écrit :

(c'est même plus contraignant, vu qu'il faut parser une page html (même s'il y a des libs)).


Faut pas abuser non plus [:pingouino]


Message édité par masklinn le 20-03-2009 à 23:42:54

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1867747
omega2
Posté le 31-03-2009 à 00:40:36  profilanswer
 

Cool, ça vie encore.
Pas cool, j'ai même plus de site web pour tester ma future plage (tout pété pour le moment de toute manière).

n°1867760
LeRiton
Posté le 31-03-2009 à 08:33:05  profilanswer
 

Et de presque troize  \o/
 
J'ai un client presque prêt, faudrait sévèrement que je me sorte les doigts d'où ils sont pour le mettre en ligne.

n°1867826
kao98
...
Posté le 31-03-2009 à 11:42:14  profilanswer
 

Y'aurait un client php opérationnel, tout prêt à être installé ?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1867836
masklinn
í dag viðrar vel til loftárása
Posté le 31-03-2009 à 12:06:08  profilanswer
 

kao98 a écrit :

Y'aurait un client php opérationnel, tout prêt à être installé ?


AFAIK il n'y a pas de plage "REST" implémentée en PHP, LeRiton a fait la sienne en Ruby et la mienne est en Python.
 
Faut que je la clean un peu pour pouvoir publier le source d'ailleurs.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1869228
MagicBuzz
Posté le 03-04-2009 à 14:17:52  profilanswer
 

Faudra que je pense à ressortir le mien de son cercueil histoire d'en avoir un en .NET aussi... sous Linux évidement.

n°1885831
LeRiton
Posté le 18-05-2009 à 19:27:04  profilanswer
 

J'ai mis à jour, avec une jolie mise en page pré-kolkhozienne du meilleur effet. Ça viendra avec le temps.

 

Si quelqu'un, genre Masklinn, peut test avec un client, juste histoire d'être sûr que la mise-à-jour à pas tout flingué (TDBNSD: Test Driven But Not Safe Development), ça serait super chou.

 

Edit : http://beach.leriton.net :o


Message édité par LeRiton le 18-05-2009 à 20:32:11
n°1885914
LeRiton
Posté le 19-05-2009 à 08:35:17  profilanswer
 

Y'a un bon potentiel pour faire de la pub mine de rien, quand on y pense un peu, là. Faudra qu'il y ai beaucoup de plages notez bien, mais bon, y'a du potentiel.

n°1886485
LeRiton
Posté le 20-05-2009 à 13:44:55  profilanswer
 

Citation :

   S.O.S
 
Provenant de http://masklinn.net/beach/
 
    Trop top much of the ball
 
Provenant de http://beach.leriton.net


 
[:bien]

n°1912492
masklinn
í dag viðrar vel til loftárása
Posté le 06-08-2009 à 16:47:48  profilanswer
 

Epic bumpage, me faisant chier j'ai repris la plage que j'avais créé initialement, packagé ça proprement avec du setup.py et du requirements.txt (pour pip) et j'ai collé le tout sur bitbucket:

 

http://bitbucket.org/masklinn/beach/
http://bitbucket.org/masklinn/currents/

 

C'est en deux partie:

  • Beach, la plage même qui reçoit des requêtes et stocke des bouteilles avec urls.py, admin.py & tout le toutim
  • Currents, une management command qui sert à envoyer des bouteilles aux autres plages (à coller dans un cron ou autre), qui dépend naturellement de beach.


C'est du python/django, pour l'installation pour beach suffit de mettre l'app dans son settings.py et d'include() beach.urls, pour currents il faut l'installer dans son settings.py et définir un setting SITE_DOMAIN pour pouvoir envoyer l'URL de la plage dans x-current-from.

 

Beach dépend juste de Django, Currents dépend de Beach, httplib2 et BeautifulSoup (c'est tout marqué dans les requirements.txt de toute façon)


Message édité par masklinn le 06-08-2009 à 16:47:56

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10  11  12  13  14

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Rech] coders C++ pour m'aider pour un projet[WSAD] ajouter un projet à une config serveur
Gestion de projetOffre de projet PHP/mySQL rémunéré
Fichier integré au projetMa premiere class pour mon projet, des commentaires ? :)
projet c++ simple traduire une phrase en morse "sonore"[ECLIPSE] Comment intégrer un input à un projet?
contenu des fichiers du projet (.cfg, .dof, .dsk, ...)[Projet] Programme d'encodage/decodage Audio/Video MPEG-1/2/4
Plus de sujets relatifs à : [Projet] Une bouteille a la mer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR