Meilleur auteur de réponses
C# ou VB avec SharePoint

Question
-
Bonjour,
Je voudrais développer un outil de génération de fichier word. Le fichier généré contiendra des données provenant d'autres fichiers word(en gros faire un assemblage de document). L'outil doit reposer sous le server de sharepoint. J'aimerais savoir quel langage utiliser(C# ou VB et pourquoi?). Savoir s'il l'application doit être développer en locale(sur visual studio installé sur VM) ou sur sharepoint.
En bref la solution choisie doit répondre à ces critères: Avantages, Inconvénients, Performance, Maintenance
Cordialement
Réponses
-
Bonjour frank,
Si tu veux manipuler les documents Word, tu devra passer par OpenXml : http://msdn.microsoft.com/fr-fr/architecture/cc716300.aspx
Après le choix entre VB et C#... j'ai envie de dire, c'est celui que tu préfères. Les deux fonctionnant avec le même framework. Donc à 1 ou 2 exceptions près, tu fera la même dans un language que dans l'autre.
Personnellement, j'ai en horreur le VB, mais c'est juste physique, il n'y a aucun argument valable pour ça :p.
Par contre, je pense que tu trouvera toujours plus d'exemple de code etc en C# qu'en VB.
Pour ton information, lorsque que tu compile un code en .NET, qu'il soit en C# ou VB, tu passera toujours par la case MSIL, qui sera exécuté par la machine virutelle .NET. Donc pour les questions de performances, ça dépendera surtout de ton code.
Pour ce qui est de la plateforme de développement que tu veux utiliser, ça dépends de ce que tu veux faire avec SharePoint.
Si tu veux développer un composant SharePoint, qui va manipuler les documents Word, alors oui il faut que tu ais une plateforme SharePoint à disposition pour faire tes dev. Après, tu peux installer un SharePoint sur ta VM en local, si tu as assez de RAM pour ça :p (compte grand minimum 4GB pour ta VM pour SharePoint 2010...).
Si par contre, tu veux développer un exécutable qui utilisera les données de SharePoint, tu pourra utiliser le CSOM pour récupérer ces données.
En espérant t'avoir aidé,
Jicay
- Modifié JcBrabant vendredi 12 avril 2013 14:16 précision msil
- Proposé comme réponse JcBrabant vendredi 12 avril 2013 17:07
- Marqué comme réponse Gokan OzcifciMVP dimanche 14 avril 2013 11:07
-
Ok,
Comme je te le disais question performance etc, tu n'aura pas de différence entre C# et VB.
Pour plus d'information sur le MSIL t'as ce lien qui donne pleins d'infos :) MSIL (Wikipedia)
Côté maintenance ce sera plus facile pour toi si tu choisi le C# parce que tu aura plus de code smapl, et statistiquement il y a aussi plus de développeur C#.
Si tu veux faire des choix techniques pour ton développement en fonction des performances, maintenances etc, il nous faudrait plus d'informations sur ce que tu as à faire.
A ce moment là, on pourra te donner plus d'éléments de réponses.
Jicay
- Modifié JcBrabant vendredi 12 avril 2013 16:35
- Marqué comme réponse Gokan OzcifciMVP dimanche 14 avril 2013 11:07
Toutes les réponses
-
Bonjour frank,
Si tu veux manipuler les documents Word, tu devra passer par OpenXml : http://msdn.microsoft.com/fr-fr/architecture/cc716300.aspx
Après le choix entre VB et C#... j'ai envie de dire, c'est celui que tu préfères. Les deux fonctionnant avec le même framework. Donc à 1 ou 2 exceptions près, tu fera la même dans un language que dans l'autre.
Personnellement, j'ai en horreur le VB, mais c'est juste physique, il n'y a aucun argument valable pour ça :p.
Par contre, je pense que tu trouvera toujours plus d'exemple de code etc en C# qu'en VB.
Pour ton information, lorsque que tu compile un code en .NET, qu'il soit en C# ou VB, tu passera toujours par la case MSIL, qui sera exécuté par la machine virutelle .NET. Donc pour les questions de performances, ça dépendera surtout de ton code.
Pour ce qui est de la plateforme de développement que tu veux utiliser, ça dépends de ce que tu veux faire avec SharePoint.
Si tu veux développer un composant SharePoint, qui va manipuler les documents Word, alors oui il faut que tu ais une plateforme SharePoint à disposition pour faire tes dev. Après, tu peux installer un SharePoint sur ta VM en local, si tu as assez de RAM pour ça :p (compte grand minimum 4GB pour ta VM pour SharePoint 2010...).
Si par contre, tu veux développer un exécutable qui utilisera les données de SharePoint, tu pourra utiliser le CSOM pour récupérer ces données.
En espérant t'avoir aidé,
Jicay
- Modifié JcBrabant vendredi 12 avril 2013 14:16 précision msil
- Proposé comme réponse JcBrabant vendredi 12 avril 2013 17:07
- Marqué comme réponse Gokan OzcifciMVP dimanche 14 avril 2013 11:07
-
-
Ok,
Comme je te le disais question performance etc, tu n'aura pas de différence entre C# et VB.
Pour plus d'information sur le MSIL t'as ce lien qui donne pleins d'infos :) MSIL (Wikipedia)
Côté maintenance ce sera plus facile pour toi si tu choisi le C# parce que tu aura plus de code smapl, et statistiquement il y a aussi plus de développeur C#.
Si tu veux faire des choix techniques pour ton développement en fonction des performances, maintenances etc, il nous faudrait plus d'informations sur ce que tu as à faire.
A ce moment là, on pourra te donner plus d'éléments de réponses.
Jicay
- Modifié JcBrabant vendredi 12 avril 2013 16:35
- Marqué comme réponse Gokan OzcifciMVP dimanche 14 avril 2013 11:07
-
Salut JcBrabant.
Merci de ton intéressement. En Bref je vais faire un outil de génération d'appel d'offre. Donc un utilisateur voulant générer une offre je lui fourni un formualire il le rempli. En fonction du remplissage du formulaire (champs cochés,menu déroulant) l'outil ira chercher les infos dans différents fichiers word afin de remplir le word final qui constituera l'offre. Et l'outil se veut centralisé donc sharepoint a été choisi comme serveur d'hebergement.
Pour ce faire je vais baliser mes fichiers word(genre tel paragraphe correspond à tel champ du formulaire). Donc si ce champs est coché j'irai chercher cette infos et la mettre dans le fichier final.
En gros voila ce que je cherche
-
Salut Franck,
Alors, quand je lis ce que tu as à faire, voilà comment je verrais les choses :
* SharePoint Designer pour faire un workflow qui s'exécute à la réponse à un formulaire.
* OpenXml pour la création du document Word
* Activité de workflow
Il faudra développer une activité de workflow (qui va générer ton word) pour pouvoir l'utiliser dans SharePoint Designer.
Voici un petit tuto pour expliquer comment faire une activité de Workflow :http://www.iptech-group.com/blog/creation-dactivites-de-workflow-pour-sharepoint-designer#.UWxvGbWJ9fA
C'est bien sûr pas la seule façon de faire, mais c'est ce que je ferais :).
L'avantage de la solution de l'activité de workflow, c'est qu'il permet de créer un élément réutilisable dans tes workflows. Ils seront facilement maintenable, et ne nécessitent pas de connaissances de développement pour le maintenir.
J'espère que ça te permettra de faire tes choix et de les argumenter ;)
-
Bonjour Jicay,
Je trouve ta solution très interressante mais je ne comprends pas assez. Je vais reformuler à ma manière tu me diras si c'est ça:
- Créer un formulaire sous sharepoint designer et un workflow qui s'exécute lorsqu'on a fini de remplir le formulaire.
- Ensuite sous C# avec openXML je gère mon assemblage de docx en fonction du positionnement des champs du formulaire.
- Et après je crée un activité de workflow?! Ce que j'ai retenu de l'activité de workflow c'est :favoriser l'extensibilité et donner la main à l'utilisateur final d'adapter les fonctionnalités à ses besoins.
C'est de ça que j'ai besoin mais comment ça se manifeste? En fait je vois pas comment faire le lien entre ce que j'ai à faire et l'activité de workflow. Je sais pas si tu peux m'éclairer davantage
Cordialement
Frank
-
Bonjour
Moi j'aurais plutôt choisis une page dite "application page" qui est déployée par la feature dans le dossier LAYOUTS de SharePoint. plutôt qu'un workflow....
Plus simple à apréhender et déployer que les activité de Workflow...un formulaire ASP, du C# en code behind qui fait le boulot et basta !
Encore une fois c'est surtout une question d'habitudes, et la solution de Jc irait très bien aussi ! :)
@JcBrabant : pire que le VB, y a SharePoint Designer :p
Blog Sharepoint : www.paslatek.net Twitter : @LimozinLionel
-
-
Salut à vous,
Je plussoie la solution de Lionel.
J'étais resté focalisé sur le fait que tu souhaitais stocké les demande, et donc faire une liste SharePoint.
Mais dans les fait, si tu n'en a pas besoin, tu peux effectivement directement faire une page avec le formulaire et lancer le process de génération du document.
Ca a l'avantage de créer la solution en une seule page, et d'être plus rapide à développer et déployer.
Un autre avantage que je vois au Workflow, c'est si tu as un process plus complexe. Par exemple, si tu veux faire intervenir des personnes dans le processus, et donc lui attribuer des tâches. Tu pourra aussi logguer différentes étapes & cie.
Donc, encore une fois, il faut faire pencher la balance entre ce dont tu as vraiment besoin, et le temps nécessaire pour le faire. :)
@Lionel +1
Jicay