mardi 30 octobre 2018

Comment et pourquoi centraliser les logs pour l'ensemble de votre SI ?

C'est primordiale pour un Système d'Information de centraliser les Logs, c'est à dire en fait d'avoir un système cohérent de production puis d'analyse des Logs pour la couverture de l'ensemble de votre Système d'Information. De surcroit, il faut que votre système de log soit performant pour retracer identifier les problèmes rapidement.

Je viens de discuter avec un client final de son système et de la catastrophe que sont pour lui les logs car dans son SI les logs ont été écris par maintes équipes différentes avec toutes sortes de briques différentes. Il voudrait un peu de rationalisation.

Alors que je viens de lire cet article :
Syloé - Pourquoi traiter et centraliser vos logs avec ELK et Craylog ?

ELK c'est pour Elasticsearch, Logstash et Kibana une suite de logiciels Open Source, on parle de Stack ELK. Kibana est un greffon de visualisation de données pour Elasticsearch.

Stack Elasticsearch Logstash Kibana

La solution qui est préconisé c'est d'utiliser Craylog et ELK, avec ELK l'inconvénient c'est la non-gestion des utilisateurs. Craylog permet de gérer les utilisateurs et les permissions façon LDAP.


Voilà nous avons fait le tour rapide de la centralisation des logs de l'ensemble de votre Système d'Information. C'est pas fini vous vous en doutez, pas si simple de mettre en œuvre cette pile de softs pour faire des logs.

C'est une nécessité absolue dans un SI de capitaliser sur les logs, de les maitriser, de les centraliser, de les expliquer pour l'ensemble des équipes soft. La façon dont est traité la problématique "faire des logs" dans un SI est caractéristique de la qualité de ce SI.

lundi 15 octobre 2018

GitHub - C'est quoi les fichiers .md (point md) ? Markdown ?

Je cherche à maîtriser une fois pour toute l'édition sous GitHub et GitLab. Faisons un tour complet sur les fameux fichiers ".md" que l'on trouve pour créer la documentation sous GitHub. A l'heure où je vous écris, je vous l'avoue, je ne sais pas encore ce qu'est réellement un fichier .md.


Je l'ai découvert par la force en utilisant GitHub. J'ai trouvé comment jongler avec, un tout petit peu dans GitLab dans l'article suivant Comment exporter votre Wiki. Mais je ne sais toujours pas ce que signifie réellement l'extension de fichiers ".md".

Je cherche et je me retrouve sur des sites qui ne me donnent pas la solution, un tas de sites se sont organisés pour que vous les visitiez mais ne vous donne pas la solution ! C'est quoi cette extension de fichier ".md" ... bref c'est Wikipédia qui gagne encore une fois la batille de la culture geek :

Un fichier ".md" est un fichier Markdown, Markdown est un langage de balisage léger créer en 2004 par John Gruber et Aaron Swartz.

https://donate.wikimedia.org/

Ah, j'étais bien ennuyé avec cette histoire de fichier ".md" car ils sont la clef de la documentation sous GitHub.

Aide et syntaxe

Le pire avec cette histoire c'est que GitHub se mords la queue, pour trouver de l'aide sur les fichiers d'aide (de documentation) c'est dans github dans un fichier .md :

https://github.com/luongvo209/Markdown-Tutorial/blob/master/README_fr.md

Là on est bien, c'est en français, il y a toutes les explications sur les fichiers Markdown merci à Luong Vo pour son travail de documentation, d'autres sujets chez lui son également très intéressants.

Outils

Originel en ligne par les créateurs du concept voici : dingus
il converti votre markdown en HTML

L'outil très puissant en ligne : Stack Edit

Encore un peu de doc : Comment bien commencer avec Markdown


Amusons nous avec les fichiers Markdown !

vendredi 5 octobre 2018

Visual Studio - Team Explorer & GitHub - Ce qui manquait pour bien démarrer

Nous avons vu dans l'article suivant que pour bien démarrer il faut synchroniser le projet pour la première fois dans git hub. Comment le faire avec Visual Studio dans Team Explorer avec GitHub ?

Vous avec créé un projet avec Visual Studio vous souhaitez le mettre en gestion de configuration dans GitHub comment faire simplement dans l'article précédent nous avions installé Git et TortoiseGit pour ce faire ici nous allons utilisé les fonctionnalités Tema Explorer de Visual Studio.

