vendredi 23 novembre 2018

Découvrons les outils de la Business Intelligence (BI ou décisionnel)

A quoi servent ces outils de la Business Intelligence quels sont-ils ? Comment comprendre leurs fonctionnalités pour les mettre en œuvre rapidement. Il me semble que cela concerne le traitement des données d'une base de donnée mais pas seulement.

Les outils de la Business Intelligence (BI)
Les outils de la Business Intelligence (BI)

Je tombe sur une annonce pour l'emploi de la société Business & Decision : ils cherchent un Consultant Talend au sein du Business & Decision Corporate Services et dans l'annonce il est stipulé que bien évidemment : "Vous maitrisez au moins un outil décisionnel (ODI, Datastage, Informatica, Qlikview, Tableau Software, BO, Cognos, Talend, Power BI, SQL Server, Oracle, etc)

J'avoue, je suis surpris par autant d'outils et en même temps je trouve cela un peu présomptueux de connaitre tout cela. Forcément je connais SQL Server et encore pas complétement les outils BI qui sont autour d'SQL Server. Je connais également Oracle pour avoir été obligé de travailler avec.

Alors faisons le tour de tous ces outils de la Business Intelligence (BI) afin de voir ce que cela implique comme connaissances et ce que l'on va bien pouvoir faire avec ça.

Power BI

On plutôt Microsoft Power BI, c'est un outil d'analyse qui délivre des insights qui permettent des décisions rapides, en toutes connaissances de causes.
Passez des données aux insights en quelques minutes.

Du blabla non ?

Microsoft Power BI
Microsoft Power BI

Des graphiques pour analyser vos données.


Télécharger gratuitement
Un .msi  de  200 Mo pour l'installation de Power BI Desktop.

Talend

Puisque cet outil de Business Intelligence qui est mis en avant dans l'annonce APEC que je sitais ci dessus, voici donc Talend outil BI :

Talend : Déplacez vos données
Talend : Déplacez vos données

Cette fois ce n'est pas facile de comprendre ce que fait cet outil. A peine vous cliquez on vous vous inscrire dans une appli web pour faire un essai de 30 jours !

talend - S'enregistrer
talend - S'enregistrer

Oui d'accord s'enregistrer mais pourquoi faire, ce n'est pas claire.

talend - Big data - Data integration - Data preparation
talend - Big data - Data integration - Data preparation

Et maintenant trois outils différents c'est encore moins claire.

Le menu Solutions

talend - les Solutions
talend - les Solutions

Je comprends que les outils BI talend peuvent adresser tous les clouds AWS, Azure, Google, Snowflake, Cloudéra Altus, Hadoop,

Peut être que le début commence avec TALEND DATA FABRIC

talend data fabric
talend data fabric

Et tout redevient flou où aller ? ESSAI GRATUIT ? Un formulaire pour demande votre version d'essai gratuite.

Il existe par ailleurs nombre d'outils gratuits :

talend outils gratuits
talend data fabric - outils gratuits

Alors j'ai eu l'occasion d'utiliser Talend et je dois dire que c'est un formidable outils de BI pour manipuler organiser les données de vos bases de données. Au moment où je l'ai utilisé il était gratuit sans restriction vous pouviez tout faire et des fonctionnalités il y en a.

C'est un outil graphique très facile à utiliser que je vous recommande.

Informatica

Outils d'intégration de données créer en 1993

Qlikview

Tableau Software

BO

Business Object

Cognos
SQL Server
Oracle

Imaginez ... et à continuer. Voici, c'était le monde de la Business Intelligence (le monde du décisionnel)

To Be Continued!

Connaissez-vous Kubernetes ? Outil du DevOps

Parmi les outils du DevOps voici Kubernetes, un outil qui a le vent en poupe. Intéressons nous aux fonctionnalités qu'il procure. Cet outil permet de gérer les applications mises en containers.

Les outils du DevOps Kubernetes
Les outils du DevOps Kubernetes

Définition : Kubernetes est un système open source permettant de gérer des applications contenairisées sur des hôtes multiples. Il fournit des mécanismes de base pour le déploiement, la maintenance et la mise à l'échelle (scale up) d'applications.

Ce projet open source est hébergé par le Cloud Native Computing Foundation (CNCF).

J'ai trouvé à travers la documentation quelque graphiques simples pour présenter cet outil :

Learn Kubernetes Basics

Qu'est-ce que Kubernetes peut faire pour nous ?

Avec les services Web modernes, les utilisateurs s'attendent à ce que les applications soient disponibles 24 heures sur 24, 7 jours sur 7, et les développeurs s'attendent à déployer de nouvelles versions de ces applications plusieurs fois par jour. 

La containeurisation aide les progiciels à atteindre ces objectifs, permettant ainsi aux applications d'être publiées et mises à jour de manière simple et rapide, sans temps d'arrêt.

Kubernetes vous aide à vous assurer que ces applications containeurisées s'exécutent où et quand vous le souhaitez et les aide à trouver les ressources et les outils dont elles ont besoin pour fonctionner.

Kubernetes est une plate-forme open source prête pour la production, conçue avec l'expérience accumulée de Google dans l'orchestration de conteneurs, associée aux meilleures idées de la communauté.

Kubernetes Basics Modules - Basic workflow

  1. Créer un cluster Kubernetes
  2. Deployer une application
  3. Explorer votre application
  4. Exposer votre application publiquement
  5. Scale up votre application
  6. Mettre à jour votre application

Voilà c'est tout pour l'instant, je garde en tête le nom de cet outil et s'il permet de faire facilement tout cela. Dans le cadre du DevOps, il est indispensable d'automatiser toutes les tâches possibles pas seulement pour gagner du temps mais pour supprimer les erreurs humaines également.

J'ai passé du temps à recueillir ces informations et pourtant ce n'est pas exhaustif, je ne sais même pas sur quelle plateforme cet outil s'installe !

Mise à jour, de plus en plus de client cherchent des compétences sur Kubernetes

Je me suis retrouvé dans un Bootcamp :

kubernetes bootcamp 1
kubernetes bootcamp 1

La seule commande que j'ai su taper c'est :

>exit

En fait, il faut cliquer sur les commandes dans la fenêtre de gauche sous "Cluster up and running" et vous verrez les commandes :

>minikube version

>minikube start ...

Vous avez alors les commandes qui s'exécutent et affichent leur déroulement dans la console.

Kubernetes dans le Cloud Azure de Microsoft

Je trouve toute une littérature sur le sujet, sur le site de Microsoft je trouve :

Kubernetes dans le Cloud Azure
Kubernetes dans le Cloud Azure

Microsoft - Azure Kubernetes Service (AKS)

AKS réduit la complexité et les coûts opérationnels liés à la gestion de Kubernetes en déléguant une grande partie de cette responsabilité à Azure.

Beaucoup de blabla, pas de cas pratique, beaucoup de liens vers d'autres technos. C'est normal, la complexité de Kubernetes ne s'appréhende pas en une demi-journée.

J'ouvre mon portail Azure et je cherche Kubernetes, je trouve "Kubernetes - Azure Arc", alors Azure Arc c'est quoi ? ... Ils appellent cela : Hybride et multicloud

Il me faut creuser encore ...

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