Accueil -> Technologies -> Définitions techniques

Définitions techniques

Table des matières :

  •  Framework
  • « Design patern » ou patron de conception
  • Système de gestion de contenu - CMS
  • Workflow
  • Méthodes Agiles

 

Framework

Source : http://www.techno-science.net/?onglet=glossaire&definition=1471

Un framework est un espace de travail modulaire. C'est un ensemble de bibliothèques et de conventions permettant le développement rapide d'applications. Il fournit suffisamment de briques logicielles et impose suffisamment de rigueur pour pouvoir produire une application aboutie et facile à maintenir. Ces composants sont organisés pour être utilisés en interaction les uns avec les autres.

Source : http://fr.wikipedia.org/wiki/Framework

En programmation informatique, un framework est un kit de composants logiciels structurels, qui définissent les fondations ainsi que les grandes lignes de l'organisation de tout ou partie d'un logiciel (architecture). En programmation orientée objet un framework est typiquement composé de classes mères qui seront dérivées et étendues par héritage en fonction des besoins spécifiques à chaque logiciel qui utilise le framework.

Les framework sont utilisés pour modeler l'architecture des logiciels applicatifs, des applications web, des middleware et des composants logiciels.

Un framework est un ensemble d'outils et de composants logiciels organisés conformément à un plan d'architecture et des design patterns.

Les principaux avantages de ces frameworks sont la réutilisation de leur code, la standardisation du cycle de vie du logiciel (Spécification, développement, maintenance, évolution), ils permettent de formaliser une architecture adaptée au besoin de l'entreprise. Ils tirent parti de l'expérience des développements antérieurs.

 

« Design patern » ou patron de conception

En informatique, un patron de conception ou motif de conception est un concept de génie logiciel destiné à résoudre les problèmes récurrents suivant le paradigme objet.

Le but général des patrons de conception est de minimiser les interactions qu'il peut y avoir entre les différentes classes (ou modules, plus généralement) d'un même programme. L'avantage de ces patrons est de diminuer le temps nécessaire au développement d'un logiciel et d'augmenter la qualité du résultat, notamment en appliquant des solutions déjà existantes à des problèmes courants de conception.

Ces patrons sont décrits sous une forme abstraite, sans s'attacher aux détails du problème à résoudre.

« Les patrons offrent la possibilité de capitaliser un savoir précieux né du savoir-faire d’experts » — Buschmann, 1996.

 

Système de gestion de contenu - CMS

Source : http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu

Un système de gestion de contenu ou SGC (Content Management System ou CMS) est une famille de logiciels destinés à la conception et à la mise à jour dynamique de site web ou d'application multimédia. Ils partagent les fonctionnalités suivantes :

  • Ils permettent à plusieurs individus de travailler sur un même document ;
  • Ils fournissent une chaîne de publication (workflow) offrant par exemple la possibilité de mettre en ligne le contenu des documents ;
  • Ils permettent de séparer les opérations de gestion de la forme et du contenu ;
  • Ils permettent de structurer le contenu (utilisation de FAQ, de documents, de blogs, de forums de discussion, etc.) ;
  • Certains SGC incluent la gestion de versions.

Les SGC ne doivent pas être confondus avec les systèmes de Gestion électronique de documents (GED). Ceux-ci permettent de réaliser la gestion de contenu dans l'entreprise. On parle en anglais d'ECM, soit la gestion de contenu d'entreprise littéralement. Ils ne se limitent donc pas à fournir en contenu un site web ou une seule application multimédia.

Les CMS sont des applications complexes et finies comprenant l'essentiel des fonctionnalités couramment utilisées sur un site internet. Un CMS est toujours réalisé par un groupe de développeurs issu soit d'une entreprise classique soit d'une communauté Open-Source. Le CMS est un produit fini souvent extensible grâce à une API ou sous forme de plugins. Le CMS étant un produit géré par une communauté ou une entreprise, les possibilités offertes par ce CMS et son évolution sont à la libre disposition de l'entité mère.

Afin de réaliser une application web à partir d'un CMS, il est nécessaire de pouvoir adapter les besoins aux possibilités du CMS en trouvant des compromis.

 

Workflow

Source : http://fr.wikipedia.org/wiki/Workflow