D'abord dans GitHub on créé un Repositorie :


Github création d'un nouveau Repositorie
GitHub création d'un nouveau Repositorie

GitHub vous fournit alors l'URL de ce repo quelque chose en .git que vous allez pouvoir utiliser avec Team Explorer de Visual Studio.

Vous avez créé votre Repo local en entrant le chemin de votre projet sur votre disque dur Team Explorer vous permet alors de Synchroniser votre Repo local :

Synchronisez votre Repo Local dans Github
Synchronisez votre Repo Local dans Github
Team Explorer vous propose d'entrer l'URL de votre Repo dans Github :

Publier le dépôt Git
Publier le dépôt Git
Pour synchroniser votre Repo Local avec Github. Il détecte alors qu'il n'y a rien dans le Repo de Github. Vous pouvez alors publier directement dans GitHub :

URL de votre Repo dans Gihub

Team Explorer vous permet d'entrer l'URL de votre Repo Github. Vous pouvez ensuite cliquer sur "Publier" pour uploader votre projet dans GitHub.

Quand vous retournez dans l'Explorateur de solution vous voyez les "petits cadenas" signes que votre projet est maintenant en gestion de configuration.

Projet Visual Studio en gestion de configuration dans GitHub
Projet Visual Studio en gestion de configuration dans GitHub
CQFD !


mercredi 19 septembre 2018

Vous cherchez une chaîne de développement multiplateforme pour Mobile ?

Comment développement une application multiplateforme pour téléphone mobile ? Mon mot d'entré est : "Ionic" mais je sens que cela ne va pas suffire ... Je tape "développement multi plateforme avec ionic" et là je sens que c'est le début de quelque chose.


https://ionicframework.com/
https://ionicframework.com/

D'abord le site de Supinfo m'explique que Ionic permet de construire mon application qu'une fois et de l'exécuter n'importe où car Ionic n'utilise que des technos Web portables comme HTML, CSS javascript.

https://cordova.apache.org/docs/en/latest/guide/overview/index.html
https://cordova.apache.org/docs/en/latest/guide/overview/index.html
Ionic permet en fait de développer des applications Web qui s'exécuteront dans un navigateur. Ionic permet de créer une application mobile qui se téléchargera depuis le "play store".

Mais bientôt on vous explique qu'il faut également utiliser Cordova qui est un grand dépôt de plugin. Ionic utilise également AngularJS. L'utilisation de la mémoire et les performances sont à considérer dans l'utilisation de Ionic ...

Supinfo
A noter sur cette page que liens ne fonctionnent pas que le chapitre "démarrer avec Ionic" est introuvable, bref il faut poursuivre tout seul.

Une application développée avec Ionic est dite hybride car elle utilise le développement Web et le développement Natif.

Me seconde recherche me porte sur le site Développez.com


Un tuto sympa comme toujours sur le site de Developpez.com
On nous dit que Ionic s'appuis sur Angular pour la partie Web et sur Cordova pour la partie native. C'est bien plus clair qu'avec supinfo qui avait raté cette explication claire.


SOAT

C'est toujours marrant mais rien ne nous dit qu'ils sont sous Linux comme si c'était une évidence mais sous Windows alors comment fait-on ?

https://github.com/SoatGroup/ionic3-movie-app
Les sources du projet sous Github

Installation

npm
Donc en fait on peut peut-être bosser sous Windows ... à voir.

Un fois de plus ce tuto sur l'utilisation de Ionic par Développez.com est super bien fait  on créé une application de bout en bout.

Je reviendrais peut-être, pour ma part je retourne à Xamarin.

jeudi 12 juillet 2018

Les outils pour réaliser un design Web

Voilà un vaste sujet, sans fin mais je tiens a garder une trace d'un site que l'on m'avait indiqué pour y revenir et tenter de percer les mystères de ce site car en effet je n'ai pas réussi à trouver exactement de quoi il s'agissait.

Tout à l'air particulièrement intéressant mais je n'ai trouvé rien de concret, il faut aller plus loin télécharger et installer des pluggings utiliser les ressources misent à disposition ...

Ce site s'appelle MATERIAL DESIGN


https://material.io
Material Design

C'est en tous les cas un site très joli ...

https://material.io/design
Materiel Design

Avec plein de chose à découvrir et le Web Design est toujours un sujet extrêmement délicat. Alors je reviens pour tenter d'en découvrir un peu plus.

