Page 1 sur 1

Projet : Gestionnaire de Téléchargement et Upl sur RapidShar

Publié : ven. 08/juin/2007 9:06
par Ar-S
Salut amis PureBasiciens

J'ai un projet de logiciel mais je sais pertinement que je n'ai pas le niveau pour programmer un truc de la sorte.
Donc je voudrais savoir si cela interresserait quelqu'un (ou quelques uns) de bosser avec moi sur ce projet.

Projet :

Créer un soft de gestion des fichiers hebergés par RapidShare.com (hebergeur de fichiers) via un compte premium. Une fenetre pour Uploader et une fenetre pour télécharger.

Pourquoi ?
Rapidshare offre un logiciel du nom de Rapiduploader qui permet seulement l'upload. Le problème est que l'on peut upper seulement un fichier à la fois !! Ce bridage n'existait pas à la creation de Rapidshare (.de à la base)


I - La partie Downloader

1 - Une fenettre ou l'on aurait à coller du presse papier une liste d'URL
auquelle serait ajouter un nom et mot de passe.

Ex :
http://toto1 => Copier
Aller dans le programme
Bouton coller du presse papier
resultat : http://LOGIN:PASSWORD@rapidshare.com/blablabla/file.zip
Sachant que mdp et toto seraient à remplir dans l'interface

Le soft (via un fichier ini) devra stoquer en crypté pseudo et mdp afin de ne pas avoir à retaper à chaque fois.

2 - Si le programme pouvait gérer la pause/reprise du téléchargement ce serait un must.

II - La partie Uploader.

Bon là je vous avoue que je n'ai aucune idée de comment faire.
Je souhaiterai que par un Glissé/déposé dans le soft, les fichiers soient uppés (en même temps) sur rapidshare.com, pour les utilisateur de compte prémium.
Ensuite les liens générés par le site seraient stoqués dans un fichier genre "history" ou "link"


Si vous avez des questions n'hésitez pas.

Le soft original :
http://images.rapidshare.com/software/r ... loader.exe

Re: Projet : Gestionnaire de Téléchargement et Upl sur Rapid

