Aller au contenu

Ajouter Un hébergeur


Messages recommandés

  • Réponses 63
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

  • 2 mois après...
  • 1 an après...

Bonjour,

Après plus de 3 ans de service mon plugin pour Alldebrid vient de rendre subitement l'âme... Est-ce qu'il fonctionne toujours chez vous ?

Le problème (ou en tout cas le premier) semble venir des cookies récupérés lors de la connexion... J'en récupère beaucoup moins que lors d'une connexion avec un navigateur.

 

Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...
Le 27/11/2012 à 16:47, keltharak a dit :

Bonjour,

 

Désolé pour le l'attente j'ai oublié de revenir par ici... Alors je veux bien partager ce que j'ai pas de souci mais ce n'est pas encore au top ! J'ai été un peu vite en annonçant que ça marchait en fait j'ai réussi a téléchargé 2 fichiers d'affilé avec mon compte premium mais depuis plus rien... j'ai un peu l'impression que le bout de code qui gère les modules de téléchargement n'est pas très fiable. Et en ajoutant à ça l'absence de log sur le syno pour ces modules c'est pas du tout évident de débuguer !

 

Je joins un zip avec le host.php, le INFO et la doc synology qui va avec, mais je pense que le plus utile la dessus c'est le partage d'expérience alors allons y.

 

Tout d'abord sans vouloir troller, pour suivre le reste de la conversation et essayer de déboguer ce que j'ai fait il faut savoir développer. Et je vous préviens tout de suite que même en sachant vous allez vous arracher les cheveux ! Pour la suite des explications je vais donc supposer que tout le monde sait coder.

La doc syno (qui est en PJ) est un bon brouillons mais elle donne des envies de meurtres quand on essai de creuser un peu donc il vous faut la lire, plusieurs fois vous y référer autant que possible, comme une doc quoi, mais sachez qu'elle va très vite montrer ses limites.

On trouve quand même une très bonne surprise dans ce document c'est l'exemple de host.php dédié à ce cher megaupload. Le code et assez clair et suffisamment commenté pour comprendre le fonctionnement d'un module et commencer à faire quelque chose. L’inconvénient (je vous l'avez dis que vous seriez rapidement déçu !) c'est justement que c'est pour megaupload et donc ne fonctionne plus donc impossible de tester le code original...

Enfin... l'idée c'est de reprendre les fonctions de l'exemple et de réécrire le code pour l'adapter à votre hébergeur mais en gardant la même philosophie (et si comme moi la POO ça vous pasionne dites vous bien que l'analyse est faite comme ça !). Il y a quand même certaine méthodes qui peuvent être supprimées ou fusionnées mais souvenez vous bien que vous devez toujours conserver le constructeur (logique !) et les méthodes obligatoires de la doc (si vous n'avez pas suivi je vous la fait courte, ce sont les méthodes qui peuvent être appelées par DownloadStation pour interagir avec votre module, à savoir GetDownloadInfo et Verify)

A ce propos, lorsque je bossais sur ce sujet, l'appel de la méthode verify ne fonctionnait pas mais ceci devrait être corrigé depuis la dernière version (info du support synology de l'époque).

Maintenant que vous en êtes la vous allez commencer à coder, et vous allez tester votre œuvre... et vous allez pleurer ! Si vous êtes comme moi (et le commun des mortels) vous faites quelques erreurs par fois et vous aimez bien avoir un retour d'information sur le déroulement d'un programme, et bien c'est mort ! à la moindre erreur de syntaxe ou plantage du code c'est l'arrêt du module et même pas une petite icone qui clignote pour signaler l'erreur on est en aveugle ! donc on se dit tant pis, les log je vais les gérer tout seul et la aussi on rigole ! La doc liste un certain nombre de constantes que l'on peut utiliser dans le module et nous informe quelles sont déclaré dans un fichier common.php (/usr/syno/synoman/webman/modules/DownloadStation/common.php qui n'est d'ailleurs plus à cet endroit là dans ma version de DS) est dans ce fichier une fonction LogInfo est également déclaré, mais impossible de retrouver ces informations par la suite. Pour pallier à ce problème j'utilise un programme présent sur le syno qui permet d'enregistrer un log dans le journal d'évènement du DSM, comme de toute façon le compte faisant tourner notre module n'as pas accès au filesystem je n'ai pas trouvé d'autre solution.

Pour facilité l'utilisation j'ai créé ma méthode d'inscription dans les log utilisant ce petit programme :

 

 

private function MyLogInfo($msg) {

        system('synologset1 sys info 0x11100000 "[AL_TEST] '.$msg.'"');

    }

 

On pourri rapidement le journal d'évènements avec cette méthode alors personnellement je pense qu'il vaut mieux commenter cette fonction dès que l'on a une version finale.

 

 

Voila je pense avoir partagé tout ce que je sais sur le sujet, si vous prenez la suite n'hésitez pas à partager votre travail, idée et pétage de câble qu'on avance tous la dessus. Je serais ravi d'échanger la dessus même si je n'ai plus trop de temps à y consacrer.

 

 

 

Merci beaucoup pour le taff, ça marche niquel :)

edit : finalement j'ai pris celui sur le site alldebrid j'avais pas vu qu ils le proposait, plus simple et il marche mieux car les noms des fichiers etaient mal retranscrits. .. merci qd mm !

Modifié par paralight
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.