Ce site est couplé avec GitHub, voici un des points d'entré :

https://github.com/material-components
Material Components

Beaucoup de Matériels sont sous forme d'open source valables pour Android, iOS, Flutter. Créer par Google.

C'est énorme et en tant que Développeur et par la forces des choses Désigner, il ne faut pas passer à côté.

Par exemple, voici comment créer des icônes système ce qu'il faut faire et ce qu'il ne faut pas faire.

MATERIEL DESIGN System icons

System icons

Voici la partie Web :

MATERIAL DESIGN - Web
Et voilà, c'est parti, ce sont les premiers pas pour utiliser MATERIAL DESIGN pour le Web. C'est très enrichissant et on apprend plein de choses sur le Design d'UI que l'on appelle maintenant UX !

Comment réaliser un bon audit de codes sources ?

Le premier chapitre de la qualité logicielle nous dit que pour faire un bon logiciel il faut ... et puis il faut passer à la pratique. Alors je souhaite me munir des bons outils pour réaliser un bon audit de code sources.

C'est mon sujet du moment, il devrait m'intéresser pendant quelques temps.

Analyse statiques de code pour C#

Il existent de nombreux outils d'analyse statique de code source peu sont en C# et sinon chers.

SonarQube

C'est cher j'ai trouvé une page qui me vend une licence à 120 € pour 100 000 lignes de codes ba ba ba ... 
sonarqube developer edition
SonarQube Developer Edition
Une fois le formulaire rempli ...

SonarQube Developer Edition
SonarQube Developer Edition - purchase order 
Jusque là ce n'est pas trop cher mais on n'a absolument rien ...
En cherchant bien mais alors vraiment bien, ici on nous prédit une version Free & Open Source

SonarQube - Solution Free & Open Source
SonarQube - Solution Free & Open Source
Mais je n'y crois pas ... et sinon pour télécharger la version 7.1 c'est Ici.
Finalement j'ai cliqué là :

Community Edition

Et j'ai atterri là :


SonarQube
Pour finalement télécharger "the lastest release edition 7.1" ... 146 576 Ko d'installs pour toutes les plateformes de tous les OS et tous les langages ... bref ...

La suite je vous dis si cela fonctionne.

Autres outils d'analyse statique

Voilà un outil d'analyse statique de codes sources qui semble cool et pas cher ...
PMD


https://pmd.github.io/

Online Documentation
https://pmd.github.io/pmd-6.4.0/pmd_userdocs_getting_started.html

Mince ! Pas de C# et pourtant il m'y ont fait croire avec leur CPD déteur de code copier collé ...

Par quoi continuer mon audit de codes sources ?

Finalement je me retrouve un peu coincé, je continuerai plus tard ...

mercredi 23 mai 2018

C'est quoi un container Docker ?

On est en droit de se poser la question, disons qu'on est même obligé dans le métier du logiciel vous entendez maintenant ce mot de Docker avant c'était Machine Virtuelle. Mais surtout on se doit de trouver la bonne réponse.

Un container Docker permet d'embarquer une application qui s'exécute au sein du container. Docker se sert du Noyau Hote pour faire tourner l'application dans son container.


Docker c'est quoi ?
Container Docker c'est quoi ?

Voilà je tenais à avoir un début de réponse concernant ce sujet que je vais creuser jusqu'à utiliser maintenant des "container" plutôt que des machines virtuelles (plus lourdes et plus difficiles à utiliser du fait de cette lourdeur).

Pour la suite et pour l'instant, je vous renvois vers cet article qui m'a fait découvrir ce qu'est un Container Docker l'article :

Docker : la technologie qui révolutionne le cloud

Mise à jour 29/05/2018 - Maintenant je vais un peu plus loin

C'est étonnant cette réussite de Solomon Hykes, en quelques années, quelques mois, il réussit a fédérer autour de ses "container" ou conteneurs en français toute l'industrie informatique qui se rallie au standard de Docker de facto comme ils disent certainement car il n'y a pas d'autre standard.

Voici la vision Microsoftienne de l'utilisation des conteneurs pour les microservices :

https://docs.microsoft.com/fr-fr/dotnet/standard/microservices-architecture/
https://docs.microsoft.com/fr-fr/dotnet/standard/microservices-architecture/

