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

C# Discussion :

Aide pour un projet


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Formation DL
    Inscrit en
    Novembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Formation DL

    Informations forums :
    Inscription : Novembre 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Aide pour un projet
    Bonjour, je suis actuellement en formation DL depuis 1 mois et demi, et je dois réaliser un client lourd.

    L'énoncé (en gros) :
    Un client veut passer de "video club" à "plateforme de streaming" (transition numérique).
    Il veut qu'on lui conçoit un logiciel interne de gestion de ses films.
    Il faut faire un client lourd qui permet d'ajouter, supprimer, modifier et afficher les films de son catalogue.

    critères qui devront être disponnible :
    Titre, Synopsis, durée, couverture du film, pays de production, qualité HD / SD, lien de stockage du film, nom realisateur, acteur principaux, qualité sonore, catégorie.

    Mon besoin : Je cherche quelque image montrant un logiciel semblable pour me donner des idées sur "l'interface"

    Merci par avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Salut,

    des moteurs de recherche pour ce genre de chose, ca pullule, tu peux prendre des sites internet comme http://www.allocine.fr/ par exemple.

    Tu as des tas de cas en passant par Bing ou Glouglou

    As-tu au moins pris le temps de faire cette démarche avant de nous solliciter ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Formation DL
    Inscrit en
    Novembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Formation DL

    Informations forums :
    Inscription : Novembre 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Salut, oui j'ai fais des recherche sur les moteur de recherche le problème c'est que je trouve des interfaces de client léger (web) mais pas de client lourd.
    Ce qu'il me faudrait c'est l'interface d'une application bureau qui permet au gérant de la plateforme de gérer les film qu'il propose (modifier ajouter supprimer ses films) depuis l'application desktop.

    Les sites comme allociné, voir netflix etc nous proposent pas de voir l'interface de leur client lourd qui ne nous concerne pas, il n'y a que eux qui l'utilise.
    Je ne sais pas si j'arrive à bien me faire comprendre ^^

  4. #4
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par med759 Voir le message
    Je ne sais pas si j'arrive à bien me faire comprendre ^^
    Si j'ai bien compris, tu veux des idées d'interfaces. Autrement dit tu essaye de maquetter ta future solution. Dans ce cas, le fait que les interfaces proposées soient pour du client léger ou client lourd ne change pas grand chose

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Points : 762
    Points
    762
    Par défaut
    Salut je ne sais pas en quoi tu dev ? Winforms Xaml ?

    Si Winforms je te propose d'axer ton interface autour d'un DatagridView qui exposera la liste de tes films.
    Utiliser la propriété Datasource pour faire un databinding d'une collection de List<Film> par exemple.
    Pourquoi par rajouter un ContextMenuStrip qui a 3 ToolStripMenuItems :
    - &Ajouter
    - &Modifier
    - &Supprimer

    Ajouter étant toujours actif.
    Modifier et supprimer accessibles uniquement si une ligne du datagridview est sélectionnée.

    Un clic sur ajouter ouvre un nouvelle Form :
    elle la liste des champs à saisir + pictureBox pour ton image vierge.
    Un bouton OK qui s'active lorsque tous les champs obligatoire sont remplis.
    Un clic sur ok créé un nouveau film. Personnellement j'aime bien retourner le new Film() dans une propriété public get private set pour que ce soit ma fenêtre appellante qui gère l'ajout en le passant à un GestionnaireFilms par exemple qui lui communique avec la base de données.
    Un bouton annuler qui ferme la form sans rien faire.

    Un clic sur modifier ouvre la fenêtre précédemment écrite en passant une instance de Film en argument dans le constructeur. Cela te permet de charger tous les champs.
    Clic sur OK retourne le film avec ses attributs modifiés pour enregistrement

    Un clic sur supprimer supprime le film (original )

    Voila la base. Après tu peux greffer toutes sortes de champs pour faire des filtres sur ton tableau. etc etc...

    Mon conseil : il faut que tu partes d'abord de ta classe Film. Définis tous ses attributs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        public class Film
        {
            [DisplayName("Titre")]
            public string m_Titre { get; set; }
            [DisplayName("Couverture")]
            public Bitmap m_Couverture { get; set; }
            [DisplayName("Synopsis")]
            public string m_Synopsis { get; set; }
            [DisplayName("Durée")]
            public TimeSpan m_Duree { get; set; }
        }
    Ensuite tu fais ta couche base de données et la classe de pilotage.
    Création base / structure
    Récupération des films
    Ajout d'un film
    Modification
    Suppression

    Pour finir tu fais ton interface d'affichage et ton interface ajout/modification.


    L'affaire de quelques heures si c'est clair dans ta tête ^^
    Bon courage

  6. #6
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par lead8209 Voir le message
    Salut je ne sais pas en quoi tu dev ? Winforms Xaml ?
    De mon humble point de vue, la question de la technologie utilisée ne doit en aucun cas être abordée au moment du maquettage d'un besoin. La raison à cela est simple : maquetter en amont, sans le poser de question techniques, nous force à réfléchir sur le réel besoin.

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Points : 762
    Points
    762
    Par défaut
    A mon humble avis ce n'est pas un expert en dev je lui donne simplement un axe pour se lancer dans son projet et vu qu'il poste dans la catégorie C# je ne pense pas être hors sujet.

  8. #8
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Salut,

    Je suis aussi d'accord que le design de l'application est complètement indépendant de la techno utilisée (qu'on soit expert ou pas d'ailleurs).

    Effectivement des sites comme Allocine peuvent être de très bonnes sources d'inspiration. Mais en lisant ton énoncé, j'ai l'impression qu'il s'agit d'une simple application CRUD de film.

    Fait attention à pas faire plus complexe que tu ne le souhaites .

    Commence déjà par définir les différentes vues de ton appli en te posant la question "Concrètement mon appli doit faire quoi ?".

    Comme je lis ton énoncé, ton appli fait les choses suivantes :

    - Lister les films de mon catalogue (tableau avec la liste des films et quelques informations comme le titre, le genre, etc ...).
    - Modifier un film (Page regroupant toutes les informations sur le film et qui sont modifiables).
    - Ajout d'un film (Même page que la modification mais en version vierge).
    - Supprimer un film (Un simple bouton avec une popup de confirmation fait généralement l'affaire).

    A partir de là, tu peux définir le nombre de "pages" de ton application :

    - La vue générale qui contient la liste des films
    - La vue qui contient les infos d'un film (vide ou pas, selon si on est en mode création ou édition).

    Après coté design pur : tu as le choix entre

    - le tableau classique, qui permet d'afficher beaucoup de donnée sur peu d'espace. Idéal si l'utilisation première de l'appli est de créer / modifier / supprimer un film et que la liste est là pour facilité la recherche.

    - Le style vignette à la Netflix. C'est très jolie, mais tu affiches tout de suite beaucoup moins de film en même temps.
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  9. #9
    Membre actif Avatar de Altor
    Homme Profil pro
    Développeur C#.NeT / Administrateur S.I. en alternance / Étudiant CS2I à Nevers
    Inscrit en
    Septembre 2012
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur C#.NeT / Administrateur S.I. en alternance / Étudiant CS2I à Nevers
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 103
    Points : 235
    Points
    235
    Par défaut
    Personnellement, je ferais quelque chose de ce genre :


    Form Principale possédant :
    Une Toolbox avec 3 boutons : ajouter, éditer, supprimer
    une textbox : ResearchArgs
    Et un dernier bouton : Rechercher
    Ajouter ouvre la form "Add" qui permettera d'ajouter un film à la BDD
    Editer ouvre une form similaire à "Add" mais pré-rempli et qui au lieu d'insérer une ligne édite la ligne à.. Bah éditer
    Et supprimer qui supprime la ligne.


    En dessous de la Toolbox, une ListView en vue Détail possédant autant de colonnes que d'informations nécessaires.

    Au niveau du chargement des données, une méthode "UpdateForm()" qui met à jour l'affichage en néttoyant la listview de ses données (ListeFilm.Items.Clear()) puis en chargeant de nouveau les datas filtré par la recherche dans le cas où quelque chose est tapé dans le menu rechercher (if (Film.Nom.Contains(ResearchArgs.Text)) par exemple).
    UpdateForm() serait appelé dans les évènements suivants : this.Show(), ajouter.click(), editer.click(), supprimer.click(), rechercher.click().

    Editer et Supprimer seraient activés ou désactivés suivant si quelque chose est selectionné dans la listview, comme ceci :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dans l'évènement ListeFilm.SelectIndexChanged :
     
    if (ListeFilm.SelectedItems.Count() == 0) { Ajouter.Enabled = false; Supprimer.Enabled = false; }
    else { Ajouter.Enabled = true; Supprimer.Enabled = true; }

    En espérant t'avoir aidé

    PS :
    Ah aussi pour être "plus propre" niveau code, et faciliter le passage des données de tes films, je te conseilles de créer une classe "Film" qui possèderais les différentes propriétés de tes films comme le titre, l'auteur, les acteurs, etc...

    Pour le bouton éditer, je te conseilles d'accrocher l'instance de la classe Film que tu as obtenue par réponse à ta requête dans le tag de ton ListViewItem. ça ressemblera à ça si tu utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Foreach (Film f in GetFilm(ResearchArgs.Text))
    { 
        ListViewItem lvi = new ListViewItem(f.Nom);
        lvi.SubItems.Add(f.Auteur);
        ...
        lvi.tag = f;
    }
    Et pour le traîtement de l'édition, dans le constructeur de ta fenêtre d'édition tu stipule un paramètre de type Film :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Film f;
     
    public Edit(Film f) { InitializeComponents(); this.f = f; }
    Et dans l'appel (évènement Editer.Click) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Film f = (Film)ListFilm.SelectedItems[0].Tag;
    Edit e = new Edit(f);
    e.ShowDialog();
    UpdateForm();

Discussions similaires

  1. Besoin d'aide pour un projet en vb6
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/01/2006, 05h25
  2. de l'aide pour un projet svp!!!!
    Par lamoon dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/01/2006, 15h45
  3. Besoin d'aide pour un projet
    Par ZiMo dans le forum Linux
    Réponses: 9
    Dernier message: 24/10/2005, 00h28
  4. Besoin d'aide pour un projet de jeu en ligne
    Par FLEO dans le forum Projets
    Réponses: 1
    Dernier message: 21/10/2005, 08h55
  5. [CAML] Recherche aide pour un projet
    Par tarzoon dans le forum Caml
    Réponses: 1
    Dernier message: 02/09/2005, 10h32

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