Nouveau cours : Programmation parallèle et asynchrone, design d’application

Nouveau cours dans la bibliothèque Pluralsight

Par Dr Joe Hummel

Vous avez besoin de rendre vos applications .NET plus rapide et plus performante ? Grâce aux systèmes multi-cœurs d’aujourd’hui, les programmations parallèles et asynchrones peuvent être la réponse. Ce cours traite de la conception sûre et efficace des asynchrone et parallèle des applications .NET.

Visualisez ce nouveau cours maintenant ! (US)

image

L’Europe s’engage dans les hauts de seine avec le FEDER

L’ambition de SoftFluent depuis sa création en 2005 est de faire entrer le métier du développement
logiciel dans l’ère du pilotage par les modèles grâce à son produit phare CodeFluent Entities.

CodeFluent Entities est un environnement intégré à Visual Studio qui aide à maîtriser les technologies
de développement .NET présentes et futures.

jaune

Le projet de Modeler Graphique innovant de CodeFluent Entities a été cofinancé par le Fond Européen de Développement Régional

Lire le communiqué complet

Nouveau cours : Déboguer le Web

Nouveau cours dans la bibliothèque Pluralsight

Par Shawn Wildermuth

En tant que développeur web, Vous êtes charger de développer la partie serveur et la partie client de vos projets web. Pour le développement de la partie client, de nombreux outils sont disponibles pour déboguer vos pages web. Dans ce cours, nous allons vous montrer comment utiliser ces outils pour déboguer l’agencement, le JavaScript, le CSS ainsi que l’aspect réseau dans vos projets web.

Visualisez ce nouveau cours maintenant ! (US)

image

Nouveau cours : Introduction à NuGet

Nouveau cours dans la bibliothèque Pluralsight

Par John V. Petersen

Ce cours fournit une introduction à la gestion de package de libraire NuGet et au système de dépendance qui est intégré avec Visual Studio. Vous allez apprendre comment créer et publier des packages NuGet ainsi qu’héberger votre propre gallery NuGet.

Visualisez ce nouveau cours maintenant ! (US)

image

Nouveau cours : Les fondamentaux de Git

Nouveau cours dans la bibliothèque Pluralsight

Par James Kovacs

Git est un système populaire de contrôle de version. Dans ce cours, vous allez apprendre comment créer un dépôt local, comment commit vos fichiers, pousser vos changements vers un dépôt distant, corriger les erreurs de vos commits, et plus encore. Vous allez également apprendre la différence entre une copie de travail, une zone de développement et un dépôt.

Visualisez ce nouveau cours maintenant ! (US)

image

Nouveau cours : Sécurité et cryptographie avec Enterprise Library

Nouveau cours dans la bibliothèque Pluralsight

Par John Sonmez

La sécurité et la cryptographie sont des points importants pour la majorité des applications. Il est souvent difficile de savoir comment implémenter correctement ces fonctionnalités à votre application. Dans ce cours nous allons voir comment utiliser Security Application Block pour mettre en cache les identifiants des utilisateurs afin de pouvoir les réutiliser et comment autoriser des utilisateurs provenant de diverses sources. Vous allez également apprendre à utiliser Cryptography Application Block afin de sécuriser correctement vos données sensibles.

Visualisez ce nouveau cours maintenant ! (US)

image

Gestion des sorties de produits : le retour d’expérience de SoftFluent – 12/12

Les erreurs courantes observées sur le terrain

Cette série de billets vise à partager notre expérience.

Nous avons détaillé notre propre approche et la façon dont nous traitons les différentes dimensions en interne en tant qu’éditeur.

