La gestion réseaux avec FCAPS

null

Le modèle FCAPS n’est pas nouveau, il est au coeur du management des réseaux informatiques depuis les années 80′. FCAPS est un modèle proposé par la norme ISO dans Telecommunication Management Network.

FCAPS : Fault, Configuration, Accounting, Performance, Security Management.

Malgré son ancienneté, il conserve toute sa pertinence pour une première classification des produits de gestion réseaux, en permettant de prioriser les fonctionnalités attendues.

Fault Management

La gestion des anomalies est souvent le module le plus populaire au sein des outils de gestion réseaux.

Celui-ci permet de détecter, isoler et résoudre les problèmes réseaux rencontrés voire même de prédire des incidents potentiels. Il aide donc à apporter une expérience utilisateur optimale en réduisant les temps d’arrêt, la dégradation des performances ou tout autre incident…

  • Détection des incidents, correction des anomalies, isolation des incidents, notifications des incidents, corrélation des alertes, …

Configuration Management

La gestion de la configuration permet de collecter et de stocker les informations de configuration des équipements ; que ce soit physiques ou systèmes. Il permet donc d’obtenir un inventaire des équipements et des programmes présents. De plus, cet inventaire sera continuellement à jours.
Ce qui est un atout majeur pour votre service !

Cela permet aussi de simplifier le processus de changement et d’en obtenir un réel suivi.

  • Récolte des informations systèmes, génération de statistiques, gestion des backups, management des changements, analyse des tendances (d’usage) pour préparer la consommation future, …

Accounting Management

La gestion des accès permet de faire des statistiques utilisateurs. En effet, en prenant en compte les usages ainsi que l’analyse des accés aux équipement, nous pouvons établir une réelle estimation des coûts.

Cette partie est consacrée à la répartition des ressources de façon optimale et équitable entre les utilisateurs du réseau. Cela rend l’utilisation des systèmes plus efficace, en minimisant le coût des opérations.

  • Analyse de l’usage matériel et logiciel, gestion des coûts, …

Performance Management

La gestion des performances vise à mesurer les différents aspects de la performance des équipements et des systèmes.

Il permet de comprendre l’état actuel du réseaux et de savoir comment il se comporte. Il peut ainsi permettre de préparer le réseaux pour les futurs besoins.

De plus, la gestion des performances inclus la mesure de différents indicateurs. Ce qui permet d’assurer la disponibilité du service et les performances à un niveau optimal.

  • Gestion des seuils pour les alertes, génération de graphs concernant différents indicateurs, prédire l’utilisation futur en analysant les perfs, …

Security Management

La gestion de la sécurité prend en charge la protection des équipements, la sécurité d’accès via une authentification encryptée ainsi que la protection des informations confidentielles.

Il faut que le réseau soit protégé contre les hackers, les utilisateurs non autorisés, ou même contre le sabotage physique du matériel. La confidentialité des données doit être gérer selon les besoins clients et doit être maintenue à un seuil donné tout au long du cycle de vie du réseau.

  • Gestion des autorisations, historique des accès, génération d’audit, …

Prioriser avec la méthode MoSCoW

stop

MoSCoW est une technique permettant de prioriser les besoins ou les exigences d’un projet. Cette technique est utilisée dans l’analyse business et le développement de logiciels afin de parvenir à une compréhension commune sur l’importance qu’ils accordent à la livraison de chaque exigence. Ceci ce fait avec toutes les parties prenantes du projet.

Les lettres majuscules de l’acronyme MoSCoW signifient : Must, Should, Could, Won’t. Les o ont été ajoutés afin que ce soit prononçable ;D

Pour certains, la classification avec des numéros semble plus logique, plus naturel. Cependant, une fois le développement commencé, toutes les fonctionnalités prennent souvent pour priorité ’1′ ce qui créé de fortes confusions et ne permet donc pas de livrer le projet dans de bonnes conditions.

M comme Must

MUST, ce qui DOIT être fait. Cela décrit une exigence qui doit être satisfaite dans la solution finale afin que le produit soit un succès. Ces exigences sont non-négociables, sans elles, le projet est un échec.

Elles doivent être finalisées en tenant compte de :

  • l’accord de tous les intervenants,
  • l’examination de la porté du projet ainsi que son but,
  • la correspondance entre l’objectif du projet et les exigences listées.

S comme Should

SHOULD, ce qui DEVRAIT être fait dans la mesure du possible. Cela décrit une exigence qui doit être incluse dans la solution finale si tout se passe bien.

Ces exigences sont importantes mais moins critiques pour le succès du projet. En effet, ces exigences sont tout aussi importantes que les MUST mais peuvent être faites plus tard dans le cycle de développement du projet. Lors des prochaines itérations par exemple.

C comme Could

COULD, ce qui POURRAIT être fait dans la mesure où cela n’a pas d’impact sur les autres tâches.

Ce sont des exigences non-critiques. Elles sont souvent décrites comme des fonctionnalités qui seraient bien d’avoir : « Ca serait top d’avoir ça ! ». Ce n’est donc pas indispensable pour le succès du projet.

Cependant elles ne sont pas à oublier, inclure ces exigences peut permettre d’augmenter le confort ainsi que la satisfaction du client pour un coup de développement souvent faible.

W comme Won’t

WON’T, ce qui NE SERA PAS fait mais prévu pour plus tard.

Ce sont des exigences qui n’affectent pas le succès du projet. Elles ne sont généralement pas prévues dans le planning mais peuvent être traitées dans une version ultérieure du projet.

Certains, utilise le W pour « Would like« , ce qui permet d’être moin définitif et laisse donc la possibilité d’ajouter ces exigences si le scope, le budget ou les délais changent.

 