Microservices .NET Architecture pour les applications .NET en conteneurs
Là on est au top de la techno dans l'Azure et les Containers ... au milieu du DevOps
Azure Container Service
Azure Service Fabric
C'est l'avènement des architectures en Microservices ... Monolithique vs Microservices ... bla bla bla

On plonge dans le vif du sujet.

Le projet de référence concernant .NET Core et les microservices sur GitHub : eShopOnContainers
Grâce à NET Core 2.0 et Docker engine, requis Visual Studio 2017

On passe sur le doc : Containerized-Docker-Application-Lifecycle-with-Microsoft-Platform-and-Tools-(eBook)_v1.1.pdf

Containers c'est mieux que Virtual Machine moins gourmant en ressources.

En bas de la page le bouton est cassé pour continuer de naviguer en français, utilisez le menu de gauche :

https://docs.microsoft.com/fr-fr/dotnet/standard/microservices-architecture/container-docker-introduction/
Introduction aux conteneurs et à Docker

Le gros .PDF c'est en fait la même chose que le site en ligne ... ? Donc on déroule le site, en français.
On y parle de Docker Hub :

Docker Hub by Docker

Il s'agit d'un registre pour votre collection d'images.
L'utilisation de registres d'images privés est recommandée dans les situations suivantes :
  • confidentialité
  • limitation de la latence du réseau
On peut générer des applications Docker avec .NET Framework ou .NET Core

Choisir .NET Core dans les cas suivants :
  • projets multi-plateforme
  • architecture basée sur les microservices
  • plus faible encombrement par conteneur
.NET Core est donc le choix par défaut lorsque l'on vuet créer des applications en conteneur.

Utiliser .NET Framework lorsque les applications :
  • sont fortement dépendantes de Windows
  • utilisent les API Windows non prise en charge
  • vous utilisez des Nugets non dispo pour .NET Core
Finalement le choix n'est pas si simple :


Quel OS comme cible avec .NET conteneur ?

Le saviez-vous, il existe des Images .NET Docker officielles de Microsoft :

https://hub.docker.com/u/microsoft/
Images officielles .NET Docker

Ce qui devrait grandement nous faciliter la vie.

Mais tout ceci est très Microsoftien ...

Par la suite dans l'architecture des applications basées sur les conteneurs et les microservices, il s'agit principalement de l'orchestrations des conteneurs comment spécifier à Docker par le Docker file qu'un conteneur s'exécute dans un processus que doit faire l'orchestrateur en cas de défaut d'un conteneur.

Mise en conteneur d'applications monolithiques

En premier lieu, dans les conteneurs,  il s'agit de déployer des applications monolithiques ainsi on n'a rien à faire concernant l'architecture de l'application mais ce modèle atteint rapidement ses limites lorsque l'application grossie.

Il faut également que l'application trouve dans le conteneur tout ce dont elle a besoin pour fonctionner ... sinon ... champignon !

Vision Microsoftienne : Publication d’une application basée sur un seul conteneur sur Azure App Service. Azure App Service est un excellent moyen de fournir des services évolutifs basés sur un seul conteneur. On publie l'application directement dans le conteneur à partir de Visual Studio.

Avec Docker, la prise en charge des conteneurs dans Visual Studio 2017 permet d'inclure tout ce que l'on veut dans l'environnement de l'application.

Remarques :
Les conteneurs sont par défaut "sans état".
Les conteneurs Docker ne sont pas obligatoires pour les architectures orientées services SOA et pour les architectures de microservices plus avancées.

Architectures Orientées Services SOA

Certaines personnes affirment que « l’architecture de microservice est une architecture SOA bien conçue ».

Si vous savez créer une application basée sur des microservices, vous savez également créer une application orientée services plus simple.

Conseils pour une architecture en microservices

Une Database privée par microservice :


https://docs.microsoft.com/fr-fr/dotnet/standard/microservices-architecture/architect-microservice-container-applications/distributed-data-management
Cohérence entre microservices

Communication entre microservices

On reste un peu sur notre faim, comme souvent avec ces longs articles à la manière de Microsoft, les vraies solutions de sont pas dévoilées ...

On vous parle de l'isolation un peu comme dans les architectures multi-processus isolation des données. Tout ceci est bien théorique !

Conception en microservices

Déterminer les limites du modèle de domaine pour chaque microservice, non en fonction de la taille même s'il faut tendre à de petits services mais en fonction de la connaissance du métier.