Mais comme nous avons également l’expérience terrain en conseil aux éditeurs de logiciels, nous pensons utiles de répertorier les erreurs communes que nous avons observées sur le terrain et qui peuvent gravement affecter la capacité à maitriser le processus de gestion des produits.

  1. Lier une version du produit à un client particulier : sur le terrain, nous voyons beaucoup d’entreprises qui prétendent être des éditeurs de logiciels, mais en fait, lient fortement les versions du produit à un ou quelques clients. Selon notre expérience, il est très difficile de garder une véritable approche orientée produit quand vous avez une connexion à la clientèle trop forte. Cela aboutit souvent à avoir un développement personnalisé qui est trop spécifique pour le contexte client et ne peut se muer en réel produit.
  2. Placer de trop grandes attentes pour la version 1 : certains éditeurs de logiciels placent la barre très haut dès le début, ou pour leur nouvelle offre dans le cas du lancement un tout nouveau produit. Essayer de répondre à tous les besoins d’une manière très complète dans une première version est vouée à l’échec la plupart du temps.
  3. Démarrer sans une vision minimale du périmètre de vente : a contrario, nous voyons aussi des équipes qui commencent sans avoir une vision réelle du périmètre à atteindre et du produit à vendre. Poussées par les messages axés sur la méthodologie agile, certaines personnes pensent que vous n’avez pas besoin de savoir très bien où vous vous dirigez pour démarrer votre projet. Dans la plupart des cas, cela ne fonctionne pas. De notre point de vue, les méthodologies agiles fonctionnent bien lorsqu’elles sont utilisées comme une méthode de livraison à l’intérieur d’un processus de planification global plus macroscopique.
  4. Négliger la documentation: Parce qu’il n’est pas très amusant d’écrire de la documentation, notamment pour les profils développeur, cette zone n’est pas traitée avec le niveau de qualité approprié. En tant qu’éditeur, vous ne devriez jamais développer une fonctionnalité que vous n’êtes pas prêt à documenter. N’est-ce pas évident exprimé de cette façon ?
  5. Sous-estimer les tests: cette étape est cruciale pour le succès du logiciel. Elle englobe de nombreuses dimensions (voir notre billet précédent sur les meilleures pratiques de tests logiciels) et chaque éditeur devrait y allouer le bon niveau de ressources et d’attention.
  6. Considérer le code comme une production à faible ajoutée : Nous voyons des éditeurs de logiciels qui tentent d’appliquer les recettes de l’industrie avec un schéma simple en disant que toute la valeur réside dans la conception, et que le code peut être confié à des entreprises de services de bas niveau, ces sociétés étant locales, near-shore ou off-shore. C’est peut-être applicable pour certains logiciels de gestion de base qui offrent une large couverture, mais qui restent très simple dans les fonctionnalités et dont celles-ci sont parfaitement définies. Pourtant, la plupart du temps, vous seriez en mesure d’obtenir des résultats beaucoup plus efficaces avec 1/10e de l’investissement avec des ingénieurs logiciels de bon niveau disposant de l’expérience appropriée.
  7. Sous-traiter ce qui n’est pas maîtrisé en interne : nous croyons à la spécialisation et à la sous-traitance. Cela peut s’avérer très utile lorsqu’elle est utilisée correctement. Mais il y a une règle d’or apprise au fil du temps : vous ne pouvez sous-traiter que ce que vous comprenez bien. Vous devez avoir la capacité de piloter et de contrôler le travail de vos sous-traitants, et vous ne pouvez pas faire cela si vous perdez les connaissances de base des éléments clés. Ceci s’applique fortement dans toutes les dimensions du logiciel que vous envisagez de sous-traiter.
  8. Faire un saut technologique sans en mesurer les impacts méthodologiques : nous connaissons malheureusement de près des dizaines de projets qui sont tombés dans ce piège. Malgré la mise en avant des avantages des plates-formes .NET ou Java qui prônent la simplicité, ce n’est pas simple du tout dans la mise en œuvre, et c’est peu productif. Ces plates-formes donnent de nouvelles possibilités techniques et des capacités de connexion inégalées, mais elles sont plus complexes que jamais. Un éditeur passant d’une approche traditionnelle (comme Progress, PowerBuilder ou NSDK pour n’en nommer que quelques-uns) est plus que susceptible d’échouer dans ses nouveaux projets s’il ne mesure pas l’impact du changement technologique. La méthodologie doit être ajustée dans la mesure où les possibilités de mise en œuvre sont nombreuses dans des plates-formes ouvertes telles que .NET ou Java. Trouver le bon équilibre sur de nombreux sujets est plus que délicat et nécessite une réelle expérience sur ces technologies.

En conclusion, nous espérons que l’expérience que nous avons partagée pourrait vous être utile. Ce ne sont que nos points de vue et nous aurons certainement omis quelques points.

