Créer une extension PHP

Mammouth du PHP | 965 Messages

03 mars 2012, 15:33

Bonjour à tous,

Je souhaiterais créer une application en php qui me servirais de client bittorrent. Ayant déjà vu torrentflux que je n'aime pas particulièrement et aimerais créer quelque chose avec des technos plus récentes comme Symfony2, ExtJS. Le problème c'est qu'en PHP on ne peut pas "communiquer" avec un tracker, au mieux avoir les informations sur le torrent, grace à BEncoder, comme l'announce ou les fichiers. Comme je souhaiterais aller plus loin et que PHP n'est pas fait pour ça il faudrait, je pense, créer une extension qui gérerais en C le protocole bittorrent. La encore il existe des solutions en CLI mais je souhaiterais le faire un peu à ma sauce pour voir comment ça fonctionne.

Pour la partie protocole bittorrent j'ai les spécifications et je penses pouvoir mener à bien mon projet, même si ça reste une application uniquement pour usage privé. En effet j'ai monté un petit server Debian qui ma foi tourne pas mal, comme je ne souhaite pas d'interface graphique, ni utiliser la ligne de commande si par exemple je suis sur un poste windows, le plus simple reste de passer par une application web.

C'est peut être une idée farfelue mais elle me permettrais de comprendre un peu mieux les mécanismes de PHP et des extensions. En ayant fouillé un peu sur le net je ne trouve pas vrai documentation sur comment créer une extension à pars la manière "quick and dirty". Peut être certains d'entre vous ont essayé de créer leur propres extensions ou sont déjà tombés sur des problèmes similaires ?

Agité.

ViPHP
xTG
ViPHP | 7331 Messages

03 mars 2012, 16:05

Voilà un très bon article sur la création d'extension : http://julien-pauli.developpez.com/tuto ... extension/

Mammouth du PHP | 965 Messages

03 mars 2012, 16:09

Merci pour ce lien je vais potasser tout ça.

ViPHP
ViPHP | 2287 Messages

06 mars 2012, 22:32

Voici une bibliothèque libre qui gère le protocole BitTorrent : http://sourceforge.net/projects/libbt/

(il existe aussi libtorrent, plus connue mais en c++, et sûrement d'autres encore).
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Mammouth du PHP | 965 Messages

07 mars 2012, 01:17

Merci pour cette lib je vais voir comment intégrer ça à mon projet, j'aurais certainement d'autres question par la suite.