Communication directe de client à microservice et modèle de passerelle d’API

Les microservices ont des points de terminaison (End Point) ou port TCP.

Franchement ce schéma ne casse pas des briques

Conception d'applications de grande taille Questions à considérer.

To Be Continued

Ce post est devenu trop "Microsoft dépendant", je pensais qu'en partant de Container Docker et Architecture en microservices on ne tomberait pas aussi rapidement et aussi profondément dans les griffes de l'Azure microsoftienne... C'est bon à connaître mais ce n'est pas seule utilisation des Container Docker.

Bref à compléter ...

I should not forget to go to the beach :-))

Have fun!

jeudi 3 mai 2018

GitLab comment exporter son Wiki ?

Vous utilisez GitLab et vous avez écris des pages Wiki mais comment faire pour les exporter et pour réutiliser vos pages dans un autre GitLab ou ailleurs dans un GitHub ?

Venez, c'est par ici, suivez moi.

GitLab comment exporter son Wiki ?
GitLab - Les pages wiki de mon projet

Nous voyons le bouton "Clone repository", cliquons dessus :

GitLab comment exporter son Wiki ?
GitLab - Les pages wiki Clone repository

Maintenant, on nous demande d'installer un outil "Gollum" ce n'est pas très joli (gollum il est lait ;)

Oui mais un Gem c'est quoi ? Gem

Et Gollum ? Gollum

Encore un de ces outils Linuxien ... Installer Gollum Wiki sur Ubuntu

Qu'elle Daube ! Sans parler de gollum/gollum

Syntaxe et explications sur les fichiers Gollum

On est bien avancé ! Et si on clonait tout simplement ... voici la commande Clone your wiki :

>git clone https://username@gitlab.societe.fr/MonProjet/Documentation.wiki.git

Clone de mon Wiki avec Git - Oui je sais ma console est verte
Clone de mon Wiki avec Git - Oui je sais ma console est verte

On se retrouve alors avec un sous répertoire "Documentation.wiki" dans lequel on retrouve, pour chaque page wiki, un fichier .md bien connu des utilisateurs de Git c'est un fichier MarkDown.

GitLab - Mon Wiki cloné dans le répertoire "Mon projet.wiki"

Et vous le comprenez en voyant le répertoire ".git" que ce répertoire est maintenant un repo git à part entière. Il vous suffit d'installer un éditeur de fichiers .md pour travailler sur votre wiki en local et de faire un git commit par la suite ... Pour retrouver vos pages modifiées dans GitLab, c'est super bien fait ! Non ?

Nous venons d'apprendre à développer la documentation de votre projet sous forme de Wiki dans Github.

CQFD !

jeudi 29 mars 2018

Git tuto rapide no bullshit

Vous cherchez un tuto complet et ultra-rapide pour réaliser la gestion des configurations de vos codes sources avec Git ? C'est ici.
Git Tuto rapide

Créer un nouveau dépôt Git

Pour créez un nouveau dossier, ouvrez le (placez vous dans le dossier à "giter") et exécutez la commande :

>git init

vous créez ainsi un nouveau dépôt.

Cloner un dépôt Git

Créez une copie de votre dépôt local en exécutant la commande :

>git clone /path/to/repository

Si vous utilisez un serveur distant, cette commande sera :

>git clone username@host:/path/to/repository

Les 3 Arbres

Votre dépôt local est composé de trois "arbres" gérés par git.
Le premier est votre espace de travail qui contient réellement vos fichiers.
Le second est un Index qui joue un rôle d'espace de transit pour vos fichiers et enfin HEAD
qui pointe vers la dernière validation que vous ayez faite.

Ajouter & valider

Vous pouvez proposer un changement (l'ajouter à l'Index) en exécutant les commandes :

>git add <filename>
>git add *


C'est la première étape dans un workflow git basique.
Pour valider ces changements, utilisez :

>git commit -m "Votre message de validation explicite"

Le fichier est donc ajouté au HEAD, mais pas encore dans votre dépôt distant.

Envoyer des changements

Vos changements sont maintenant dans le HEAD de la copie de votre dépôt local. Pour les envoyer à votre dépôt distant, exécutez la commande :

>git push origin master


Remplacez master par la branche dans laquelle vous souhaitez envoyer vos changements par exemple developement.