Publié : ven. 08/juin/2007 9:13
par lionel_om
Ar-S a écrit :mais je sais pertinement que je n'ai pas le niveau pour programmer un truc de la sorte.
Pour faire un soft, je ne pense pas que ca soit une question de niveau, mais plutôt de temps.
Si t'as du temps, lance toi :wink: .
Par contre y'a quelque chose qui peut te faire économiser pas mal de temps et de soucis, c'est une analyse minutieuse et complète de ton projet :
* bien définir les fonctionnalités (voir même en prévoir plus, mais ne pas tout faire : vaut mieux prévoir plus, car rajouter c'est tjrs galère)
* bien définir tes structures
* penser aux fonctions qui te permettront d'éviter de te casser la tête ou de réécrire 5 fois la même chose, avec seulement des petites nuances...

Bref, rien de très sorcier. Mais dans un vrai projet, on dit que 20% du temps est accordé à la programmation, le reste c'est de l'analyse, démarchage, prise de RDV... Donc plus tu réfléchira avant, plus tu seras où tu vas et donc tu avanceras vite !!!

Bon courage
Lio :wink:

Publié : ven. 08/juin/2007 10:05
par Ar-S
Merci pour tes conseils, qui sont logiques mais justes.

Pour simplifier, et surtout parceque c'est le plus important,
j'aimerai au moins faire un soft pour uploader.

L'interface ressemblerait à ça :

Code : Tout sélectionner

;{- Enumerations / DataSections
;{ Windows
Enumeration
  #fenetre_1
  #Window_1
EndEnumeration
;}
;{ Gadgets
Enumeration
  #Ed_Login
  #Ed_Mdp
  #Text_titre
  #Text_Login
  #Text_Mdp
  #Bouton_Connect
  #Coche
  #Ed_DragDrop
  #Bouton_CopyDL2Clip
  #Text_Titre2
  #Button_13
EndEnumeration
;}
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;}
Procedure OpenWindow_fenetre_1()
  If OpenWindow(#fenetre_1, 389, 156, 296, 127, "Window_0", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#fenetre_1))
      EditorGadget(#Ed_Login, 0, 25, 190, 20)
      EditorGadget(#Ed_Mdp, 0, 45, 190, 20)
      TextGadget(#Text_titre, 7, 4, 285, 20, "RS UPLOADER by Ar-S v0.1", #PB_Text_Center)
      TextGadget(#Text_Login, 195, 28, 80, 15, "Premium Login")
      TextGadget(#Text_Mdp, 195, 48, 95, 15, "Premium Password")
      ButtonGadget(#Bouton_Connect, 0, 95, 295, 30, "Connect")
      CheckBoxGadget(#Coche, 2, 70, 190, 25, "Remember Login and Password ?")
      GadgetToolTip(#Coche, "Tick to remeber, password will be crypt.")
      ; Gadget Colors
      PureCOLOR_SetGadgetColor(#Text_titre, #PureCOLOR_SystemColor, #PureCOLOR_DontSetBackColor)
      PureCOLOR_SetGadgetColor(#Text_Login, #PureCOLOR_SystemColor, #PureCOLOR_DontSetBackColor)
      PureCOLOR_SetGadgetColor(#Text_Mdp, #PureCOLOR_SystemColor, #PureCOLOR_DontSetBackColor)
      PureCOLOR_SetButtonColor(#Bouton_Connect, $0, $76B1F3)
      PureCOLOR_SetGadgetColor(#Coche, #PureCOLOR_SystemColor, #PureCOLOR_DontSetBackColor)
      ; Window Backcolor
      PureCOLOR_SetWindowColor(#fenetre_1, $4080FF)
    EndIf
  EndIf
EndProcedure
Procedure OpenWindow_Window_1()
  If OpenWindow(#Window_1, 466, 337, 341, 323, "Window_1", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#Window_1))
      EditorGadget(#Ed_DragDrop, 0, 25, 340, 230, #PB_Editor_ReadOnly)
      SetGadgetText(#Ed_DragDrop, "Drag and Drop your file(s) here :)")
      ButtonGadget(#Bouton_CopyDL2Clip, 0, 260, 340, 25, "Copy Download link(s) to Clipboard")
      TextGadget(#Text_Titre2, 0, 3, 340, 20, "RS UPLOADER by Ar-S v0.1", #PB_Text_Center)
      ButtonGadget(#Button_13, 0, 290, 340, 25, "Copy All link(s) to Clipboard")
      ; Gadget Colors
      PureCOLOR_SetGadgetColor(#Text_Titre2, #PureCOLOR_SystemColor, #PureCOLOR_DontSetBackColor)
      ; Window Backcolor
      PureCOLOR_SetWindowColor(#Window_1, $80FF)
    EndIf
  EndIf
EndProcedure

OpenWindow_fenetre_1()
OpenWindow_Window_1()

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget = #Ed_Login
      ElseIf EventGadget = #Ed_Mdp
      ElseIf EventGadget = #Text_titre
      ElseIf EventGadget = #Text_Login
      ElseIf EventGadget = #Text_Mdp
      ElseIf EventGadget = #Bouton_Connect
      ElseIf EventGadget = #Coche
      ElseIf EventGadget = #Ed_DragDrop
      ElseIf EventGadget = #Bouton_CopyDL2Clip
      ElseIf EventGadget = #Text_Titre2
      ElseIf EventGadget = #Button_13
      EndIf
    ; //////////////////////
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #fenetre_1
        CloseWindow(#fenetre_1)
        Break
      ElseIf EventWindow = #Window_1
        CloseWindow(#Window_1)
        Break
      EndIf
  EndSelect
ForEver
;
;}
Evidement la fenetre window_1 apparaitrait uniquement si le login et passe de la fenetre 0 seraient ok.

Pour les procédures j'en voit plusieurs :

CryptPass()
pour crypter dans un txt le pass et login, voir juste le pass

DragNdrop()
Gérer le glisser déplacer dans #Ed_DragDrop

RecupeLiens()
Qui servirait à récupérer tous les liens générés par Rapidshare apres le up

Affiche()
Pour afficher dans l'editor #Ed_DragDrop les liens de RecupeLiens()

Copy2ClipBoard()
qui servirait evidement à copier les liens de download générés dans le clipboard

CopyAll2ClipBoard()
qui servirait à copier tous les liens de download+delete link générés par rapidshare dans le clipboard

Ce seraient les principales procédures, même si j'ai surement à en trouver d'autres (dont les principales : envoyer les fichiers sur rapidshare)

Publié : ven. 08/juin/2007 11:14
par lionel_om
Ce qui est intéressant et vachement utile, c'est lister les actions possibles et faire des scénarios d'utilisation :
* faire des phrases du type <acteur> fait <action> sur <objet>
* voir les enchaînements des actions pour exécuter une fonctionnalité : faire des phrases en décrivant le plus possible les actions à faire (et ce qui sera affiché) pour effectuer telle action

Lio :wink:

Publié : ven. 08/juin/2007 17:07
par Thierryfr
bonsoir AR- S

j'ai essayer de voir ton interface
mais quand je lance le code j'ai un message d'erreur :

POLINK: error:Unresolved external symbol'_PB_GetgadgetItemText2'.
POLINK :Fatal error :1 Unresolved external(s).

Publié : ven. 08/juin/2007 17:10
par Thierryfr
j'ai mal installer la lib PureColor je me suis tromper de version quand je l'ai telecharger.

Publié : ven. 08/juin/2007 17:23
par Ar-S
Ouf, tu m'as surpris là :)

Publié : ven. 08/juin/2007 17:24
par Thierryfr
Rassure toi AR- S j'avais télécharger la lib version 4.1x c'est pour ça que j'avais ce message d'erreur.

sinon quels sont les applications que tu as crée avec PB?

Publié : ven. 08/juin/2007 17:36
par Ar-S
Heu... un petit renamer, une GUI pour rar.exe, et un petit soft trouvant le numéro du jour par rapport au calendrier.
Rien de mirobolent mais je débute.

Mon domaine est plus le multimedia (website, photoshop, 3D)

Publié : ven. 08/juin/2007 17:37
par Thierryfr
merci
moi aussi je debute
j'ai juste crée un mini blocnote

Publié : ven. 08/juin/2007 18:16
par Cls
lionel_om a écrit :Ce qui est intéressant et vachement utile, c'est lister les actions possibles et faire des scénarios d'utilisation
Pour un gros projet (et même pour les petits :))c'est intéréssant de faire un dossier de conception (spécification, conception, tests). Il comprend les digrammes suivants:
- cas d'utilisations (comment va être utilisé le logiciel)
- séquence (comment le logiciel va gérer les cas d'utilisations)
- classes et UML (si c'est orienté objet)
- IHMs

La maintenance est beaucoup plus aisée et le client (s'il y en a un) est d'autand plus satisfait (il connait à l'avance ce qui va être programmé).
A savoir que ce dossier de conception doit pouvoir être remis à n'importe quelle équipe de développement.

Cordialement,
Cls

Publié : ven. 08/juin/2007 18:21
par lionel_om
Cls a écrit :
lionel_om a écrit :Ce qui est intéressant et vachement utile, c'est lister les actions possibles et faire des scénarios d'utilisation
Pour un gros projet (et même pour les petits :))c'est intéréssant de faire un dossier de conception (spécification, conception, tests). Il comprend les digrammes suivants:
- cas d'utilisations (comment va être utilisé le logiciel)
- séquence (comment le logiciel va gérer les cas d'utilisations)
- classes et UML (si c'est orienté objet)
- IHMs

La maintenance est beaucoup plus aisée et le client (s'il y en a un) est d'autand plus satisfait (il connait à l'avance ce qui va être programmé).
A savoir que ce dossier de conception doit pouvoir être remis à n'importe quelle équipe de développement.

Cordialement,
Cls
Je voulais pas rentré dans ces détails :lol: mais oui tu as raison :wink:

Lio

Publié : sam. 09/juin/2007 1:42
par Cls
C'était une petite précision pour ceux qui n'y connaissent rien, ca peut être utile de savoir ce genre de chose.