Afin de fournir un projet réussi, il est essentiel que l’ensemble des exigences soient clairement priorisées avec le client. Ceci n’est bien sûr qu’un élément pour la réussite, il ne faut pas oublier de bien définir l’objectif globale, la qualité, les délais ainsi que le budget.

  • Avez-vous déjà utilisé cette méthode ?
  • Vous utilisez une autre méthode de prioritisation ? Quels sont ses avantages ?

Débuter le développement iOS

Voici quelques ressources qui me semblent intéressantes, pertinentes et à jours ; découvertes lors de mes recherches afin de démarrer avec le développement sur la plateforme iOS d’Apple.

Pour résumer, il vous faudra apprendre à utiliser le langage Objective-C afin de commencer le développement iOS. Ca, je pense que tout le monde s’en doutait. Il vous faudra comprendre la gestion de la mémoire, les différentes classes ainsi que les différents frameworks fournis, tous ces éléments sont indispensables avant de se lancer dans de réels projets.

Voici un exemple afin de voir la syntaxe de l’Objective-C.

// Retourne un item aléatoire
+ (id)randomItem
{
NSArray *randomAdjectiveList = [NSArray arrayWithObjects:@"Fluffy", @"Rusty", @"Shiny", nil];
NSArray *randomNounList = [NSArray arrayWithObjects:@"Bear", @"Spork", @"Mac", nil];
 
NSInteger adjectiveIndex = rand() % [randomAdjectiveList count];
NSInteger nounIndex = rand() % [randomNounList count];
 
NSString *randomName = [NSString stringWithFormat:@"%@ %@", [randomAdjectiveList objectAtIndex:adjectiveIndex],
[randomNounList objectAtIndex:nounIndex]];
 
int randomValue = rand() % 100;
NSString *randomSerialNumber = [NSString stringWithFormat:@"%c%c%c", '0' + rand() % 10, 'A' + rand() % 26, '0' + rand() % 10];
 
BNRItem *newItem = [[self alloc] initWithItemName:randomName valueInDollars:randomValue serialNumber:randomSerialNumber];
 
return newItem;
}

Surprenant, non ? Vous verrez on s’y fait très vite. « ou pas »

Screencasts

Stanford : iPad and iPhone Application Development

iPad and iPhone Application Development (HD) by Paul Hegarty — Vidéos en anglais.

Cette série de vidéos, venant tout droit des cours de Stanford, comporte 43 épisodes permettant de découvrir le développement sur la plateforme iOS. Cela englobe les bases du développement en Objective-C jusqu’aux techniques d’optimisations en passant par les éléments d’interface graphique.

AzamSharp

AzamSharp’s youtube — Vidéos en anglais.

Mohammad Azam nous offre régulièrement des screencasts sur des fonctionnalités précises et nous permet de les découvrir avec du code concret. Cela nous offre un aperçu rapide d’environ 15 minutes et permet donc une introduction simple et pertinente à des éléments indispensables pour un développeur iOS.

iOSlibraries

iOSlibraries.com — Vidéos en français.

Jérémy Templier nous propose sa propre série de vidéos concernant iOS en général. Il nous présente différentes techniques à implémenter au sein de nos propres projets : iCloud, Twitter, …

Les vidéos présentent bien les choses, quelque soit votre niveau.

Tutoriaux sur YouTube

« iphone sdk tutorial » sur Youtube

Une simple recherche sur Youtube peut permettre de trouver des tutoriaux intéressants sur des problématiques précises. Généralement plutôt bien faites, elles peuvent vous faire découvrir des choses intéressantes ou comprendre comment implémenter certaines fonctionnalités.

Livre: iOS The Big Nerd Range Guide

iosprogramming

Ce livre est une très belle référence pour débuter avec le développement iOS. Il permet à travers 31 chapitres de prendre réellement en main le langage ainsi que les différentes possibilités sur iOS.

En effet, chaque chapitre correspond à une fonctionnalités précise (ou un ensemble restreint) et vous accompagne en développant un mini-projet à chaque chapitre. De plus, à la fin de chaque chapitre, vous disposez de trois challenges : Bronze, Silver, Gold ainsi qu’une section « For more curious » qui permet d’approfondir encore plus les sujets présentés.

L’atout majeur de ce livre est que les auteurs ont réellement compris comment transmettre leur savoir à travers une structure bien définie de leur livre ainsi qu’en proposant de coder ce que l’on est entrain d’apprendre. Tout est expliqué et les bonnes pratiques sont au rendez-vous ; ce qui n’est pas négligeable.

Leur livre est mis à jours pour le développement sur iOS 5, ce qui permet de découvrir les storyboards, ARC, … Et de ne pas se mélanger les pinceaux avec des problèmes d’évolutions dû à une version donnée.

Documentation Apple

La documentation d’Apple est une vraie Bible. Elle est très bien faite, complète, plutôt élégante et permet de découvrir plus en détails les méthodes ou concepts utilisés pour développer sur leur plateforme. Cela permet de s’y référer en cas de trous de mémoire (:

De plus, cette documentation est intégré directement dans XCode ce qui permet de ne pas perdre une minute !

En supplément

  • Appsamuck : 31 examples. Ce site nous offres 31 exemples d’applications iPhone et permet donc de découvrir comment cela se passe en interne. Leur blog comporte aussi quelques articles intéressants.
  • Développez.com propose une section dédiée au développement iOS. Je ne l’ai pas lue mais il y a certainement des choses intéressantes.
  • Le SiteDuZéro propose aussi une partie concernant l’objective-c. Je ne l’ai pas consultée, donc je ne pourrais vous en parler.

Si vous avez d’autres ressources à partager, n’hésitez surtout pas !