Si vous n'avez pas cloné votre dépôt existant et voulez le connecter à votre dépôt sur un serveur distant, vous devez l'ajouter avec :

>git remote add origin <server>

Maintenant, vous pouvez envoyer vos changements vers le serveur distant sélectionné

Branches

Les branches sont utilisées pour développer des fonctionnalités isolées des autres. La branche master est la branche par défaut quand vous créez un dépôt. Utilisez les autres branches pour le développement et fusionnez ensuite à la branche principale quand vous avez fini.

Créer une nouvelle branche nommée "feature_x" et changer la branche pour passer dessus utilisez :

>git checkout -b feature_x

Retourner sur la branche principale :

>git checkout master

et supprimer alors la branche secondaire :

>git branch -d feature_x

Une branche n'est pas disponible pour les autres tant que vous ne l'aurez pas envoyée vers votre dépôt distant :

>git push origin <branch>

Mettre à jour & fusionner

Pour savoir sur quelle branche vous êtes et dans quel état elle est :

>git status

Pour mettre à jour votre dépôt local vers les dernières validations, exécutez la commande :

>git pull

Pour vous positionner sur la branche master :

>git checkout master

Dans votre espace de travail pour récupérer et fusionner les changements distants.
Pour fusionner une autre branche avec la branche active (par exemple master), utilisez :

>git merge <branch>

Dans les deux cas, git tente d'auto-fusionner les changements. Malheureusement, ça n'est pas toujours possible et il en résulte des conflits. Vous devez alors régler ces conflits manuellement en éditant les fichiers indiqués par git. Après l'avoir fait, vous devez les marquer comme fusionnés avec la commande :

>git add <filename>

Après avoir fusionné les changements, vous pouvez en avoir un aperçu en utilisant :

>git diff <source_branch> <target_branch>

Tags

Il est nettement recommandé de créer des tags pour les releases de programmes. C'est un concept connu, qui existe aussi dans SVN et c'est tout simple. Vous pouvez créer un tag nommé 1.0.0 en exécutant la commande :

>git tag 1.0.0 1b3a1d62ff

Le 1b3a1d62ff désigne les 10 premiers caractères de l'identifiant du changement que vous voulez référencer avec ce tag. Vous pouvez obtenir cet identifiant avec :

>git log

Vous pouvez utiliser moins de caractères pour cet identifiant, il doit juste rester unique.

Remplacer les changements locaux