On appelle workflow la modélisation et la gestion informatique de l'ensemble des tâches à accomplir et des différents acteurs impliqués dans la réalisation d'un processus métier (aussi appelé processus opérationnel ou bien procédure d'entreprise). Le terme de « workflow » pourrait donc être traduit en français par « gestion électronique des processus métier ». De façon plus pratique, le workflow décrit le circuit de validation, les tâches à accomplir entre les différents acteurs d'un processus, les délais, les modes de validation, et fournit à chacun des acteurs les informations nécessaires pour la réalisation de sa tâche. Pour un processus de publication en ligne par exemple, il s'agit de la modélisation des tâches de l'ensemble de la chaîne éditoriale.

Il permet généralement un suivi et identifie les acteurs en précisant leur rôle et la manière de le remplir au mieux.

Le moteur de workflow est le dispositif logiciel permettant d'exécuter une ou plusieurs définitions de workflow. Par abus de langage, on peut appeler ce dispositif logiciel tout simplement « workflow ».

 

Méthodes Agiles

Source : http://fr.wikipedia.org/wiki/M%C3%A9thode_agile

Les méthodes Agiles sont des procédures de conception de logiciel qui se veulent plus pragmatiques que les méthodes traditionnelles. En impliquant au maximum le demandeur (client), ces méthodes permettent une grande réactivité à ses demandes, visent la satisfaction réelle du besoin du client, et non des termes du contrat de développement.

Dans ce but, elles prônent 4 valeurs fondamentales (entre parenthèse, les citations du manifeste) :

  • L'équipe (« Personnes et interaction plutôt que processus et outils ») : Dans l'optique agile, l'équipe est bien plus importante que les outils (structurants ou de contrôle) ou les procédures de fonctionnement. Il est préférable d'avoir une équipe soudée et qui communique composée de développeurs (éventuellement à niveaux variables) plutôt qu'une équipe composée d'experts fonctionnant chacun de manière isolée. La communication est une notion fondamentale.
  • L'application (« Logiciel fonctionnel plutôt que documentation complète ») : Il est vital que l'application fonctionne. Le reste, et notamment la documentation technique, est une aide précieuse mais non un but en soi. Une documentation précise est utile comme moyen de communication. La documentation représente une charge de travail importante, mais peut pourtant être néfaste si elle n'est pas à jour. Il est préférable de commenter abondamment le code lui-même, et surtout de transférer les compétences au sein de l'équipe (on en revient à l'importance de la communication).
  • La collaboration (« Collaboration avec le client plutôt que négociation de contrat ») : Le client doit être impliqué dans le développement. On ne peut se contenter de négocier un contrat au début du projet, puis de négliger les demandes du client. Le client doit collaborer avec l'équipe et fournir un feed-back continu sur l'adaptation du logiciel à ses attentes.
  • L'acceptation du changement (« Réagir au changement plutôt que suivre un plan ») : La planification initiale et la structure du logiciel doivent être flexibles afin de permettre l'évolution de la demande du client tout au long du projet. Les premières releases du logiciel vont souvent provoquer des demandes d'évolution.

Ces 4 valeurs se déclinent en 12 principes généraux communs à toutes les méthodes agiles :

  • « Notre première priorité est de satisfaire le client en livrant tôt et régulièrement des logiciels utiles ».
  • « Le changement est bienvenu, même tardivement dans le développement. Les processus agiles exploitent le changement comme avantage compétitif pour le client ».
  • « Livrer fréquemment une application fonctionnelle, toutes les deux semaines à deux mois, avec une tendance pour la période la plus courte ».
  • « Les gens de l'art et les développeurs doivent collaborer quotidiennement au projet ».
  • « Bâtissez le projet autour de personnes motivées. Donnez leur l'environnement et le soutien dont elles ont besoin, et croyez en leur capacité à faire le travail ».
  • « La méthode la plus efficace pour transmettre l'information est une conversation en face à face ».
  • « Un logiciel fonctionnel est la meilleure unité de mesure de la progression du projet ».
  • « Les processus agiles promeuvent un rythme de développement durable. Commanditaires, développeurs et utilisateurs devraient pouvoir maintenir le rythme indéfiniment ».
  • « Une attention continue à l'excellence technique et à la qualité de la conception améliore l'agilité ».
  • « La simplicité - l'art de maximiser la quantité de travail à ne pas faire - est essentielle ».
  • « Les meilleures architectures, spécifications et conceptions sont issues d'équipes qui s'auto-organisent ».
  • « À intervalle régulier, l'équipe réfléchit aux moyens de devenir plus efficace, puis accorde et ajuste son comportement dans ce sens ».

Tronc des pratiques communes à l'ensemble des méthodes Agiles

  1. Les pratiques communes liées aux ressources humaines

    • Participation de l’utilisateur final aux groupes de travail.
    • Groupes de travail disposant du pouvoir de décision.
    • Autonomie et organisation centralisée de l’équipe (motivation).
    • Spécification et validation permanente des Exigences.
  2. Les pratiques communes liées au pilotage du projet

    • Niveau méthodologique variable en fonction des enjeux du projet.
    • Pilotage par les enjeux et les risques.
    • Planification stratégique globale basée sur des itérations rapides.
    • Réalisation en jalons par prototypage actif itératif et incrémental.
    • Recherche continue d’amélioration des pratiques.
  3. Les pratiques communes liées à la qualité de la production

    • Recherche d’excellence technique de la conception.
    • Vision graphique d’une modélisation nécessaire et suffisante.
    • Vision de la documentation nécessaire et suffisante.
    • Normes et techniques raisonnables de qualité du code (métrique).
    • Architecture à base de composants.
    • Gestion des changements automatisée.

   

Création de site web & hébergement de site internet - grenoble - isère - Kreatys Kreatys www.kreatys.com
9 chemin du Vieux Chêne 38240 Meylan
RCS GRENOBLE 433 349 206
Tél. 04 76 04 84 61 contact|plan d'accès|accueil