Comme nous sommes toujours désireux d’en apprendre davantage, nous nous réjouissons d’avance de vos commentaires sur ces éléments.

Daniel COHEN-ZARDI

SoftFluent, Président

Gestion des sorties de produits : le retour d’expérience de SoftFluent – 11/12

Résumé des outils que nous utilisons

Au vu des nombreuses discussions qui tournent autour de ce sujet, nous vous dévoilons les différents outils que nous utilisons dans notre département R&D

 

Domaine

Outils

Roadmap

Outils internes : listes Excel des modules et fonctionnalités

Conception

Microsoft Visual Studio TFS 2010 et WorkItems en particulier

Développement

Microsoft Visual Studio 2008/2010µ
JetBrain ReSharper
Redgate .NET Reflector.

Intégré dans notre produit : Actipro SyntaxEditor

Documentation

Innovasys HelpStudio & DocumentX.
Outil interne pour schéma « DocMaker »

Test

Outil interne pour automatisation de l’Interface Utilisateur

Gestion des versions

TFS build, outils internes, moteur de template CodeFluent Entities

Gestion des publications

SoftFluent Licensing, directement intégré au site Web

Licences & activation

SoftFluent Licensing. Technologie d’activation interne

Support

WordPress blog, forum, boîte mail dédiée au client

Gestion des sorties de produits : le retour d’expérience de SoftFluent – 10/12

Support Produit

Notre équipe support tire parti de 2 outils majeurs pour vous apporter le meilleur niveau d’information. Premièrement, l’équipe sélectionne des fonctionnalités produit et poste un exemple et une explication sur notre blog produit pour attirer l’attention sur cette fonctionnalité. En vous abonnant, vous apprendrez une nouveauté directement des membres de l’équipe SoftFluent, presque chaque jour.

image13

Au-delà de ce processus de flux d’informations à votre intention, l’équipe support surveille nos forums et fait en sorte que toutes les questions trouvent réponse dans les meilleurs délais. Si cela ressemble à un dysfonctionnement, nous essayons de reproduire le problème, s’il est avéré, nous le remontons à la R&D.

Si la question est plus ouverte, ou liée à la conception et que vous avez besoin de l’aborder différemment, notre équipe peut vous proposer des solutions pour étudier la question. Si nécessaire, vous pouvez également avoir recours à quelques heures de consulting moyennant facturation pour vous aider à implémenter une solution complète.

Nous obtenons des retours positifs sur notre réactivité et travaillons dur pour maintenir ce niveau car nous savons que c’est un facteur clé de réussite pour un produit ciblant les développeurs comme CodeFluent Entities.

image14

Gestion des sorties de produits : le retour d’expérience de SoftFluent – 9/12

Gestion des publications ou “release”

SoftFluent met en œuvre ses propres mécanismes de protection des licences incluant les mécanismes d’activation et d’‘obfuscation’.

Lorsqu’une version est produite et qu’elle a passé les tests de qualité, nous la publions. C’est ce que vous pouvez voir lorsque vous téléchargez CodeFluent Entities. Les versions avec le drapeau vert sont considérées comme valides et ayant passé tous les tests.

image10

De notre côté, nous avons une application de gestion des licences grâce à laquelle nous pouvons gérer les publications sur le web ainsi que les différentes informations relatives à la mise en disposition des clés.

C’est là que nous pouvons ‘upgrader’ une licence personnelle en une version commerciale par exemple et modifier les métadonnées associées. C’est également l’outil qui nous permet d’activer manuellement une licence si vous choisissez l’option basée sur l’email.

image11

Un autre élément intéressant de notre processus de gestion des sorties est le "blog de mise à jour du produit". Sitôt qu’un développeur termine un élément de travail défini comme "public", il documente la modification avec un commentaire prêt pour l’utilisateur, qu’il s’agisse d’une nouvelle fonctionnalité ou d’une correction de bogue. Ce commentaire alimentera directement le fil RSS de "mise à jour produit", donnant à l’utilisateur toute l’information sur ce que contient une nouvelle version.

image12

Suivre

Recevez les nouvelles publications par mail.

Joignez-vous à 30 followers