Dans le cas où, vous auriez fait quelque chose de travers (ce qui bien entendu n'arrive jamais ;) Vous pouvez annuler les changements locaux en utilisant cette commande :

>git checkout --<filename>

Cela remplacera les changements dans votre arbre de travail avec le dernier contenu du HEAD. Les changements déjà ajoutés à l'index, aussi bien les nouveaux fichiers, seront gardés.

Si à la place, vous voulez supprimer tous les changements et les validations locales, récupérer le dernier historique depuis le serveur et pointer la branche principale locale dessus, procédez comme ceci :

>git fetch origin
>git reset --hard origin/master

Voilà, ce tuto est déjà terminé !

Merci à la page du site Ici mais je me serais bien passer de la mise en page disons trop ... heu comment dire ... ball shit justement ! 

Have fun!

Références :
https://blog.imirhil.fr/2013/04/14/git-gestion-de-conf-aujourdhui.html
Plus qu'un article sur les Gestionnaires de conf CSV, SVN et les autres une vraie bonne critique de ce qui se fait en matière de gestion de configuration.

http://nvie.com/posts/a-successful-git-branching-model/
Gestion des branches un diagramme de toute beauté

http://rogerdudler.github.io/git-guide/index.fr.html
Cette page est vraiment pas ... cool mais bon c'est bien fait


Outils Redmine de gestion de projet - Workflow et Tracker ou Intéractions

Vous pouvez avoir travaillé avec Redmine sans connaitre la totalité du Workflow car on ne vous a jamais expliqué les différents rôles et les différentes actions possibles en fonction du rôle que l'on vous a attribué. Ceci n'est pas exhaustif malheureusement pour avoir la totalité des rôles et des workflows associés il faut être le "grand master central".

Mais voici quand même mes notes dans deux rôles principaux : le Client gestionnaire et le Responsable projet pour un type d’interaction : L'Anomalie

Workflow Redmine pour le Client gestionnaire

Gestion d'une Anomalie pour le Client gestionnaire

Workflow Redmine pour le Responsable Projet

Gestion d'une Anomalie pour le Responsable projet

J'appelle cela une interaction car il s'agit bien d'échange de quantité de travail entre les différents intervenants dans Redmine le terme utilisé en anglais est Tracker.

Voilà donc également les différents types d'interactions (ou Trackers) :

  • Exigence
  • Evolution
  • Anomalie
  • Assitance
  • Organisation
  • Tâche

Avec ça on a une bonne vision globale du "Workflow" dans Redmine. J'aurais aimé un graphique un schéma plutôt qu'un tableau mais je pense qu'il est difficile à réaliser entièrement vous pourrez vous même le faire pour explicité (rendre plus compréhensible) certaines partie du Workflow de Redmine.

Les modules de Redmine

L'onglet Configuration de Redmine permet de d'installer ou non différents modules :

Configuration de Redmine - Les modules

Redmine est un outil très complet, collaboratif qui permet de travailler en toute sérénité avec une équipe de développement élargie.

  • Suivi des demandes
  • Suivi du temps passé
  • Publication d'annonces 
  • Publication de fichiers
  • Wiki
  • Dépôt de sources 
  • Forums de discussion
  • Clandrier
  • Gantt
  • Agile
  • Revues de code

Voilà, on à vu très rapidement les éléments qui permettent de gérer le Workflow des tickets au sein de Redmine.

mercredi 14 mars 2018

C'est quoi le Release Management

C'est quoi ou What is, le Release Management ? Ok c'est une étape vers l'acquisition de la culture DevOps mais encore ? C'est qu'elle étape au sein du processus Agile.

                        DEV                               |                                 OPS
Define Sprint Deliver Product Backlog | Monitor Release Pipeline Curtomers Operate

Le release management c'est automatiser l'étape entre le delivery Dev et le Release Pipeline Ops.

PowerShell/CLI

Scripts permettant d'automatiser toutes les étapes
Security
Active directory
Team foundation Server Groups

Database Changes

SSDT

Have rollback strategy

Triggering Releases

Command Line
REST API

Bon alors évidemment là c'est pour vendre du Azure mais le principe serait le même sur d'autres infras si tant est que l'on puisse mettre en place les outils équivalents.

Azure

Azure Power Shell
IaaS
PaaS
SaaS



Key Features
Configuration as Code

samedi 3 mars 2018

TortoiseGit et Tuto Git ce que manquait pour bien démarrer

Vous ne vous en sortez pas avec uniquement Git en ligne de commande et même avec Git UI c'est pas encore ça. En installant TortoiseGit on espère bien que tout va s'arranger. Voilà ce qu'il manquait.

TortoiseGit

Création d'un repo Git en local sur mon Disque Dur

Grâce à Git, je peux créer un "repo Git" où je veux, il me suffit de cliquer droit sur n'importe quel répertoire :


Bon ya encore une popup de daub(bip) à cliquer ...


Pffff c'est lourd c'est trucs linuxiens à la con(bip)
Ce qui est cool avec git c'est qu'en supprimant le répertoire ".git" on est déconnecté du gestionnaire de codes sources. On peut faire un peu la même chose avec TFS mais c'est légèrement plus compliqué, il faut aller dans le fichier .csproj supprimer des lignes c'est délicat.

Et voilà ce qu'il me maquait la liaison avec Github, jusque là on pouvait penser que c'était de la magie.

Création d'un repositorie distant dans mon Github

Dans mon Github, j'ai créer également un nouveau repositorie :



Liaison le Repositorie Git Local et le Repositorie Git Distant

Je retourne sur le repositorie locale et je fais Bouton droit -> TortoiseGit -> Settings


Bouton droit->TortoiseGit->Settings
Dans TortoiseGit Settings -> Git -> Remote



On progresse, on progresse



Il suffit d'entrer l'URL du repositorie Github distant, en cliquant sur OK un boite de dial :


Allons y Fetchons ... encore un boite de dial ...



Encore un petit OK ca devrait arriver ...



Voilà : git.exe fetch -v --porgress "RFID-CloverWiever" : Succcess

Cette fois on dirait bien cela y est !

Regardons les logs par curiosité :



Cette fois on y est ...

Voilà donc comment lié un repositorie locale et un repositorie distant dans Github grâce à TortoiseGit.

Have fun!