IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Perl Discussion :

Projet pour BTS perl


Sujet :

Interfaces Graphiques Perl

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut Projet pour BTS perl
    Bonjour,

    oila comme je le dit dans le titre de mon sujet je n'ai plus qu'un seul projet à gérer pour le BTS et c'est celui ci.
    Je vous explique
    Donc je travaille pour un magazine qui souhaite mette en place une application pour aider leur photographe à ne pas perdre de temps avec l'envoie de leur clichets. Donc il souhaite que quand le photographe clic droit sur une ou plusieurs photos il puisse envoyer grace à un nouveau menu mis en place par moi qui serait envoie à .. et donc cela l'envoie en tâche de fond sur un ftp ssl et en même temps une interface s'ouvre pour que le photographe puisse voir s'il n'y a pas d'erreur.
    Voila je pense ne rien avoir oublier.

    Donc voila j'ai commencé à étudier rapidement ce langage car le BTS c'est bientot ^

    Et oui je suis pas en avance.

    Donc voila je voulais voir si quelq'un deja pourrais m'éclairer sur certain point.

    Premier point : Je ne sais pas comment ajouter une option dans le menu quand on click droit.

    Deuxième point : Comment feriez vous pour retrouver les fichiers qu'ils souhaitent envoyer?
    Je sias pas trop comment expliquer ce point pour etre clair.
    Par exemple le photographe clic sur deux fotos comment le prog fait pour savoir que c'est ces deux fichiers et pas les autres? voila

    Troisième point : J'ai un problème avec Tk:hoto
    Je ne sais pas si c'est possible mais mon image est trop grande est parce que au départ elle définit trop grande ou alors c'est parce que je ne fais pas quelque chose?
    Je ne vois pas trop pourquoi pouvez vous m'aider svp?

    Et puis voila je crois que c'est tout lol
    Franchement c'est super important pour moi je serais vraiment très reconnaissant au personnes qui m'aident

    Merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut
    excusez moi de faire ce double post mais j'aurais besoin d'aide je ne demande pas forcément de code mais surtout des éclaircissements car je suis perdu merci d'avacne

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par drogba72 Voir le message
    excusez moi de faire ce double post mais j'aurais besoin d'aide je ne demande pas forcément de code mais surtout des éclaircissements car je suis perdu merci d'avacne
    Ouais ouais... T'as pas dit, ton appli, tu fais du Web ou du client "lourd" ? Apparemment, plutôt une GUI avec Tk ? Regarde ici
    Dernière modification par Invité ; 03/05/2009 à 21h37.

  4. #4
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut
    En fait je souhaite juste faire ce que j'ai dit au dessus avec perl je sais pas se qu'il faut que je dise de plus en fait je pensais avoir été très clair. Pourrais je avoir des réponses en francais lol j'ai rien compris au lien au dessus mais merci quand meme

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Tout ce que tu demandes est faisable en Perl Tk.

    Dans un premier temps, il faut que tu apprennes à créer des simple Widget Tk.
    Ensuite, en ce qui concerne ton projet, où seront situé les photos ?
    Si tu ne sais pas, tu peux toujours en Tk créer un bouton qui permettra à l'utilisateur de sélectionner un répertoire ou même plusieurs fichiers (qui seront ces images).

    Pour afficher ces images, utilise Tk::Photo, c''est très simple. Si les images sont trop grandes, tu peux toujours contourner le problème en utilisant le module Image::Magick, en créant une copie de chacune de ces images que tu redimensionne via le module (en utilisant la méthode zoom). Puis tu affiche ces images.
    Ensuite En Perl Tk, utilise Tk::bind pour gérer les clic droit gauche etc de ta souris et la méthode menu, popup pour simuler l'affichage d'un menu.

    Après tu pourras à chaque image associer un appel aux méthode du module Net::FTP pour faire ce que tu souhaites.

    Pour résumer, je te conseil de faire les choses pas à pas. Tu notes sur papier tout ce que tu souhaites faire, et ensuite tu te fais un plan afin de commencer à faire ton application petit à petit.

    Ex :
    1- créer mes fenêtres
    2- Ou trouver mes images pour les afficher
    3- Comment les redimensionner et les afficher
    4- Comment stocker les chemins de ces images
    5- etc etc

    Fais ceci et expose nous ton code au fur et à mesure si tu as des problèmes et on t'aidera.

    Voilà

  6. #6
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut
    Voila pour le moment ce que j'ai fait.

    par contre je n'ai pas très bien compris ce que tu voulais dire avec les emplacements. Car dans le contexte cela est fait pour simplifié le fotographe tu vois?
    Donc il faut que au clic droit sur une foto l'application se lance. donc du coup je suis bloqué pour le moment.

    Voici le code bon c'est pas très propre mais bon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    #!/usr/bin/perl
    use Tk;	 #Utilisation de Tk
    #use strict;
    use warnings;
    use Tk::ProgressBar;
    use Tk::Photo;
    use Tk::PNG;
    use Net::FTPSSL;
     
     
    ##module qui pourrait m'être utile
    #Net::FTP::File
     
    #if ("il y a des fichiers de sélectionné")
    #	{
    #	my $ftps = Net::FTPSSL->new("10.0.2.69",
    #			Port=> 21,
    #			Encryption => EXP_CRYPT,
    #			Debug => 1)
    #			or die "Impossible de se connecter à Islo people";
    #	
    #	$ftps->	login('photographe', 'passe')
    #		or die "Pas de login  "
    #	}
     
    #Définition de la fonction de fermeture de l'application
    sub Quitter 
    {
        exit(0);
    }
     
    #Création de la fenêtre principale
    $fen = MainWindow->new();
     
    #Définition de la taille min de la fenêtre
    $fen->minsize('500','300');
     
    #Définition du title de la fenêtre
    $fen->title("Islo People");
     
    #Création de la barre de menu
    $barre_menu = $fen->Frame(-relief => 'groove' , -borderwidth => 2);
     
    #Création de la barre du menu général
    $menu_gen = $barre_menu->Menubutton(
                                         -text => 'Menu' ,
                                         -font => '{Garamond} 10',
                                         -tearoff => 0 ,
                                         -menuitems => [
                                                         [ 'command' => 'Quitter' ,
                                                           -font => '{Garamond} 10',
                                                           -command => \&Quitter
                                                         ]
                                                       ]
                                       );
     
    #  Création d'un cadre
        my $frame1 = $fen->Frame()->pack(-side => "bottom",-padx => 10, -pady => 0);
     
    #Affichage du menu général à gauche
    $menu_gen->pack(-side => 'left');
     
    #Affichage de la barre de menu en haut de la fenêtre
    $barre_menu->pack(-side => 'top', -anchor => 'n', -fill => 'x');
     
    my $ObjImage = $fen->Photo( -format => "png", -file => "logo.png" );
    my $bouton2 = $fen -> Button 	(
        				-image => $ObjImage
    				)->pack();
     
     my $status_var =0;
     
        $frame1->ProgressBar(
                     -borderwidth => 10,
                     -relief => 'sunken',
                     -width => 35,
                     -length => 500,
                     -padx => 0,
                     -pady => 0,
                     -variable => \$status_var,
                     -colors => [0, 'green'],
                     -resolution => 0,
                     -blocks => 50,
                     -anchor => 'w',
                     -from =>'0',
                     -to => '100'
                    )->pack(
                            -padx => 10,
                            -pady => 10,
                            -fill => 'both'
                           );
     
        # La boucle dans laquelle la variable de ProgressBar change
     
        for (my $lostime = 0 ; $lostime < 101 ; $lostime += 5) {
            sleep 1 ;
            $status_var=$lostime ;
     
            # l'instruction suivante permet la prise en compte
            # des changements de valeurs de $status_var dans Perl/Tk,
            # ici  le widget Progressbar
     
            $fen->update;
        }
     
        sleep 5;
        print "Fin de l'exemple update \n";
        $fen->destroy;
     
    #Création de notre barre de statut à l'aide d'un Label
    $barre_statut = $fen->Label(-relief => 'groove', -text => "Islo people", -font => '{Garamond} 10');
     
    #On l'ajoute en bas de la fenêtre afin de lui donner l'effet barre de statut
    $barre_statut->pack( -side => 'bottom', -fill => 'both');
     
    MainLoop;
    Donc pour le moment les lignes utilisant Net::FTPSSL sont commmenté car je n'ai pas accès au ftp bref

    Et le seul problème qu'il y a dans ce codeest la photo du logo.png car elle est trop grande je ne sais pas comment la réduire.

    Voila en esperant vous avoir donné plus d'indication sur ce que je souhaite réaliser pour que ke vous puissiez m'aider

    merci

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Un premier conseil à vu d'œil, pense à mettre et à déclarer tes variables avec my.

    concernant "emplacement", ma question est la suivante :
    Que souhaites-tu faire, toi, pour ton photographe ?
    Qu'il clique sur les photos, je veux bien, mais avant ça, il faut bien qu'il les choisisse !
    En gros, les questions que tu dois te poser sont :
    - ton photographe ouvre l'application et fais quoi ?
    - sélectionne les fichiers où ? les affiche ou non dans l'application Perl Tk ?
    - et après ?

    Pour ton code ci-dessus, je vois que tu essayes d'afficher une photo dans un bouton. C'est à toi de gérer cela.
    Via n'importe quel logiciel d'image, tu peux trouver la taille de ton image en pixel. Soit tu redimensionnes ton image avec paint, photoshop, gimp, etc et ensuite l'utilise dans ton script. Soit tu augmentes la taille de ton bouton avec les options width et height.

  8. #8
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut
    Donc par rapport aux questions que tu me pose

    En gros, les questions que tu dois te poser sont :
    - ton photographe ouvre l'application et fais quoi ?
    - sélectionne les fichiers où ? les affiche ou non dans l'application Perl Tk ?
    - et après ?

    Alors on va dire que le fotographe a un appareil avec carte sd il branche donc sa carte sd au pc le pc le reconnait et derrière il va ouvrir le dossier de la carte et va soit envoyer une seule soit plusieurs d'un coup. Du coup il clic droit sur ce qu'il souhaite. Et a ce moment moi je veut rajouter au clic droit sur la photo une option supplémentaire au menu style envoyer à islo. Du coup l'envoie des fichiers s'effectuent en tache de fond et le photographe a a l'écran la fenetre avec la barre de progression qui controle les envoie sur le ftp. En plus de cela je voudrait que l'application vérifie que les fichiers soient bien envoyés, leur intégrité... donc du coup quand le transfert est terminé il faut un résumé tant de fichiers on été envoyé tant on réussit tant on échoué... Voila je pense que mes explications sont complète et réponde je l'espère à vos interrogations.

    merci de m'aider

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Bon,
    S'il te plait, évite les fautes d'orthographe. photographe et non fotographe, merci.

    Il faut que tu essayes de détailler le cheminement dans les plus bas détails.
    On va reprendre un exemple très basique.
    1. Le photographe branche sont appareil photo
    2. Windows le reconnait
    3. Une application Windows s'exécute et ouvre les images
    4. Ton clique droit sur l'image se situe à ce moment ou non ? Si oui, tu n'es pas sur une appli Tk !!!


    Il faut donc que ce soit ton application Perl Tk qui soit lancée par le photographe afin de lire les images voulues et les envoyer. D'où mes premières remarques :
    Lorsque le photographe ouvrira ton application, il faut qu'il puisse ouvrir/choisir les images qu'il souhaite afficher et/ou envoyer. donc les cliques droit se feront sur ton application Perl TK et non l'outil Windows ou autres.

    Dans un premier temps,
    - essaye de réfléchir à ton algorithme pour créer ton widget, donner la possibilité au photographe de sélectionner des images, de les afficher.
    - Puis tu verras après pour les cliques droit.

    Voilà

  10. #10
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut
    Alors non ce n'est pas comme ca que je vois l'application en faite

    L'application tournera sous linux

    1- le photographe branche l'appareil phto
    2- le photographe va dans le dossier où se trouve les photos
    3- il clic droit sur des photos
    4- a partir de la l'OS ouvre un menu style copier coller couper ce qui existe déja quand tu clic droit sur un fichier sauf que la moi je cherche à rajouter une option qui lancera automatiquement mon application tk
    5- les fichiers s'envoient
    6- une vérification est faite
    7- un résumé de l'envoie se fait

    Voila a peu près ce que je pense

    Alors je pense que ce que tu ne voit pas c'est le clic droit donc sous windows c'est dans la base de registre que tu peut le faire sous linux je ne sais pas

    voici comment faire sous windows

    http://www.teknophobe.com/aide/02_pe...02_030_fr.html

    j'espère que ca va t'éclairer afin que tu m'éclaire derrière lol
    car pour linux je ne sais pas faire

    merci de m'aider

  11. #11
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Dans ce cas, tu dois poser ta question dans le forum linux, car la modification du clic droit n'a plus rien à voir avec Perl. D'ailleurs, je trouve cela bizarre de vouloir changer cela pour une application. Donc si ton application doit être utilisée sur différents serveurs, il faudra changer cela. Je ne vois vraiment pas l'intérêt.
    Au lieu que le photographe aille chercher les répertoires via les répertoires pour faire les cliques droit, il aura pu le faire directement dans ton script Perl.

  12. #12
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut
    Donc j'ai réfléchis et je pense que je vais faire comme vous me le conseillez c'est à dire avec une barre parcourir dans l'application.

    Donc pouvez vous me dire si il y a des widgets qui existe svp car je ne trouve pas et puis bah comment vous voyez le programme se dérouler faudra t'il que j'utilise d'autre widget??
    merci de m'aider

  13. #13
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut
    Je sais que je n'ai pas donné de nouvelles depuis un certain temps mais pourrais je avoir des éclaircissements par rapport à mes interrogations précédentes svp?

Discussions similaires

  1. Programme pour projet de BTS Informatique et réseau
    Par tdmort dans le forum Débuter
    Réponses: 7
    Dernier message: 14/12/2011, 13h53
  2. Adapter projet pour Tomcat
    Par bouchette63 dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 12/06/2006, 15h19
  3. Réponses: 1
    Dernier message: 08/06/2006, 10h50
  4. [Conseil]projet pour debuter en prog objet
    Par Frenchyp dans le forum Windows
    Réponses: 6
    Dernier message: 08/02/2006, 01h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo