Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 14 sur 14
  1. #1
    Invité régulier
    Inscrit en
    mars 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 29
    Points : 6
    Points
    6

    Par défaut Architecture Petit Projet C#

    Bonjour,
    Je suis ancien développeur C++ et nouveau développeur C# sur .net.
    J'ai pour projet (pendant 1 à 2 mois) de développer un outils interne (en client lourd) pour ma nouvelle petite entreprise.

    Après une première phase d'étude, je souhaiterais l'avis de la communauté sur mes choix des différentes technologies .Net choisies.

    Le logiciel devra permettre:
    • De saisir des infos (métier).
    • De faire un choix d'éléments (matériels et ressources humaine) dans une liste prédéfinie selon les infos saisies.
    • D'imprimer un document de l'ensemble des éléments choisis.
    • De mettre à jour annuellement la liste d'élément (matériels et ressources humaine).
    • De sauvegarder le travail en cours.


    L'application se veut légère, simple d'utilisation et facile à déployer.
    Elle doit marcher sous Windows en client lourd (pas de site web).
    Elle intégrera une BDD dont la structure ne changera pas.

    Voici le choix des technologies :
    • Langage : C# (choix naturelle car je viens du C++)
    • IDE : Visual studio C# Express (gratuit), avec possibilité de passer à Visual Studio Pro (mais je souhaiterai économiser le coût d'une licence à mon entreprise).
    • Framework : 3.5 (car déjà dispo sur Seven) sinon 4 si vraiment besoin.
    • GUI : Winform (plus simple à appréhender que WPF).
    • BDD : SQL Server Compact Edition (à priori tout à fais suffisante pour mon besoin)
    • Accés BDD : Linq to SQL(plus simple à appréhender que les Entity Framework).
    • Maj BDD depuis l'extérieur : Import Excel (pas de BDD antérieur existant et administrateur non informaticien)
    • Impression : Visual Studio for Office (nécessite la suite Office mais pas besoin de développer un moteur d'édition).
    • Sauvegarde du travail en cours : Sérialisation XML
    • Déploiement : Inno Setup
    • Gestion des sources : CVS ou SVN avec SourceForge.net


    Que pensez vous des technologies .Net choisies ? Constatez vous une incohérence par rapport au projet ?

    Merci d'avance à tous.

  2. #2
    Expert Confirmé
    Homme Profil pro Benoît
    Inscrit en
    février 2003
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Nom : Homme Benoît
    Âge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 732
    Points : 2 594
    Points
    2 594

    Par défaut

    GUI : Winform (plus simple à appréhender que WPF)
    Je peux comprendre mais si je suis pas spécialement pour, bon après il faut voir à quel point tu veux t'investir dans la technologie .Net, si c'est pour un seul projet c'est vrai que le coût peut être grand et peu rentable maintenant si tu comptes developper de futurs projets, ce temps sera amorti sur les différents projets

    Maj externe BDD : Import Excel
    humm je prendrais des fichier csv voir xml si possible.

    Sauvegarde : Sérialisation XML
    Que veux-tu sauvegardez via la sérialisation?
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  3. #3
    Invité régulier
    Inscrit en
    mars 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 29
    Points : 6
    Points
    6

    Par défaut

    GUI :
    Je prend note de ta remarque (@BenoitM) sur WPF, car effectivement j'espère que cela sera le premier d'une longue série. Les possibilités de ce dernier sont bien plus étendues et bien plus intéressantes. Je prévoie de structurer mon programme afin de rendre la GUI interchangeable. Je pense le faire en Winform dans un premier temps (ne l'ayant jamais utilisé, en réalisant mon prototype j'ai trouvé la programmation très intuitive) et ainsi passer plus de temps à lever les contraintes techniques restantes sur les autres aspects du projet. Selon le temps qui me restera je passerais la GUI sur WPF me permettant ainsi de me faire mon propre jugement sur la différence des deux technos (même si je perçois déjà que WPF reste incontournable).

    BDD :
    Pour la mise à jour de la BDD du programme, je pensais à l'import Excel car :
    - il n'y a pas de base externe existante.
    - l'administrateur de l'application n'est pas informaticien (connait pas SQL et les BDD relationnelles). Il construit ou met à jour sa bibliothèque sous Excel (qu'il a l'habitude d'utiliser) et l'importe dans l'application.

    Sauvegarde :
    Par "sauvegarde", j'entends la sauvegarde des infos en cours de saisie dans l'application. L'utilisateur souhaite sauvegarder son travail en cours et le reprendre plus tard ou le transmettre à un collègue.
    Pour cela dans mon prototype, j'ai une classe qui contient toutes les valeurs des champs du programme, et j'effectue une sérialisation/dé-sérialisation XML (XmlSerializer) pour sauvegarder ou charger le travail en cours de l'utilisateur.

    Je pense que pour ces deux derniers points, j'ai effectivement mal intitulé mes entêtes de ligne que je mets à jour pour les prochains lecteurs

  4. #4
    Rédacteur/Modérateur



    Homme Profil pro Thomas Levesque
    Développeur .NET
    Inscrit en
    février 2004
    Messages
    19 204
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Levesque
    Âge : 33
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : février 2004
    Messages : 19 204
    Points : 36 687
    Points
    36 687

    Par défaut

    Accés BDD : Linq to XML (plus simple à appréhender que les Entity Framework).
    Euh, Linq to XML c'est pour manipuler du XML, pas une base de données...
    Tu pensais peut-être à Linq to SQL ? C'est effectivement un peu plus simple qu'Entity Framework, mais pas tant que ça, et c'est beaucoup plus limité. A long terme Entity Framework est sans doute un meilleur choix...

  5. #5
    Invité régulier
    Inscrit en
    mars 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 29
    Points : 6
    Points
    6

    Par défaut

    Désolé de ma confusion (@tomlev), c'est effectivement "Linq to SQL" que je voulais dire. Je le change dessuite sur mon post principal.

    Merci pour ton avis, je vais donc profiter de ce petit projet pour regarder également l'Entity Framework et comparer les deux technos.

  6. #6
    Invité régulier
    Inscrit en
    mars 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 29
    Points : 6
    Points
    6

    Par défaut

    Ai je une autre alternative sur la génération de document autre que l'automation avec VSTO ?

    J'ai bien trouvé l'impression sur les Winform mais je trouve que c'est pas top niveau mise en page.

  7. #7
    Expert Confirmé
    Homme Profil pro Benoît
    Inscrit en
    février 2003
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Nom : Homme Benoît
    Âge : 33
    Localisation : Belgique

    Informations forums :
    Inscription : février 2003
    Messages : 1 732
    Points : 2 594
    Points
    2 594

    Par défaut

    Citation Envoyé par batbaille Voir le message
    Ai je une autre alternative sur la génération de document autre que l'automation avec VSTO ?

    J'ai bien trouvé l'impression sur les Winform mais je trouve que c'est pas top niveau mise en page.
    Il y a CrystalReport mais il n'est pas fourni avec la version express de visual studio
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  8. #8
    Invité régulier
    Inscrit en
    mars 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 29
    Points : 6
    Points
    6

    Par défaut

    Je souhaite utiliser un hébergeur de projet pour gérer mes sources, couplé avec un logiciel de gestion de version CVS ou Subversion.

    J'ai pensé tout d'abord au célèbre site SourceForge mais je me suis aperçu qu'il hébergait exclusivement du OpenSource (philosophie non appliqué dans ma société).

    Connaissez vous un autre site gratuit permettant l'hébergement de projet (non OpenSource) qui peut être couplé avec CVS ou Subversion ? Merci

  9. #9
    Rédacteur/Modérateur



    Homme Profil pro Thomas Levesque
    Développeur .NET
    Inscrit en
    février 2004
    Messages
    19 204
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Levesque
    Âge : 33
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : février 2004
    Messages : 19 204
    Points : 36 687
    Points
    36 687

    Par défaut

    Pour les systèmes de contrôle de version :
    - CVS est complètement obsolète, je connais plus personne qui l'utilise
    - SVN est doucement en train de suivre la même voie, mais c'est encore très largement utilisé
    - TFS a l'air pas mal, mais je connais pas très bien. L'intégration à Visual Studio est native, ce qui est assez pratique
    - La tendance aujourd'hui est plutôt aux systèmes de contrôle de version distribués, comme Git ou Mercurial

    Pour les hébergeurs
    - Sourceforge : un peu pourri je trouve... c'était bien il y a 15 ans mais ils ont oublié d'évoluer depuis
    - CodePlex : très bien. Supporte SVN, TFS, Git et Mercurial, il y a un tracker de bugs et un wiki
    - Google Code : pas mal. Supporte SVN, Git et Mercurial, il y un tracker de bugs et un wiki
    - GitHub : assez sympa, très à la mode ces derniers temps. Supporte uniquement Git. Pas de tracker de bugs. Le système de wiki est directement intégré à la gestion des sources (fichiers .md)

    Par contre tu auras du mal à trouver un hébergement gratuit si c'est pas de l'open source. GitHub permet de créer des dépôts privés, mais dans ce cas il faut payer...

    EDIT: apparemment ça existe quand-même...
    http://stackoverflow.com/questions/4...ublic-projects

    EDIT2: un comparateur ici :
    http://www.svnhostingcomparison.com/

  10. #10
    Invité régulier
    Inscrit en
    mars 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 29
    Points : 6
    Points
    6

    Par défaut

    @tomlev : Merci beaucoup pour cette récap très instructive.

  11. #11
    Rédacteur/Modérateur

    Avatar de Nathanael Marchand
    Homme Profil pro Nathanael Marchand
    Expert .Net So@t
    Inscrit en
    octobre 2008
    Messages
    3 614
    Détails du profil
    Informations personnelles :
    Nom : Homme Nathanael Marchand
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2008
    Messages : 3 614
    Points : 7 312
    Points
    7 312

    Par défaut

    Avec Visual Studio 2012 qui arrive, il va y'avoir un TFS 2012 Express qui sera gratuit pour les petits projets. Il y a également la version online qui est ouverte: tfspreview.com (qui va évoluer sur une version non preview payante mais également gratuite pour les petits projets).

    Pour Entity Framework, je plussoie complètement. Linq To SQL n'est pas forcément la meilleure idée.

    SQL CE: es tu sur de ce choix? Prendre une base de données fichier implique plein de choses et notamment qu'il est impossible d'avoir de la concurrence d'accès.

    Enfin, denière chose, il est tout à fait possible de faire du .Net en C++ avec C++/CLI si tu es plus à l'aise avec

  12. #12
    Invité régulier
    Inscrit en
    mars 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : mars 2005
    Messages : 29
    Points : 6
    Points
    6

    Par défaut

    J'ai essayé VS2012 avec tfspreview.com. C'est fonctionnel et très pratique malheureusement je tique vraiment sur le skin ...

    Je vais sérieusement me pencher sur Entity Framework.

    Concernant SQL CE (natif avec VS2010), je trouve que c'est une manière douce de se remettre à l'utilisation d'une base relationnel. Pour les besoins de mon projet actuel, il me semble amplement suffisant.

    Je savais pour le C++/CLI mais je souhaite apprendre le C#(on en dit tellement de louange)

  13. #13
    Membre chevronné
    Avatar de dkmix
    Profil pro
    Inscrit en
    septembre 2007
    Messages
    578
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : septembre 2007
    Messages : 578
    Points : 750
    Points
    750

    Par défaut

    Bonjour,
    Ai je une autre alternative sur la génération de document autre que l'automation avec VSTO ?

    J'ai bien trouvé l'impression sur les Winform mais je trouve que c'est pas top niveau mise en page.
    Pour la génération de documents offices, je vous conseille d'utiliser l'Open XML SDK, qui fonctionne sans office sur la machine et évite les pb de processus "fantôme" .
    EPPlus
    marche bien pour des fichiers excels

    Pour du reporting, je préfère personnellement les rdl/rdlc plutôt que Crystal Report

  14. #14
    Modérateur
    Avatar de Pongten
    Homme Profil pro Rémy Mainil
    IT Analyst & Software Developer
    Inscrit en
    juin 2002
    Messages
    1 128
    Détails du profil
    Informations personnelles :
    Nom : Homme Rémy Mainil
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : juin 2002
    Messages : 1 128
    Points : 2 536
    Points
    2 536

    Par défaut

    Personnellement, je suis un habitué de TFS, et j'ai installé chez moi la version TFS Express 2012 (gratuite).
    C'est super simple à installer et à administrer et l'intégration est parfaite (logique !!).
    C'est utilisable depuis VS 2010 sans problème (à part pour créer les projets, mais là il suffit d'installer le client 2012).

    Côté BDD, je déconseille SQL CE... J'ai travaillé avec et à part vraiment pour un tout petit projet c'est trop limitatif. On ne peut, par exemple, pas modifier le nom d'une colonne ou d'une table, pas de trigger ni de procédure stockée, pas d'accès concurrent, etc...

    Si le côté BDD sans avoir à installer un serveur est privilégié, il y a le tout récent LocalDB (fournit avec SQL Server Express 2012, et je crois même qu'un MSI existe pour une installation autonome).
    Cela offre les même possibilité qu'un SQL Express. Dans les grandes lignes, lorsqu'un accès à la BDD est requis, une instance du moteur LocalDB est créée pour accéder à la BDD. Après 20 min d'inactivité, l'instance est automatiquement déchargée.
    A part au premier accès BD qui prend un peu plus de temps (mais qui est contournable via l'établissement d'une connexion par exemple dans une tâche parallèle au moment du démarrage de l'application) c'est rapide, et cela apporte beaucoup plus de souplesse que SQL Ce.

    Côté VS, c'est vrai que le changement de look est radical pour VS2012, mais il y a pas mal de changements sous le capot et il est assez bien plus rapide et apporte pas mal de nouveautés qui facilitent la vie

    Pour le Reporting, il y a aussi Microsoft Report, mais je ne l'ai que très peu testé (j'utilise principalement l'outil de Telerik)
    Si ton problème a une solution, rien ne sert de t'inquiéter..
    Si il n'en a pas, t'inquiéter ne sert à rien


Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •