Archive

Category Archives for "Astuces"

WordPress theme editor is missing / L’éditeur de thème WordPress activer

It is probably because of iThemes Security and its settings. So yeah, just go to wp-config and change DISALLOW_FILE_EDIT to false.

define( 'DISALLOW_FILE_EDIT', false );

Or just switch it off here: Dashboard -> Security -> WordPress Tweaks -> Configure Settings

Uncheck: Disable File Editor

Open up your wp-config.php file, and search for

define('DISALLOW_FILE_EDIT', true);

Change true to false:

define('DISALLOW_FILE_EDIT', false);


To enable the theme editor, follow these steps:

  1. Go to Appearance, select one theme (any one you like) and activate it.
  2. In this activated theme, go to Appearance → Editor → select the theme to edit (on the top right, above Templates. There is a drop-down click on it and select your previous theme.)
  3. Now select config.php or demo config.php and remove the define ( ‘DISALLOW_FILE_EDIT, true); code.
  4. Now click on Update file.
  5. Now change the theme to your previous theme.

Now you can find your editor in the Appearance drop-down.

At root directory of your wordpress. Open up your wp-config.php file, and search for

define('DISALLOW_FILE_EDIT', true);

Change true to false:

define('DISALLOW_FILE_EDIT', false);



---

C’est probablement à cause de iThemes Security et de ses paramètres. Alors oui, allez simplement dans wp-config et changez DISALLOW_FILE_EDIT en false.

define( ‘DISALLOW_FILE_EDIT’, false );

Ou désactivez-le simplement ici : Tableau de bord -> Sécurité -> Tweaks WordPress -> Configurer les paramètres

Décocher : désactiver l’éditeur de fichiers

Ouvrez votre fichier wp-config.php et recherchez

define(‘DISALLOW_FILE_EDIT’, true);

Remplacez vrai par faux :

define(‘DISALLOW_FILE_EDIT’, false);

 

Pour activer l’éditeur de thème, procédez comme suit :

Accédez à Apparence, sélectionnez un thème (celui que vous aimez) et activez-le.
Dans ce thème activé, accédez à Apparence → Éditeur → sélectionnez le thème à modifier (en haut à droite, au-dessus de Modèles. Il y a un menu déroulant, cliquez dessus et sélectionnez votre thème précédent.)
Maintenant, sélectionnez config.php ou demo config.php et supprimez la définition ( ‘DISALLOW_FILE_EDIT, true ); code.
Cliquez maintenant sur Mettre à jour le fichier.
Remplacez maintenant le thème par votre thème précédent.

Vous pouvez maintenant trouver votre éditeur dans la liste déroulante Apparence.

 

Au répertoire racine de votre wordpress. Ouvrez votre fichier wp-config.php et recherchez

define(‘DISALLOW_FILE_EDIT’, true);

Remplacez vrai par faux :

define(‘DISALLOW_FILE_EDIT’, false);

8 outils gratuits pour minifier vos fichiers CSS, HTML et JavaScript

Minifier vos fichiers CSS, HTML et JavaScript est indispensable pour optimiser votre site web. L’intérêt est double : technique et SEO.

Vous allez retirer le code inutile de vos fichiers, améliorez le temps de chargement de votre page et en conséquence votre SEO.

La minification : comment ça marche ?

Le processus de minimisation vise à supprimer de votre code :

  • Les espaces inutiles
  • Les commentaires des développeurs
  • Les sauts de ligne
  • Les délimiteurs de blocs

Tous ces caractères sont utiles en phase de développement pour lire votre code, mais peuvent polluer votre site une fois en production. Les supprimer n’empêchera pas que votre code s’exécute correctement. En revanche, les bénéfices sont immédiats sur la rapidité de chargement de vos pages.

Ce processus de minification des fichiers peut se faire à la main, mais il est conseillé de profiter des outils qui le font automatiquement ! Voici une sélection des plus utilisés.

Méthode 1 : le copier-coller

La première possibilité est d’avoir un outil en ligne et de tout simplement copier-coller votre code dans la fenêtre prévue à cet effet. En alternative, vous pouvez aussi mettre directement l’URL de votre fichier JavaScript ou CSS.

C’est le principe de deux outils que l’on vous propose de découvrir.

Minifier.org

Très simple d’utilisation, Minifier.org “nettoie” votre code rapidement et rend votre site plus léger et performant.

Minifier.org

Outil en ligne gratuit. Fichiers pris en charge : CSS, JS

Compress My Code

Beaucoup plus complet, on vous conseille Compress My Code si vous souhaitez profiter d’options comme :

  • La conservation des commentaires après minification
  • La conservation des commentaires uniquement dans les blocs de style ou de script.
  • La prise en compte des balises HTML sans fermeture comme par exemple : <br>

Outil en ligne gratuit. Fichiers pris en charge : CSS, JS, HMTL

Méthode 2 : les outils intégrés

Les Plugins pour le CMS WordPress

Cette méthode de minification est une bonne pratique à mettre en place systématiquement. Cependant, les copier-coller peuvent rapidement être chronophages et sources d’erreur.

Si vous utilisez un CMS comme WordPress, il est donc préférable d’installer un plugin intégré qui vous permettra d’automatiser la démarche.

Better WordPress Minify

Better WordPress Minify est un outil très complet et puissant qui optimise la compatibilité avec d’autres plugins et les thèmes WordPress.

Better Minify

Plugin gratuit. Fichiers pris en charge : CSS, JS

AssetsMinify

Moins complet que Better WordPress Minify, AssetsMinify offre tout de même le choix d’exclure certains fichiers et par exemple de compresser ou non les scripts.

Plugin gratuit. Fichiers pris en charge : CSS, JS

WP Super Minify

WP Super Minify est un bon plugin pour minifier ses fichiers si vous n’avez pas besoin d’en exclure certains. Son petit plus : il calcule les performances que vous avez gagnées après son installation.

WP Super Minify

Plugin gratuit. Fichiers pris en charge : CSS, JS, HTML

Fast Velocity Minify

Fast Velocity Minify est un plugin complet qui vous permet également de vider le cache, de synchroniser les tags HTML5 et de choisir le chargement du JavaScript dans le header ou le footer.

Plugin gratuit. Fichiers pris en charge : CSS, JS, HTML

Les outils intégrés pour Symfony

Si vous développez en PHP avec le framework Symfony, vous pourrez aussi intégrer un outil de minification de votre code. Gratuit, le Webpack Encore permet d’optimiser et automatiser votre démarche de minification des fichiers CSS et JavaScript .

Méthode 3 : les outils cloud

Vous pouvez enfin opter pour un outil qui fera double emploi.

Par exemple Cloud Flare est un proxy. Il protège donc votre site contre les attaques DDos et offre gratuitement un option de minification automatique de votre fichiers CSS, JavaScript et HTML.

Dernière étape, après avoir mis en place votre outil ou plugin de minification, mesurez votre résultats. L’outil GTmetrix vous aidera à analyser si votre minification est bien effective. Faites aussi un test avant/après en comparant le temps chargement votre page d’accueil avec Google Page Speed.

12 meilleurs outils de revue de code pour les développeurs (édition 2021)

La revue de code fait partie du processus de développement de logiciels qui consiste à tester le code source pour identifier les bogues à un stade précoce. Un processus de revue de code est généralement mené avant la fusion avec le code de base.

Une revue efficace du code permet d’éviter que des bogues et des erreurs ne se glissent dans votre projet en améliorant la qualité du code à un stade précoce du processus de développement du logiciel.

Dans cet article, nous expliquerons ce qu’est la revue de code et nous explorerons les outils populaires de revue de code qui aident les organisations dans le processus de revue de code.

Qu’est-ce que le processus de revue de code ?

L’objectif principal du processus de la revue de code est d’évaluer tout nouveau code afin de détecter les bogues, les erreurs et les normes de qualité fixées par l’organisation. Le processus de revue de code ne doit pas se limiter à un simple retour d’information unilatéral. Par conséquent, un avantage intangible du processus de revue de code est l’amélioration collective des compétences de codage de l’équipe.

Si vous souhaitez lancer un processus de revue de code dans votre organisation, vous devez d’abord décider qui passera en revue le code. Si vous faites partie d’une petite équipe, vous pouvez désigner des chefs d’équipe pour passer en revue l’ensemble du code. Dans une équipe plus importante avec plusieurs examinateurs, vous pouvez mettre en place un processus dans lequel chaque revue de code est confiée à un développeur expérimenté en fonction de sa charge de travail.

La prochaine étape consiste à déterminer les délais, les cycles et les exigences minimales pour la soumission des demandes de revue de code.

Le dernier point concerne la manière dont le retour d’information doit être donné dans le processus de revue de code. Veillez à mettre en évidence les aspects positifs du code tout en suggérant des alternatives aux inconvénients.

Vos retours doivent être suffisamment constructifs pour encourager le développeur à comprendre votre point de vue et à engager une conversation si nécessaire.

Gardez vos retours instructifs

Gardez vos retours instructifs

Il est facile pour les revues de code de rester coincées dans les limbes, ce qui les rend moins efficaces et même contre-productives.

Ne laissez pas les bugs et les erreurs affecter le dur travail que vous avez accompli dans le cadre de votre projet 🐛 Trouvez les meilleurs outils de revue de code grâce à ce guide ⤵️CLICK TO TWEET

Pourquoi la revue de code est-elle essentielle ?

Le processus de revue de code est essentiel car il ne fait jamais partie du programme scolaire officiel. Vous pouvez apprendre les nuances d’un langage de programmation et de la gestion de projet, mais la revue de code est un processus qui évolue avec l’âge d’une organisation.

La revue de code est essentielle pour les raisons suivantes :

  • Vous assurer qu’il n’y a pas de bogue dans le code.
  • Minimiser vos chances d’avoir des problèmes.
  • Confirmer que le nouveau code respecte les lignes directrices.
  • Augmenter l’efficacité du nouveau code.

La revue de code permet en outre d’améliorer l’expertise des autres membres de l’équipe. Comme un développeur senior effectue généralement une revue de code, un développeur junior peut utiliser ce retour d’information pour améliorer son propre codage.

Comment effectuer une revue de code ?

Il existe quatre façons de procéder à une revue de code.

Analyse par-dessus l’épaule

Les revues de code sont effectuées sur le poste de travail du développeur, où un membre expérimenté de l’équipe parcourt le nouveau code, en faisant des suggestions au cours d’une conversation. Il s’agit de l’approche la plus simple pour les revues de code et elle ne nécessite pas de structure prédéfinie.

Cette revue de code peut encore se faire de manière informelle aujourd’hui, en même temps qu’un processus formel de revue de code qui peut être mis en place. Les revues de code se faisaient traditionnellement en personne, tandis que les équipes distribuées peuvent également suivre cette méthode grâce à des outils de collaboration.

Notification par email

Bien que les revues de code par-dessus l’épaule soient un excellent moyen d’examiner un nouveau code, les équipes géographiquement réparties ont traditionnellement recours au courrier électronique pour les revues de code.

Dans ce processus de révision du code, un développeur envoie par e-mail un ensemble de modifications à toute l’équipe de développement, généralement par le biais de systèmes de contrôle de version qui automatisent les notifications. Cet e-mail déclenche une conversation sur les changements, au cours de laquelle les membres de l’équipe peuvent demander des modifications supplémentaires, signaler des erreurs ou demander des clarifications.

L'e-mail circule dans les groupes Google à chaque nouvelle poussée

L’e-mail circule dans les groupes Google à chaque nouvelle poussée

Au début, le courrier électronique était le principal moyen de communication en raison de sa polyvalence. Les organisations de logiciels libres tenaient souvent une liste de diffusion publique, qui servait également de moyen de discussion et de retour d’information sur le code.

Avec l’avènement des outils de revue de code, ces listes de diffusion existent toujours, mais principalement pour les annonces et les discussions ultérieures.

Programmation en binôme

La programmation en binôme peut parfois être inefficace

La programmation en binôme peut parfois être inefficace

La programmation en binôme est un processus de révision continue des codes. Deux développeurs sont assis sur un poste de travail, mais seul l’un d’eux code activement tandis que l’autre fournit un retour d’information en temps réel.

Bien que cela puisse être un excellent outil pour inspecter les nouveaux codes et former les développeurs, cela pourrait s’avérer inefficace en raison de sa nature chronophage. Ce processus empêche l’examinateur d’effectuer tout autre travail productif pendant la période.

Utilisation d’outil

Un processus de revue de code assisté par un outil implique l’utilisation d’un outil spécialisé pour faciliter le processus de revue de code. Un outil vous aide généralement à effectuer les tâches suivantes :

  • Organiser et afficher les fichiers mis à jour dans une modification.
  • Faciliter une conversation entre les évaluateurs et les développeurs.
  • Évaluer l’efficacité du processus de revue de code à l’aide de mesures.

Bien qu’il s’agisse là des exigences générales d’un outil de revue de code, les outils modernes peuvent offrir une poignée d’autres fonctions. Nous examinerons une série d’outils de revue de code plus loin dans cet article.

Pourquoi utiliser les outils de revue de code ?

Le principal résultat d’un processus de revue de code est d’accroître l’efficacité. Si ces méthodes traditionnelles de revue de code ont fonctionné dans le passé, vous risquez de perdre de l’efficacité si vous n’avez pas adopté un outil de revue de code. Un outil de revue de code automatise le processus de revue de code de sorte qu’un examinateur se concentre uniquement sur le code.

Un outil de revue de code s’intègre à votre cycle de développement pour lancer une revue de code avant que le nouveau code ne soit fusionné dans la base principale du code. Vous pouvez choisir un outil compatible avec votre pile technologique pour l’intégrer de manière transparente dans votre flux de travail.

Par exemple, si vous utilisez Git pour la gestion du code, TravisCI pour l’intégration continue, assurez-vous de choisir un outil qui supporte ces technologies pour pouvoir s’intégrer dans le processus de développement.

Il existe deux types de tests de code dans le développement de logiciels : dynamique et statique.

L’analyse dynamique consiste à vérifier si le code suit un ensemble de règles et à exécuter des tests unitaires, généralement réalisés par un script prédéfini. Les tests statiques du code sont effectués après qu’un développeur ait créé un nouveau code à fusionner avec le code actuel.

Plongeons maintenant dans quelques-uns des outils de revue de code les plus populaires !

Un regard plus approfondi sur 12 puissants outils de revue de code

Dans cette section, nous passons en revue les outils les plus populaires d’examen de code statique.

1. Review Board

Review Board est un outil en ligne, open source pour la revue de code. Pour tester cet outil de revue de code, vous pouvez soit explorer la démo sur leur site web, soit télécharger et installer le logiciel sur votre serveur.

Vue d'ensemble de Review Board

Vue d’ensemble de Review Board

Le langage de programmation Python et ses installateurs, MySQL ou PostgreSQL comme base de données, et un serveur web sont les conditions préalables pour faire fonctionner Review Board sur un serveur.

Vous pouvez intégrer Review Board avec un large éventail de systèmes de contrôle de version – Git, Mercurial, CVS, Subversion et Perforce. Vous pouvez également relier Review Board à Amazon S3 pour stocker des captures d’écran directement dans l’outil.

Review Board Vue d'ensemble des changements

Review Board Vue d’ensemble des changements

Review Board vous permet d’effectuer des revues de code avant et après l’engagement, selon vos besoins. Si vous n’avez pas intégré de système de contrôle de version, vous pouvez utiliser un fichier diff pour téléverser les modifications de code dans l’outil pour un examen.

Une comparaison graphique des changements de votre code est également fournie. En plus des revues de code, Review Boaard vous permet également de procéder à la revue des documents.

La première version de Review Board est sortie il y a plus de dix ans, mais elle est toujours en cours de développement. Par conséquent, la communauté pour Review Board a grandi au fil des ans et vous trouverez probablement du soutien si vous avez des problèmes en utilisant l’outil.

Review Board est un outil simple de revue de code, que vous pouvez héberger sur votre serveur. Vous devez l’essayer si vous ne souhaitez pas héberger votre code sur un site web public.

2. Crucible

Crucible est un outil collaboratif de revue de code par Atlassian. C’est une suite d’outils commerciaux qui vous permet de réviser du code, de discuter des changements de plans et d’identifier les bogues dans une multitude de systèmes de contrôle de version.

Crucible propose deux plans de paiement, l’un pour les petites équipes et l’autre pour les entreprises. Pour une petite équipe, vous devez effectuer un paiement unique de 10 $ pour un nombre illimité de dépôts, limité à cinq utilisateurs. Pour les grandes équipes, les frais commencent à 1100 $ pour dix utilisateurs et des dépôts illimités.

Ces deux plans offrent un essai gratuit de 30 jours sans avoir besoin de carte bancaire.

Outil de revue de code Crucible

Outil de revue de code Crucible (Source)

Tout comme Review Board, Crucible prend en charge un grand nombre de systèmes de contrôle de version – SVN, Git, Mercurial, CVS et Perforce. Sa fonction principale est de vous permettre d’effectuer des revues de code. En plus des commentaires généraux sur le code, il vous permet de faire des commentaires en ligne dans la vue des diffs afin d’identifier exactement ce à quoi vous faites référence spécifiquement.

Crucible s’intègre bien avec les autres produits d’entreprise d’Atlassian comme Confluence et Enterprise BitBucket. Cependant, vous tirerez peut-être le meilleur parti de Crucible en l’utilisant avec Jira, Atlassian’s Issue et Project Tracker. Il vous permet d’effectuer des revues et des audits avant engagement sur le code fusionné.

3. GitHub

Si vous utilisez GitHub pour maintenir vos dépôts Git sur le Cloud, vous avez peut-être déjà utilisé des forks et des demandes de revue de code. Au cas où vous n’auriez aucune idée de ce qu’est GitHub, voici un guide pour débutants sur GitHub et les différences entre Git et GitHub.

Outil de revue de code GitHub dans le cadre d'une Pull Request

Outil de revue de code GitHub dans le cadre d’une Pull Request

GitHub dispose d’un outil intégré de revue de code dans ses demandes d’extraction (Pull Request). L’outil de revue de code est intégré au service de base de GitHub, qui fournit un plan gratuit pour les développeurs. Le plan gratuit de GitHub limite le nombre d’utilisateurs à trois dans les dépôts privés. Les forfaits payants commencent à 7 $ par mois.

GitHub permet à un examinateur ayant accès au dépôt de code de s’affecter à la demande d’extraction et d’effectuer un examen. Un développeur qui a soumis la demande d’extraction peut également demander une révision à un administrateur.

En plus de la discussion sur la pull request globale, vous pouvez analyser les différences, commenter en ligne et vérifier l’historique des changements. L’outil de revue de code vous permet également de résoudre de simples conflits Git par le biais de l’interface web. GitHub vous permet même d’intégrer des outils de revue supplémentaires via sa place de marché pour créer un processus plus robuste.

L’outil de revue de code GitHub est un outil formidable si vous êtes déjà sur la plateforme. Il ne nécessite aucune installation ou configuration supplémentaire. Le principal problème de l’outil de vérification du code GitHub est qu’il ne prend en charge que les dépôts Git hébergés sur GitHub. Si vous recherchez un outil de revue de code similaire que vous pouvez télécharger et héberger sur votre serveur, vous pouvez essayer GitLab.

4. Phabricator

Phabricator est une liste d’outils open source par Phacility qui vous aide à examiner le code. Vous pouvez télécharger et installer la suite d’outils de revue de code sur votre serveur, mais Phacility propose également une version de Phabricator hébergée dans le Cloud.

Vous n’avez aucune limitation si vous l’installez sur votre serveur. Cependant, vous devrez payer 20 $ par utilisateur et par mois (avec un plafond de 1 000 $ / mois), ce qui inclut l’assistance. Pour l’essayer, vous pouvez opter pour un essai gratuit de 30 jours.

Phabricator

Phabricator

Phabricator prend en charge les trois systèmes de contrôle de version les plus populaires – Git, Mercurial et SVN. Il peut gérer des dépôts locaux, ainsi que suivre les dépôts hébergés en externe. Vous pouvez également le faire évoluer vers plusieurs serveurs.

Au-delà d’un outil traditionnel de revue de code

Phabricator fournit une plateforme détaillée pour avoir une conversation avec les membres de votre équipe. Vous pouvez soit faire un examen préalable d’un nouveau membre de l’équipe, soit effectuer une revue du code nouvellement soumis. Vous pouvez également procéder à une revue du code fusionné, un processus que Phabricator appelle « audit ». Voici une comparaison entre une revue et un audit sur Phabricator.

Les outils supplémentaires de Phabricator vous aident dans le cycle global de développement de logiciels. Par exemple, il vous fournit un suivi intégré pour gérer les bogues et les fonctionnalités. Vous pouvez également créer un wiki pour votre logiciel dans l’outil grâce à Phriction. Pour intégrer l’outil aux tests unitaires, vous pouvez utiliser l’outil CLI de Phabricator. Vous pouvez également créer des applications sur Phabricator grâce à son API.

En résumé, Phabricator vous offre une tonne de fonctionnalités qui vous aident à rendre votre processus de développement plus efficace. Il est tout à fait logique d’opter pour cet outil si votre projet est à un stade précoce. Si vous n’avez pas l’expertise nécessaire pour le mettre en place sur votre serveur, vous devriez opter pour la version hébergée de l’outil.

5. Collaborator

Collaborator de SmartBear est un outil de revue de code et des documents pour les équipes de développement. En plus de la revue du code source, Collaborator permet aux équipes d’examiner également les documents de design. Un pack de licence pour 5 utilisateurs est proposé au prix de 535 $ par an. Un essai gratuit est disponible en fonction des besoins de votre entreprise.

Revue de source des collaborateurs

Revue de source des collaborateurs

Collaborator supporte un grand nombre de systèmes de contrôle de version comme Subversion, Git, CVS, Mercurial, Perforce et TFS. Il s’intègre bien avec les outils de gestion de projet et les EDI les plus répandus comme Jira, Eclipse et Visual Studio.

Cet outil permet également de rendre compte et d’analyser les principales mesures liées à votre processus de revue de code. En outre, Collaborator aide à la gestion des audits et au suivi des bogues. Si votre pile technologique implique des logiciels d’entreprise et que vous avez besoin d’aide pour mettre en place votre processus de revue de code, vous devriez essayer Collaborator.

6. CodeScene

CodeScene est un outil de revue de code qui va au-delà de l’analyse statique traditionnelle du code. Il effectue une analyse comportementale du code en incluant une dimension temporelle pour analyser l’évolution de votre base de code. CodeScene est disponible sous deux formes : une solution basée sur le cloud et une solution sur site.

Les plans de CodeScene basés sur le cloud commencent gratuitement pour les dépôts publics hébergés sur GitHub. Pour un maximum de dix dépôts privés et une équipe de dix membres, CodeScene coûte 99 € (environ 115 $) par mois. Une installation sur site de CodeScene coûte 15 € (environ 17 $) par développeur et par mois.

Outil d’analyse de revue de code CodeScene

Outil d’analyse de revue de code CodeScene

CodeScene traite votre historique de contrôle de version pour fournir des visualisations de code. En outre, il applique des algorithmes d’apprentissage automatique pour identifier les modèles sociaux et les risques cachés dans le code.

Grâce à l’historique du contrôle des versions, CodeScene établit le profil de chaque membre de l’équipe pour établir la carte de leur base de connaissances et créer des dépendances entre les équipes. Il introduit également le concept de « hotspots » dans votre dépôt en identifiant les fichiers qui subissent le plus d’activité de développement. Ces hotspots requièrent la plus grande attention à l’avenir.

Cartes des connaissances de CodeScene

Cartes des connaissances de CodeScene

Si vous recherchez un outil qui va au-delà d’un outil traditionnel de revue de code, assurez-vous de consulter la version d’essai gratuite de CodeScene. Pour en savoir plus sur la logique sous-jacente à l’analyse comportementale du code de CodeScene, consultez ce livre blanc sur les cas d’utilisation et les rôles de CodeScene.

7. Visual Expert

Visual Expert est une solution d’entreprise pour la revue de code, spécialisée dans le code de base de données. Elle ne prend en charge que trois plateformes : PowerBuilder, SQL Server et Oracle PL/SQL. Si vous utilisez un autre SGBD, vous ne pourrez pas intégrer Visual Expert pour la revue de code.

Un essai gratuit est disponible, mais vous devez envoyer une demande pour obtenir un devis sur la tarification.

Aperçu de l'outil de revue de code Visual Expert

Aperçu de l’outil de revue de code Visual Expert(Source)

En plus d’une traditionnelle revue de code, Visual Expert analyse chaque modification de votre code pour prévoir les éventuels problèmes de performance dus aux changements. L’outil peut également générer automatiquement une documentation complète de votre application à partir du code.

Si vous utilisez PowerBuilder, SQL Server ou Oracle PL/SQL et que vous souhaitez un outil de revue de code spécialisé pour vos besoins, vous devriez essayer Visual Expert (voici un guide sur la construction de requêtes WordPress efficaces).

8. Gerrit

Gerrit est un outil web gratuit et open source de revue de code pour les dépôts Git, écrit en Java. Pour exécuter Gerrit, vous devez télécharger le code source et l’exécuter en Java. Voici le processus d’installation d’une version autonome de Gerrit.

Outil de revue du code Gerrit

Outil de revue du code Gerrit

Gerrit combine les fonctionnalités d’un outil de suivi des bogues et d’un outil de revue en un seul. Lors d’une revue, les changements sont affichés côte à côte dans un diff unifié, avec la possibilité d’initier une conversation pour chaque ligne de code ajoutée. Cet outil fonctionne comme une étape intermédiaire entre un développeur et le dépôt central. En outre, Gerrit intègre également un système de vote.

Si vous possédez l’expertise technique pour installer et configurer Gerrit, et que vous recherchez un outil de revue de code gratuit, il devrait constituer une solution idéale pour vos projets.

9. Rhodecode

Rhodecode est un outil en ligne qui vous aide à effectuer des revues de code. Il prend en charge trois systèmes de contrôle de version : Mercurial, Git et Subversion. Une version de Rhodecode basée sur le cloud commence à 8 $ par utilisateur par mois, alors qu’une solution sur site coûte 75 $ par utilisateur par an. Bien qu’il s’agisse d’un logiciel d’entreprise, sa version communautaire, qui est gratuite et en code open source, peut être téléchargée et compilée gratuitement.

Rhodecode

Rhodecode

Rhodecode permet à une équipe de collaborer efficacement grâce à des revues de code itératives et conversationnelles afin d’améliorer la qualité du code. Cet outil fournit en outre une couche de gestion des permissions pour un développement sécurisé.

De plus, un journal visuel des modifications vous aide à naviguer dans l’historique de votre projet à travers les différentes branches. Un éditeur de code en ligne est également fourni pour les petites modifications par le biais de l’interface web.

Rhodecode s’intègre parfaitement à vos projets existants, ce qui en fait un excellent choix pour quelqu’un qui recherche un outil de revue de code basé sur le web. L’édition communautaire est donc idéale pour les personnes ayant une expertise technique et recherchant un outil de revue de code gratuit et fiable.

10. Veracode

Veracode fournit une suite d’outils de revue de code qui vous permet d’automatiser les tests, d’accélérer le développement, d’intégrer un processus de correction et d’améliorer l’efficacité de votre projet. La suite d’outils de revue de code de Veracode est commercialisée comme une solution de sécurité qui recherche la vulnérabilité de vos systèmes. Ils fournissent un ensemble de deux outils de revue de code :

Vue d'ensemble de Veracode

Vue d’ensemble de Veracode (Source)

La revue de code fait partie de l’analyse de la composition du logiciel et vous pouvez opter pour une démo de Veracode avant de vous y engager pleinement. Voici le lien pour demander un devis.

11. Reviewable

Reviewable est un outil de revue de code pour les pull requests de GitHub. Il est gratuit pour les dépôts open source, avec des plans pour les dépôts privés à partir de 39 $ par mois pour dix utilisateurs. Comme l’outil est intégré à GitHub, vous pouvez vous connecter en utilisant votre compte GitHub et commencer.

Aperçu de l'outil de revue de code Reviewable

Aperçu de l’outil de revue de code Reviewable

Si vous souhaitez consulter une revue typique sur Reviewable, vous pouvez vous rendre sur une démonstration de revue.

Un aspect intéressant de Reviewable est qu’il surmonte quelques inconvénients de la révision du code dans la fonction de requêtes de GitHub. Par exemple, un commentaire sur une ligne de code est automatiquement masqué par GitHub dès qu’un développeur modifie la ligne car GitHub suppose que le problème a été résolu. Mais, en réalité, les choses peuvent être différentes.

De plus, GitHub a des limites de lignes relativement petites pour l’affichage des différences de fichiers.

Si vous recherchez un outil étroitement cohérent avec GitHub, mais que vous souhaitez plus de fonctionnalités que les demandes d’extraction, Reviewable devrait être votre outil de référence.

12. Peer Review for Trac

Si vous utilisez Subversion, Peer Review Plugin for Trac offre une option gratuite et open source pour effectuer des revues de code sur vos projets. Peer Review Plugin s’intègre dans le projet open source Trac, qui est un wiki et un système de suivi des problèmes pour les projets de développement.

Vue globale de Peer Review Plugin for Trac

Vue globale de Peer Review Plugin for Trac (Source)

Trac intègre le wiki et l’outil de suivi des problèmes à vos avis pour fournir une solution de bout en bout. Bien que la fonctionnalité de base de comparaison des changements et des conversations soit disponible, il vous permet de concevoir des flux de travail personnalisés pour vos projets.

Par exemple, vous pourriez décider des tâches à effectuer sur des déclencheurs comme la soumission d’un changement ou l’approbation dans le cadre d’une revue de code. Vous pouvez également créer des rapports personnalisés sur vos projets.

Si vous recherchez également un wiki pour la documentation et un outil de suivi des problèmes pour gérer la feuille de route de votre projet, Trac devrait être une bonne option pour vous.

Les outils de revue de code permettront de garder votre projet exempt de bugs et d’erreurs ❌ Trouvez le meilleur pour votre équipe grâce à ce guide 🚀CLICK TO TWEET

Résumé

Le processus de revue de code joue un rôle clé lorsqu’il s’agit de renforcer l’efficacité de votre organisation. Plus précisément, c’est en tirant parti du bon outil de revue de code que vous pourrez éliminer les redondances dans votre cycle de développement.

Nous avons examiné de plus près les outils de revue de codes les plus populaires disponibles en 2021 et voici ce que nous avons trouvé :

  • Pour une petite équipe qui débute, la Review Board est un bon choix pour lancer le processus de revue de code.
  • Si vous cherchez un outil de revue de code open-source, essayez Gerrit, Peer Review for Trac ou l’édition communautaire de Rhodocode.
  • Vous cherchez un outil de revue de code assez facile à utiliser avec du support ? Vous devriez essayer Rhodecode.
  • Si vous utilisez Git et GitHub pour gérer votre base de code, essayez l’éditeur de revue de code intégré à GitHub. Si vous souhaitez aller au-delà des fonctionnalités de base des pull requests, vous devriez consulter la page Reviewable.
  • Vous faites partie d’une équipe qui utilise Oracle, SQL Server ou PowerBuilder pour la gestion du code de votre base de données ? Vous pouvez essayer Visual Expert, un outil de revue de code spécialisé dans le code de base de données.
  • Si vous cherchez une solution d’entreprise, essayez le Crucible, Collaborateur de SmartBear ou Veracode.
  • Si vous souhaitez utiliser le ML et l’AI pour aller au-delà de la revue de code et passer à l’analyse comportementale, vous devriez consulter CodeScene.
  • Si vous voulez une solution complète pour votre cycle de développement de logiciels, consultez la suite d’outils Phabricator pour la revue de code et au-delà.

C’est maintenant votre tour : quel outil de revue de code utilisez-vous ? Pourquoi ? Dites-le nous dans les commentaires !

16 conseils pour augmenter les ventes de votre site e-commerce en 2021

Il n’y a rien de plus satisfaisant que d’avoir une boutique e-commerce entièrement fonctionnelle qui génère constamment des ventes. Nous sommes tous conscients que les e-commerces ont le potentiel de générer du revenu sachant qu’il n’y a pas trop de frais pour maintenir boutique physique, qu’ils sont ouverts 24h/24 et 7j /7 en plus des nombreux autres avantages. Mais le taux de conversion d’un visiteur à celui de client est mince. Alors comment maximiser ses chances ?

Cela dit, ce que vous ne savez pas, c’est que le simple fait d’avoir un e-commerce ne garantit pas le succès. Le taux de conversion d’un visiteur à celui de client est mince. En moyenne, seulement 2,9% des visites effectuées sur les sites Web e-commerce se transforment en achat. C’est un pourcentage assez faible, mais c’est la réalité et courant comme chiffre.

Les clients ont des choix infinis sur le web. Ils peuvent parcourir, comparer les achats et se diriger vers vos concurrents sans même y réfléchir à deux fois. Alors, comment améliorer les ventes dans un monde aussi impitoyable que celui du e-commerce ?

Commencez par les bases, puis progressez. Tout d’abord, assurez-vous que votre boutique e-commerce suit le guide des meilleures pratiques concernant les sites Web e-commerce, puis créez et suivez une stratégie marketing adaptée à votre e-commerce.

Dans cet article, nous allons vous aider à franchir la première étape de la liste. Voici les 16 meilleures pratiques pour augmenter les ventes sur votre site e-commerce.

Cet article est un concentré de recommandations que nous avons déja chacune évoqué dans un article séparé. vous allez trouvez dans chaque conseil les liens vers les articles concernés pour approfondir le sujet.

Besoin de commencer à vendre vos produits en ligne et
développer votre activité commerciale sur le web ?

Lancer mon site eCommerce maintenant

1. Améliorez le temps de chargement de votre boutique e-commerce

Le temps nécessaire au chargement des pages de votre boutique e-commerce affecte vos ventes avec certitude. Dans une étude réalisée par Akamai, environ la moitié des internautes s’attendent à ce qu’un site se charge en deux secondes ou moins. Sans oublier qu’environ 40% des visiteurs abandonnent un site Web qui prend plus de 3 secondes à se charger.

Ce critère détermine si votre client va rester ou partir. Voici rapisement une liste de choses qui peuvent affecter le temps de chargement de votre site Web et comment les corriger :

  • Compressez les images et optimisez les fichiers : Les images occupent en moyenne 60% du volume de téléchargement d’une page, soit environ 1504 Ko. Il est important de noter que vous devez utiliser des images de haute qualité pour mettre en valeur votre marque. Cependant, les images de haute qualité sont généralement le principal responsable de la lenteur des boutiques e-commerce. Pour éviter cela, essayez de compresser ou d’optimiser vos photos avec des outils tels que Tinyjpg ou d’autres  plugins de site Web.
  • Minimisez les demandes de code : Votre thème ou votre code peut parfois ralentir votre site Web. Vous aurez peut-être besoin d’un développeur, mais vous pouvez commencer à le compresser sans affecter son fonctionnement. Google recommande différents outils pour vous aider à le faire. Pour réduire le HTML, essayez HTMLMinifier et pour réduire le CSS, essayez CSSNano et csso. Enfin, pour réduire JavaScript, essayez UglifyJS.
  • Optimisez vos plugins : Les modules ou plugins que vous avez ajoutées à votre site Web pourraient ralentir votre site. Faites attention au nombre de plugins que vous ajoutez à votre site. S’ils sont trop nombreux, alors il est peut-être temps pour vous de trouver un plugin capable de remplacer à lui seul trois d’entre eux. Cette manipulation sera non seulement rentable, mais en plus votre site aura moins de plugins avec lesquels se synchroniser régulièrement.

Nous avions publié récement tout un dossier concernant l’optimisation de la vitesse de chargement d’une page pour les experts et un autre article que explique pourquoi la lenteur d’un site tue le taux de conversion.

2. Assurez-vous que votre site Web est facile à utiliser

Une navigation fluide sur votre site Web consiste à permettre aux visiteurs de se déplacer d’un point A à un point B ou de trouver des informations sans confusion, ni entrave. Rendre votre site Web facile à utiliser, à naviguer et à parcourir permet aux clients de rester sur votre site e-Commerce suffisamment longtemps pour effectuer un achat.

Êtes-vous déjà allé sur un site et avez dû cliquer beaucoup de fois avant d’atteindre une fiche produit ?

Cela peut être frustrant pour n’importe quel visiteur.

Pour vous assurer que votre site Web e-commerce est facile à utiliser, vous devez disposer des éléments suivants :

  • Simplifiez les rubriques de votre site Web : Essayez d’éviter d’avoir trop rubriques. Si vous le faites, créez des sous-rubriques et organisez vos catégories en conséquence. Cela donne l’impression que vous êtes organisé et que vous voulez que les clients trouvent facilement ce qu’ils cherchent.
  • Utilisez votre pied de page : Il vaut mieux mettre les informations plus détaillées telles que les tarifs d’expédition, les politiques de confidentialité, les contacts et les FAQ dans le pied de page au lieu de l’en-tête. Cela permet de ne pas encombrer votre en-tête.
  • Testez votre mise en page : Prenez le temps de tester la mise en page de votre site Web. Utilisez des cartes thermiques et des outils d’analyse de site Web pour voir comment les utilisateurs naviguent sur votre site en temps réel, puis effectuez les ajustement nécessaires.

Voiçi pourquoi l’expérience utilisateur est importante.

3. Faites réguliérement des Tests A/B sur votre site e-commerce

Nous avons déjà parlé du fait qu’il était nécessaire de tester votre mise en page. Si vous réalisez que les visiteurs de votre site Web ne terminent pas leur commande, alors il est temps d’effectuer des tests A/B pour vos pages et le tunnel de commande pour voir ce qui fonctionne et ce qui ne fonctionne pas.

En ayant recours à des tests A/B, vous pourrez utiliser des données personnalisées pour travailler sur les fonctionnalités et les mises en page qui conviennent le mieux à votre site web ecommerce. Vous pouvez améliorer considérablement les conversions en simplifiant ou en réorganisant le contenu, les onglets et les fonctionnalités de votre site Web, les chiffres sont parlants :

  • 31% des acheteurs déclarent abandonner leurs achats s’ils sont obligés de créer un compte
  • 23% des acheteurs abandonnent leurs achats en raison d’un processus de paiement compliqué
  • Un test a révélé que les formulaires plus courts augmentaient les conversions de 34%.

Voici une liste des meilleurs outils de test A/B dont vous aurez besoin pour vous assurer de tirer le meilleur parti de votre expérience de test :

HotJar

Lucky Orange

AB Tasty

Convertize

4. Utilisez les logiciels de marketing et de génération de leads

Votre boutique e-commerce ne peut pas tout faire toute seule. Il est donc important d’investir et d’intégrer le marketing de site Web et les applications génératrices de leads pour encourager et maintenir les ventes.

Avec les bons logiciels, vous pouvez mettre votre boutique e-commerce en mode pilotage automatique pendant que vous travaillez. Utilisez MailChimp, Zapier ou encore GetResponse.

Voiçi un guide complet sur le marketing de site web (en Anglais) que nous recommandons.

5. Intégrez les plans de paiement et d’abonnement

L’ajout d’options de paiement et de plans d’abonnement à votre boutique e-commerce est une décision intelligente. Étant donné qu’environ 85% des consommateurs font des recherches en ligne avant d’effectuer un achat, les options de paiement sont considérées comme un facteur clé. Le simple fait de demander aux clients de payer via PayPal ou avec une carte de crédit peut arrêter les ventes dans leur élan.

Une enquête réalisée par « Splitit », solution de paiement qui donne aux commerçants la possibilité de fournir un étalement paiement pour les achats, a constaté que les entreprises avaient augmenté leurs ventes jusqu’à +400% juste après avoir offert à leurs clients un moyen pratique de payer.

Voici une liste de prestataires de paiement que vous pouvez envisager d’intégrer à votre plateforme pour offrir à vos clients d’autres options de paiement :

Stripe

Klarna

AfterPay

Affirm

6. Intégrez les médias sociaux à votre boutique e-commerce

Ajoutez les réseaux sociaux à l’arsenal d’outils de votre boutique en ligne. Cela signifie qu’il faut utiliser le commerce social. Le commerce social est le terme qui désigne l’achat et la vente d’articles et de services sur les réseaux sociaux.

Vendez et permettez à vos abonnés de faire des achats directement à partir de vos profils sur les réseaux sociaux tels que Facebook, Pinterest et Instagram.

Avec le commerce social, vous pouvez toucher de nouveaux clients intéressés. Les médias sociaux s’accompagnent d’un engagement élevé et des clients prêts à acheter. Une fois que les utilisateurs commencent à suivre votre marque et à interagir avec le contenu que vous partagez, ils sont plus susceptibles de rester et de cliquer sur « acheter maintenant ».

Nous avions publié un article à ce sujet qui parle des Les stratégies innovantes de réseaux sociaux pour ecommerce.

7. Offrez aux clients plusieurs options de livraison

Comme pour les options de paiement, l’une des principales raisons pour lesquelles les gens ne donnent pas suite aux achats sur votre site Web e-commerce est que vos options de livraison et vos frais d’expédition ne sont pas attrayants. Il est possible que vous ayez des tarifs d’expédition élevés ou des options de livraison limitées.

Au lieu de cela, offrez à vos visiteurs plusieurs options de livraison. Permettez-leur d’avoir des options de ramassage en magasin, express ou de livraison le lendemain. C’est pourquoi il est si important de définir une stratégie d’expédition claire pour les clients.

Besoin de commencer à vendre vos produits en ligne et
développer votre activité commerciale sur le web ?

Démarrer mon site e-Commerce avec PrestaShop

8. Créez des campagnes d’e-mail marketing pour booster les ventes

Nous avons tendance à entendre que l’emailing est mort, mais l’e-mail marketing est et reste toujours l’un des outils de génération de leads les plus puissants pour les e-commerces. Votre magasin doit en être équipé afin que vous puissiez augmenter les ventes à travers les clients actuels, mais aussi les nouveaux. Voici trois campagnes incontournables d’e-mailing spéciales aux e-commerces :

L’e-mail de bienvenue : Le taux d’ouverture moyen d’un e-mail de bienvenue est de 50%. Cela le rend 86% plus efficace que les newsletters standards. Alors, ne négligez pas cette étape. C’est également une excellente occasion pour exposer vos meilleurs vendeurs, l’histoire de votre marque et plus encore.

L’e-mail de confirmation de commande : Automatisez les e-mails de confirmation de commande pour informer les clients une fois qu’ils ont passé leur commande de l’expédition et de la livraison. Les e-mails de confirmation de commande aident à inspirer confiance à vos clients et à les informer du début et jusqu’à la fin de l’expérience utilisateur.

L’e-mail de relance de panier abandonné : Près de 40% des consommateurs interrogés ont répondu qu’ils avaient abandonné leur panier parce que depuis le début ils ne faisaient que naviguer. Lorsque vous envoyez des e-mails de relance, vous donnez aux visiteurs une raison de retourner dans votre boutique et de finaliser un achat. Vous pouvez même automatiser une série d’emails du panier abandonné, par exemple en proposant un coupon de réduction pour inciter le visiteur à passer commande.

Nous avons publié un article qui montre 4 exemples d’email marketing pour ecommerce

9. Exploitez la puissance du marketing d’influence

Nous savons tous à quel point le marketing d’influence peut être puissant. Une fois que vous avez le bon influenceur, vous pouvez obtenir des milliers de nouveaux abonnés et de nouvelles ventes. Demandez à votre influenceur partenaire de créer une vidéo de déballage de votre nouveau produit et de la publier sur ses réseaux sociaux. Par ailleurs, Ipsos a constaté que la conception de l’emballage peut influencer la décision d’achat d’un consommateur.

Vous pouvez également demander à votre influenceur de co-héberger ou de promouvoir vos cadeaux et vos offres afin d’attirer de nouveaux clients et abonnés vers votre marque. Les cadeaux sont l’un des meilleurs moyens de promouvoir et de mettre en valeur les caractéristiques de votre produit ou de vos services. Ils ont un taux de conversion de +34% plus élevé que les autres formes d’activités en ligne.

Sinon vous pouvez trouver aussi 8 façons d’attirer des prospects avec votre blog e-commerce et influencer votre cible.

10. Organisez un concours et offrez un cadeau pour booster les ventes

Les concours et les cadeaux font partie des méthodes de vente les plus efficaces à ajouter à votre stratégie de ecommerce. Parmi tous les secteurs, le e-commerce et les concours de beauté enregistrent les taux de conversion et d’inscriptions aux concours les plus élevées. En 2018, le marché mondial des cosmétiques (les soins de la peau, les soins des cheveux et le maquillage) a atteint une croissance record d’environ +5,5% par rapport à l’année précédente, et bien que ça s’est effondré en 2020 avec -8%, L’oreal on su quand même se maintenir grâce à une stratégie ecommerce solide entre autres avec des jeux concours en ligne.

Les concours ne consistent pas seulement à offrir des choses gratuites. Les CTA (Clic To Action) du concours ont un taux de conversion supérieur de +3,73% par rapport aux autres CTA. Les concours et les cadeaux ont le pouvoir de stimuler les ventes des sites e-commerces lorsqu’ils sont bien faits.

Traitez les concours sur les réseaux sociaux comme des mini-publicités pour vos produits, car ils suscitent énormément d’engagement. Les candidats pourront ainsi voir pourquoi votre produit est le premier choix des acheteurs et pourquoi ce prix vaut la peine d’être gagné.

11. Optimisez vos pages produits grâce à la personnalisation

Ajoutez des fonctionnalités de personnalisation et de vente incitative à votre page produit pour améliorer vos ventes. La personnalisation de votre e-commerce consiste à montrer des offres personnalisées ou encore des recommandations de produits à vos visiteurs en fonction de leurs précédentes actions, de leurs données démographiques et d’autres données personnelles.

Par exemple, si un client regarde un article vestimentaire, créez une personnalisation avec une section « Pourquoi ne pas essayer » ou « Souvent acheté avec » sous la description de votre produit. Cette astuce permet aux clients de voir rapidement les articles personnalisés en fonction de leur historique de recherche.

Voiçi quelques exemples de personnalisations (en Anglais)

Nous avions publié un article à ce sujet qui explique pourquoi une expérience client personnalisée est essentielle au succès de votre site ecommerce.

12. Optimisez votre e-commerce pour les ventes mobiles

Jusqu’à 2021, les ventes des sites e-commerces via mobile devraient représenter 54% des ventes totales. Il est donc important d’avoir un site adapté aux mobiles. Vous ne savez jamais où, ni quand les clients interagissent avec votre marque. Les acheteurs sont connus pour passer du mobile au bureau ou l’inverse. Par conséquent, vous devez vous assurer que votre boutique e-commerce fait bonne impression sur les deux.

Voiçi 5 bonnes raisons pour rendre vote site web ecommerce responsive

13. Ajoutez des offres originales à vos pop-ups

Avez-vous déjà cliqué sur un site, et dès que vous commencez à le faire défiler, vous rencontrez une pop-up avec une offre ou une réduction ? C’est la magie d’une pop-up à l’entrée.

Les pop-ups peuvent être un moyen efficace pour générer des conversions, mais également pour réduire l’abandon de panier. Selon une étude de cas récente, l’inclusion d’un pop-up à l’entrée a augmenté les leads de +13% pour une plateforme de marketing en ligne.

Quand il s’agit de pop-ups, tout tourne autour de la rédaction et de l’offre. La façon dont vous formulez votre offre unique peut faire ou défaire vos ventes. Après tout, c’est ainsi que « The Scent Market » a gagné plus de 34 000 $ grâce une offre unique.

Il y a aussi les popup de sorties qui peuvent vous aider à retenie vos visiteurs.

14. Améliorez le service client de votre e-commerce

Environ 80% des personnes arrêtent de faire affaire avec une entreprise à cause d’une mauvaise expérience client.

Un excellent service client n’est pas quelque chose que vous devriez faire parce que c’est ce qu’on attend de vous, mais parce qu’il fidélise la clientèle et augmente les ventes.

Lorsque les clients se sentent appréciés, ils sont disposés à dépenser plus, à défendre votre marque (en ligne / hors ligne) et à réitérer leurs achats.

15. Optimisez votre page de panier

L’optimisation de la page du panier de votre site web ecommerce peut aider à réduire l’abandon de panier. L’abandon de panier se produit lorsqu’un acheteur remplit son panier, puis repart sans faire d’achat. Étant donné que la page du panier est la dernière étape, vous devez vous assurer qu’elle est optimisée afin de garder le client sur cette page jusqu’à ce qu’il clique sur « Payer maintenant ».

Commencez par montrer aux clients un inventaire de leur commande avec le coût total, les frais de port et les taxes. En effet, les coûts inattendus peuvent dissuader les clients. Pour ce faire, vous devez vous assurer que la page de votre panier est présentée de manière claire et efficace pour que les acheteurs puissent voir tous les détails dont ils ont besoin.

Une autre option serait d’ajouter un accès invité sur votre page de panier afin que les clients puissent entrer et sortir sans avoir à créer un profil. Le paiement en tant qu’invité fait référence à la possibilité pour les acheteurs d’effectuer un achat dans votre boutique sans se connecter à un compte ou enregistrer des informations dans votre base de données (telles que le nom d’utilisateur, le mot de passe, l’adresse de livraison / de facturation, etc.)

Il y a également de nombreuses astuces pour limiter les paniers abandonnés.

16. Utilisez votre blog e-commerce pour capturer des prospects

Utilisez votre blog e-commerce pour présenter vos nouveaux produits. Montrez aux visiteurs ce qui les attend avant ou durant le jour de votre lancement. Exposez votre nouveau produit et montrez-leur en détail pourquoi il mérite d’être dans leur panier.

Même si un client voit votre article de blog des jours ou des mois après sa publication, cela contribuera quand même à booster les ventes. Vous pouvez également demander à un influenceur de publier un article de blog sur votre produit. C’est un partenariat gagnant-gagnant !

Voiçi 8 methodes sur comment attirer des leads avec votre Blog.

Pour résumer

Apporter des modifications à votre boutique e-commerce est un exercice constant si vous prévoyez d’améliorer vos ventes et d’augmenter le trafic sur votre site Web.
Avec des tests et une optimisation correctement conduite, vous serez en mesure de découvrir quels outils et stratégies fonctionnent le mieux pour vous. Voici un récapitulatif des 16 recommandations pour augmenter les ventes sur votre site e-commerce que vous pouvez utiliser dès aujourd’hui :

  1. Améliorez le temps de chargement de votre boutique e-commerce
  2. Assurez-vous que votre site Web est facile à utiliser
  3. Faites réguliérement des Tests A/B sur votre site e-commerce
  4. Utilisez les logiciels de marketing et de génération de leads
  5. Intégrez les plans de paiement et d’abonnement
  6. Intégrez les médias sociaux à votre boutique e-commerce
  7. Offrez aux clients plusieurs options de livraison
  8. Créez des campagnes d’e-mail marketing pour booster les ventes
  9. Exploitez la puissance du marketing d’influence
  10. Organisez un concours et offrez un cadeau pour booster les ventes
  11. Optimisez vos pages produits grâce à la personnalisation
  12. Optimisez votre e-commerce pour les ventes mobiles
  13. Ajoutez des offres uniques à vos pop-ups
  14. Améliorez le service client de votre e-commerce
  15. Optimisez votre page de panier
  16. Utilisez votre blog e-commerce pour capturer des prospects

Comment booster sa productivité sur le web en 8 astuces

Sur le web, il y a ceux qui imposent la cadence et ceux qui la suivent. Ces derniers ne sont évidemment là que pour le divertissement mais les autres y sont pour saisir les opportunités. Internet offre aujourd’hui une myriade possibilités pour divers projets numériques et à toi jeune entrepreneur de savoir tirer ton épingle du jeu. Cependant, les métiers du web ne sont pas toujours aisés qu’on puisse le penser. Mais comme dans tous les domaines de la vie, beaucoup d’application et surtout quelques astuces pour mériter le titre de « Professionnel ». Il faut par exemple savoir se servir de diverses applications qui servent à s’organiser au quotidien et à booster la productivité et dont la plupart sont gratuites.

– Tick Tick:
C’est un planificateur de tâches multifonction et facile d’accès. Utilisable en synchronisation avec un ordinateur, une tablette ou un téléphone, Tick Tick est comme un agenda mais en mieux. Il vous permet de programmer des échéances, créer des checklists, planifier des rappels à une date ou localisation donnée, effectuer une recherche rapide de tâches. Le tout en syncronisation avec d’autres personnes comme les collaborateurs.

– Brain Focus:

Cette application inspirée de techniques comme PoMoDoRo et 52/17, est un véritable outil de concentration. Elle fonctionne comme une minuterie qui vous indique le temps de travail en bloquant les autres applications du téléphone. Alors plus d’excuses pour divaguer entre ses idées et les réseaux sociaux pendant que vous avez des tas de choses à faire.

– Any Do:

Encore un planificateur de tâches mais qui a une utilité particulière. Avec Any Do, vous pouvez créer ou planifier des tâches et recevoir des rappels dans les diverses applications de messagerie de ton téléphone. Ça pourrait t’aider toi qui passe ton temps à tchatter.

– MindMeister:

C’est une application qui vous permet de réaliser une cartographie mentale de votre projet. Elle vous donne un aperçu bien organisé de vos idées et vous recentre sur la ligne directrice en cas de divagation. Elle est utilisable aussi en syncro avec ses amis ou collaborateurs.

– Trello:

Très pratique pour organiser ses projets et tâches personnelles, Trello est aussi un outil de managing. L’application permet de gérer efficacement les équipes et booster leur rendement.

– Evernote:

Organisez vos idées en les notifiant dans Evernote. Elle sert de guide-mémoire pour votre inspiration. Sous forme de petits textes illustrés ou de captures, vous pouvez y garder les éclairs de votre cerveau en toute sécurité.

– Pocket:

Ne vous est-il pas arrivé une fois de passer à côté d’un article très instructif parce que vous aviez autre chose d’urgent à faire ? Eh bien avec Pocket, vous pouvez revenir dessus sans trop fouiller dans les profondeurs du web. Cette application vous permet d’enregistrer les liens d’articles en attendant de trouver du temps pour la lecture. Tiens, tu devrais peut-être télécharger l’application tout de suite puis enregistrer le lien de cet article.

– L’actualité :

Ce n’est pas vraiment une application mais des idées qu’on vous donne ici. Il est très important pour un entrepreneur du web d’être au courant de l’actualité. Que ce soit avec les applications qui synchronisent les liens de plusieurs sites ou dans l’application Doingbuzz, tu auras l’essentiel de l’actualité 24h/24 et 7j/7.

Bonus:

Le talent dont vous avez besoin.

La flexibilité que vous voulez.

JE CHERCHE UN DEVELOPPEUR OU

TALENT AVEC LA FLEXIBILITE QUE JE VEUX

3VG met à disposition des entreprises des consultants en mode agile.

LOGICIELS CLES EN MAIN

Nous avons développé des logiciels clès en main customizable pour votre entreprise

LES QUESTIONS À SE POSER AVANT DE CRÉER MON APPLICATION MOBILE

Votre projet d’application mobile est destiné à automatiser vos tâches récurrentes ou à optimiser vos processus métiers ? Elle servira à fidéliser votre clientèle et lui offrira un service complémentaire ?

Créer votre application mobile est un levier de croissance pour votre entreprise ? Elle est créée pour vos clients, vos partenaires et/ou vos collaborateurs ? 

Ce n’est donc pas un projet à prendre à la légère. Il vous coûtera un budget certain. Sans parler du temps investi pour le mener à bien. 

Afin d’éviter à votre application mobile de foncer droit dans le mur, il vous faut une base solide.

Faisons un point ensemble sur les nombreuses questions à se poser avant de créer le prototype de votre application mobile.

QUESTION 1 : A QUOI VA SERVIR VOTRE APPLICATION ?

Il y a autant d’idées que d’applications mobiles possibles, voilà pourquoi il faut définir précisément les objectifs que la vôtre devra remplir vis-à-vis de votre cible. Votre application aura-t-elle pour but de chercher de l’information, faciliter la saisie de données, mettre en relations des personnes, jouer ou partager de l’information ?

Vous devez vous poser toutes ses questions afin de trouver l’outil le plus recherché par votre cible. Mais également pour ne pas finir noyé dans les stores car votre idée existe déjà en dizaines d’autres applications.

QUESTION 2 : A QUI VA SERVIR VOTRE APPLICATION MOBILE ?

Il est très important de recueillir les réels problèmes de votre public afin de bien le comprendre. Mais surtout, de répondre à ses besoins grâce à votre application mobile.

Il est donc primordial de décrire votre cible avec le plus grand soin et le plus détaillé possible.

Répondez aux questions suivantes pour vous aider : Qui ? Quoi ? Où ? Comment ? Quand ? Pourquoi ?

methode-5w-QQOQCP-question-créer-application-mobile

Il vous est également possible de créer des personas. Les personas sont les portraits-robots des utilisateurs que vous ciblez. Ils permettent de mieux cerner leurs comportements, leurs besoins, leurs préoccupations, leurs humeurs, etc.

Il est plus facile ensuite d’adapter les contenus et les fonctionnalités de votre application mobile selon chaque profil.

Tout comme il existe un persona de votre cible idéale, il est possible de créer un persona négatif, c’est-à-dire une représentation du public que vous ne souhaitez pas cibler. Cela vous permet de réduire vos efforts commerciaux et marketing et ainsi baisser considérablement votre coût par lead.

Plus vous segmentez votre cible, plus vous créez de personas. Cependant, si vous débutez, nous vous conseillons de commencer par 2-3 personas. Ne vous dispersez pas au risque de perdre du temps et de l’argent.

Les deux combinés ensemble – le persona de votre utilisateur idéal et celui de l’utilisateur à éviter-, vous avez alors une cible pour votre projet mobile.

QUESTION 3 : QUELS GAINS POUR MON ENTREPRISE ?

Il existe 2 gains principaux qui peuvent pousser une entreprise à développer son application mobile.

UN DÉVELOPPEMENT DE VOTRE IMAGE DE MARQUE

En effet, votre application mobile devient la vitrine de votre entreprise. C’est un bon moyen pour faire parler de vous dans les médias.
Ce n’est plus un secret. Les clients consultent, s’informent, communiquent sur internet et les réseaux sociaux avant tout passage à l’acte d’achat.

De plus, avec votre application mobile, votre image de marque se rajeunit. Mais surtout vous vous placez plus tôt dans le parcours d’achat de vos prospects.
Vous vous adaptez à leur mode de vie, vous êtes capable de répondre aux nouveaux besoins de vos consommateurs.

AMÉLIORER VOTRE PRODUCTIVITÉ

Une application mobile peut amener bien des avantages dans votre entreprise. Et un des principaux concerne l’efficacité accrue de vos collaborateurs.

Certains facteurs influencent ce résultat :

  • une communication régulière entre employés : des messageries instantanées internes, des intranets ou des CRM sociaux
  • une facilité dans le travail d’équipe : en effet, la communication amène un partage d’informations entre collaborateurs. Plus vos équipes sont informées, plus elles renseignent vos clients, fournisseurs, partenaires rapidement.
  • Si la formation à l’application mobile a été faite avec soin, vos équipes ne perdront pas de temps à sa compréhension et à son utilisation.

Du fait que votre force de vente est bien plus efficace sur le terrain, les tournées sont alors optimisées, l’accès à l’information est instantanée… En bref, tout est amélioré en vue de gagner du temps et de ce fait, de l’argent.

D’autant plus que votre application peut être un véritable levier d’acquisition de nouveaux clients. En plus de votre visibilité sur les stores mobiles, votre référencement web est également renforcé.

QUESTION 4 : QUEL TYPE D’APPLICATION CHOISIR ?

Il est temps de réfléchir avec quel type d’applications vous résoudrez les problèmes de vos clients.

Il existe plusieurs possibilités : application mobile native, application mobile hybride ou application web ?

  • Une application mobile native est une application mobile développée spécifiquement pour un système d’exploitation. En règle générale, elle est développée pour les systèmes les plus connus : iOS pour Apple Store, Android pour Google Play et Windows pour Windows Store. L’application native est donc disponible seulement en téléchargement sur ces différentes plateformes mobiles. Elle offre des fonctionnalités spécifiques qui lui sont propres et optimisées, comme son nom l’indique, en situation de mobilité.
  • Une application web ou appelée Webapp est une application disponible à partir du navigateur web de l’utilisateur. Elle vous offre de nombreuses possibilités notamment en termes de gestion d’utilisateurs par exemple ou de gestion d’informations diverses. Elle ne demande pas de capacité de stockage de données, d’images… sur votre téléphone ou votre tablette. Néanmoins, elle a également quelques inconvénients. Notamment par le fait que l’utilisateur est souvent obligé d’avoir une connexion internet pour l’utiliser.
  • Une application mobile hybride est une application à la limite entre l’application web et l’application native. Une seule version est développée pour toutes les plateformes. C’est une solution moins onéreuse que les précédentes car sa maintenance est simplifiée par le fait que vous mettez à jour une seule version. Mais elle apporte son lot de désavantages également. Les performances de l’application ne seront pas adaptées à toutes les plateformes mobiles, celle-ci sera donc moins stable. Vous serez également restreint en termes de fonctionnalités.

 

QUESTION 5 : COMMENT CRÉER VOTRE APPLICATION MOBILE POUR MAXIMISER SON UX ?

L’UX nous vient de l’anglophone “User Experience”, autrement dit en français “Expérience Utilisateur”.

L’UX couvre tous les aspects de l’expérience entre l’utilisateur et votre application, incluant ainsi le design, l’interface utilisateur, les interactions physiques et manuelles.

Voici quelques questions à se poser afin d’améliorer l’expérience utilisateur :

  • Vos utilisateurs utiliseront plutôt votre application à une ou deux mains ?
  • L’application sera-t-elle utilisée sur smartphones, tablettes ou les deux ?
  • Seront-ils en mouvement lors de l’utilisation ?
  • L’application est elle adaptée aux connaissances du public visé ?
  • Les boutons sont-ils assez visibles et assez gros ?
  • Le design graphique donne t’il envie de continuer de naviguer sur l’application ?
Article similaire :  10 avantages des applications mobiles sur les Sites Web

En vous posant toutes ces questions, vous augmentez les chances que votre application ne soit pas désinstallée après quelques minutes d’utilisation par les utilisateurs.

QUESTION 6 : QUEL SYSTÈME D’EXPLOITATION UTILISER ?

Chaque système d’exploitation possède ses caractéristiques et contraintes qui le différencie de ses concurrents.

Voici la liste des éléments à prendre en compte lors de votre choix :

  • Les clés de référencement (nom, mots-clés, éléments graphiques…)
  • Le tarif des stores
  • L’audience de chaque store
  • Les conditions d’utilisations
  • Le coût du développement de votre application mobile
  • La rétro-compatibilité des smartphones

QUESTION 7 : QUELLES FONCTIONNALITÉS POUR VOTRE APPLICATION MOBILE ?

Au niveau des fonctionnalités, il existe un nombre infini de combinaisons possibles (partages sur les réseaux sociaux, de géolocalisation, d’accès aux contacts, NFC, de signature électronique…). Mais sont-elles toutes vraiment indispensables ? Est-ce que votre cible aura intérêt à utiliser ces fonctionnalités ?

Si vous avez des doutes, il serait pertinent de créer une application fonctionnelle mais qui ne possède pas toutes ses fonctionnalités. C’est ce que nous appelons un MVP (Minimum Viable Product).

L’application MVP n’est pas une “application minimale” ni une application avec toutes les fonctionnalités. Il s’agit d’une application mobile pour laquelle vous faites le choix de “sacrifier” des fonctionnalités jugées comme non-indispensables.

MVP-minimum-viable-product-question-créer-application-mobile

L’application MVP vous permettra également un lancement plus rapide et moins coûteux afin d’apprendre des retours de vos utilisateurs et ainsi d’améliorer votre application mobile.

Elle doit avoir une fonctionnalité principale, qui répond en grande partie au problème de l’utilisateur mais pas parfaitement afin d’apprendre ce dont a besoin le marché.

Elle va permettre de confirmer ou d’infirmer vos hypothèses de développement pour vos prochaines versions, et vous conforter ou vous stopper dans votre idée afin de limiter vos risques financiers.

QUESTION 8 : A QUEL RYTHME L’APPLICATION SERA-T-ELLE MISE À JOUR ?

Votre application devra évoluer au fil du temps afin d’être à jour avec les nouvelles réglementations ou tout simplement pour continuer à intéresser vos clients.

  • Si vous devez modifier régulièrement les informations de votre application mobile. Le back-office est fait pour vous. C’est un espace de gestion qui vous permet de gérer par exemple les accès de vos utilisateurs, une base de données des réservations, des commandes de vos clients, etc.
  • Au contraire si vous ne comptez ni récolter des informations ni mettre à jour régulièrement votre application. Il est plus intéressant de laisser votre prestataire mobile effectuer les grosses modifications, ajout de fonctionnalités… Ce service sera bien entendu facturé selon l’ampleur de la modification.

QUESTION 9 : COMMENT ALLEZ-VOUS RENTABILISER VOTRE APPLICATION MOBILE ?

APPLICATION MOBILE

Plusieurs stratégies peuvent être envisagées :

  • Application gratuite, sans but de rentabilisation
  • Application gratuite avec des espaces annonceurs afin de rentabiliser sa création par de la publicité payante. Attention pour que des entreprises payent pour vos espaces publicitaires, il faudra que votre application génère déjà un fort trafic
  • Modèle freemium : le freemium est une stratégie commerciale associant une offre gratuite, en libre accès, et une offre premium, plus haut de gamme en accès payant. Cela est courant pour les éditeurs d’applications qui considèrent souvent le freemium comme un levier de rentabilisation de la version gratuite.
  • Les achats intégrés : couplez votre application avec une application payante complémentaire d’un partenaire par exemple
  • La revente des données collectées : cela nécessite qu’elles soient stockées dans un Back-Office.

Il existe d’autres moyens de rentabiliser son application mobile. Il vous faut trouver celui qui aura le plus de chances de toucher votre cible.

APPLICATION MOBILE MÉTIER

En ce qui concerne les applications mobiles métiers, elles ne pourront pas être rentabilisées de la même façon. En effet, votre application vous permettra de réduire vos coûts et d’augmenter votre chiffre d’affaire grâce :

  • à l’efficacité accrue de vos collaborateurs
  • l’amélioration de votre image de marque
  • une visibilité développée

 

Pour plus d’explications sur les applications mobiles métiers et leurs avantages, nous vous invitons à lire notre article “13 avantages à créer votre application mobile métier”

QUESTION 10 : QUEL PRESTATAIRE CHOISIR POUR DÉVELOPPER VOTRE APPLICATION MOBILE ?

Bien choisir son prestataire est primordial pour obtenir une application mobile conforme à vos attentes. Prendre à la légère cette étape serait une grave erreur.

Cette agence mobile va, en effet, vous suivre tout au long de votre projet. Vous passerez un grand nombre d’heures à ses côtés. Elle devra vous aider à évoluer et à faire grandir votre projet.

Afin de ne pas vous tromper, il existe des critères de choix que vous pouvez appliquer lors de votre recherche de prestataire.

  • Son statut juridique et sa solvabilité
  • Ses références et témoignages clients
  • Son expertise dans le domaine mobile
  • Son organisation
  • Les technologies utilisées
  • Le coût proposé
  • Ses délais
  • Son service après-vente

Toutefois, faites confiance à votre instinct. Si vous le pouvez, rencontrez l’équipe, le chef de projet. Si le feeling n’est pas au rendez-vous, n’insistez pas.

QUESTION 11 : COMMENT BIEN ASSURER LE LANCEMENT DE VOTRE APPLICATION MOBILE ?

S’il s’agit d’une application mobile métier, il va être primordial :

  • D’organiser des journées de formations de vos collaborateurs
  • De communiquer en interne pour que tout le monde utilise l’application
  • De leur demander leurs avis sur les futures améliorations

S’il agit d’une application qui cible vos clients, vous devrez :

  • Communiquer sur tous les canaux ( site Web, réseaux sociaux, Youtube, Mailing…)
  • Optimiser le référencement de l’application
  • Suivre avec intérêts les retours des utilisateurs
  • Créer du contenu pour expliquer comment utiliser votre application et en quoi elle est « révolutionnaire »
  • Multiplier les liens de téléchargements de votre application (blog, site web, réseaux sociaux…)
  • Soigner vos relations presses (médias, blogs…) pour gagner en visibilité

Vous l’avez compris, la mise en ligne de votre application ne sonne pas la fin de la bataille. Au contraire, c’est à ce moment que vous allez devoir redoubler d’efforts pour que tout votre travail n’ait pas été vain.

Tous ces éléments nécessitent du temps et également pour certains points, une expertise technique. Si vous vous sentez dépassé, nous pouvons vous aider.

AxioCode, experte dans le développement et la maintenance d’applications sur-mesure, peut en effet vous accompagner dans la réalisation de votre projet d’application mobile.

Réservez votre diagnostic gratuit avec un de nos experts. Cet entretien téléphonique de 30 minutes va nous permettre de diagnostiquer l’état de votre projet et de déterminer comment le mener à bien.

Les outils gratuits en ligne pour analyser les vulnérabilités et les logiciels malveillants de la sécurité des sites Web

Scanner de sécurité des applications Web Netsparker – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning ™.

Analysez votre site Web, votre blog à la recherche de vulnérabilités de sécurité, de logiciels malveillants, de chevaux de Troie, de virus et de menaces en ligne

L’une des discussions les plus en vogue dans le domaine des technologies de l’information est la sécurité Web. Des centaines de vulnérabilités Web existent aujourd’hui, et en dessous de certaines des plus courantes.

edgescan-report

Nous prêtons souvent attention à la conception de sites Web, au référencement, au contenu et sous-estimons la zone de sécurité. En tant que propriétaire de site Web, la sécurité Web devrait avoir plus d’importance que tout.

Il y avait de nombreuses questions sur la façon de rechercher la sécurité du site Web, vulnérabilités des applications mobiles, alors voilà. Cet article répertorie certains des meilleurs outils pour analyser votre site à la recherche de vulnérabilités de sécurité, malwareet les menaces en ligne.

SUCURI

SUCURI est l’un des logiciels malveillants et des scanners de sécurité gratuits les plus populaires. Vous pouvez effectuer un test rapide pour les logiciels malveillants, le statut de la liste noire, le SPAM injecté et les altérations.

SUCURI aide également à nettoyer et à protéger votre site Web contre les menaces en ligne et fonctionne sur toutes les plates-formes de site Web, y compris WordPress, Joomla, Magento, Drupal, phpBB, etc.

Qualys

Test du serveur SSL by Qualys est essentiel pour analyser votre site Web à la recherche d’une mauvaise configuration SSL / TLS et des vulnérabilités. Il fournit une analyse approfondie de votre https:// URL incluant le jour d’expiration, la note globale, le chiffrement, la version SSL / TLS, la simulation de prise de contact, les détails du protocole, BEAST, et bien plus encore.

ssllabs

En tant que meilleure pratique, vous devez exécuter le test Qualys après avoir apporté des modifications liées à SSL / TLS.

Quttera

Quttera vérifie le site Web pour les logiciels malveillants et les vulnérabilités exploitées

quettera

Il analyse votre site Web à la recherche de fichiers malveillants, de fichiers suspects, de fichiers potentiellement suspects, de PhishTank, de navigation sécurisée (Google, Yandex) et de la liste des domaines de logiciels malveillants.

Intrus

Intrus est un puissant scanner de vulnérabilité basé sur le cloud pour détecter les faiblesses de toute l’infrastructure des applications Web. Il est prêt pour l’entreprise et offre un moteur d’analyse de sécurité au niveau du gouvernement et des banques sans complexité.

intruder

Ses contrôles de sécurité robustes comprennent l’identification:

Intruder vous fait gagner du temps en hiérarchisant les résultats en fonction de leur contexte et en analysant de manière proactive vos systèmes à la recherche des dernières vulnérabilités. Il s’intègre également aux principaux fournisseurs de cloud (AWS, GCP, Azure) et Slack & Jira.

Vous pouvez essayer gratuitement Intruder pendant 30 jours.

UpGuard

Analyse Web UpGuard est un outil externe d’évaluation des risques qui utilise des informations accessibles au public pour classer.

upguard

Les résultats des tests sont classés dans les groupes suivants.

  • Risques du site Web
  • Risques liés aux e-mails
  • Sécurité Internet
  • Phishing et logiciels malveillants
  • Protection de la marque

Bon pour obtenir une posture de sécurité rapide de votre site Web.

SiteGuarding

SiteGuarding vous aide à analyser votre domaine à la recherche de logiciels malveillants, de listes noires de sites Web, de spams injectés, de dégradations et bien plus encore. Le scanner est compatible avec WordPress, Joomla, Drupal, Magento, osCommerce, Bulletin et une autre plateforme.

surveillance du site

SiteGuarding vous aide également à supprimer les logiciels malveillants de votre site Web, donc si votre site est affecté par des virus, ils seront utiles.

Observatoire

Mozilla a récemment introduit un observatoire, qui aide un propriétaire de site à vérifier divers éléments de sécurité. Il valide la sécurité de l’en-tête OWASP, les meilleures pratiques TLS et effectue des tests tiers à partir des laboratoires SSL, du pont de haute technologie, des en-têtes de sécurité, du préchargement HSTS, etc.

observatory-mozilla

Scanner de cookies Web

Scanner de cookies Web est un outil de sécurité tout-en-un gratuit adapté à l’analyse des applications Web. Il peut rechercher des vulnérabilités et des problèmes de confidentialité sur les cookies HTTP, les applets Flash, HTML5 localStorage, sessionStorage, Supercookies et Evercookies. L’outil propose également un scanner de logiciels malveillants d’URL gratuit et un scanner de vulnérabilité HTTP, HTML et SSL / TLS.

Web-CS

Pour utiliser cet outil, vous devez entrer le nom de domaine complet de votre site et cliquer sur Vérifier! Après un certain temps, vous obtiendrez un rapport complet sur les vulnérabilités, indiquant les détails de tous les problèmes détectés et un score global d’impact sur la confidentialité.

Vous pouvez utiliser le service à la demande gratuitement sans aucune restriction, ou vous pouvez vous abonner à un essai gratuit d’une API RESTful entièrement automatisée avec différents plans, qui offrent entre 100 et un nombre illimité d’analyses d’API par mois.

Detectify

Entièrement soutenu par des hackers éthiques, le Detectify le service de sécurité des domaines et des applications Web offre une sécurité automatisée et surveillance des actifs pour détecter plus de 1500 vulnérabilités.

detectify-findings

Sa capacité d’analyse des vulnérabilités comprend OWASP Top 10, CORS, Amazon S3 Bucket et les erreurs de configuration DNS. Le service Asset Monitoring surveille en permanence les sous-domaines, recherchant les prises de contrôle hostiles et alertant si des anomalies sont détectées.

Detectify propose trois plans tarifaires: Starter, Professional et Enterprise. Tous commencent par un essai gratuit de 14 jours, que vous pouvez prendre sans utiliser de carte de crédit.

Probablement

Probablement fournit un spécialiste de la sécurité virtuelle que vous pouvez ajouter à votre équipe de développement, votre équipe de sécurité, DevOps ou SaaS. Ce spécialiste de la sécurité analysera votre application Web et trouvera toutes ses vulnérabilités. Vous pouvez considérer Probely comme un médecin de famille qui vous donne des diagnostics périodiques et vous dit quoi faire pour résoudre tout problème.

probely

C’est un outil principalement conçu pour les développeurs, ce qui leur permet d’être plus indépendants en matière de tests de sécurité. Son approche de développement API-First garantit que toutes les fonctionnalités seront d’abord disponibles sur la version API du service. Il propose de nombreux plans tarifaires, dont un gratuit avec une capacité de numérisation légère.

Outils Pentest

Le scanner de vulnérabilité de site Web est un ensemble complet d’outils offerts par Outils Pentest qui comprennent une solution pour la collecte d’informations, les tests d’applications Web, les tests CMS, les tests d’infrastructure et les tests SSL. En particulier, le scanner de site Web est conçu pour découvrir les vulnérabilités courantes des applications Web et les problèmes de configuration du serveur.

Pentest-Tools

La société propose une version allégée de l’outil, qui effectue une analyse de sécurité Web passive. Il peut détecter de nombreuses vulnérabilités, notamment des paramètres de cookies non sécurisés, des en-têtes HTTP non sécurisés et des logiciels de serveur obsolètes. Vous pouvez effectuer jusqu’à 2 analyses complètes gratuites de votre site Web pour obtenir une évaluation complète. Les résultats vous indiqueront des vulnérabilités telles que l’inclusion de fichiers locaux, l’injection SQL, l’injection de commandes OS, XSS, entre autres.

ImmuniWeb

L’un des scanners de sécurité de site Web les plus populaires, ImmuniWeb, vérifie votre site par rapport aux normes suivantes.

  • Conformité PCI DSS et GDPR
  • En-têtes HTTP, y compris CSP
  • Test spécifique au CMS pour les sites WordPress et Drupal
  • Vulnérabilités de la bibliothèque frontale

immuniweb

Si vous utilisez WordPress, vous voudrez peut-être tester votre site contre Scanner de sécurité WordPress.

Conclusion

L’analyseur de sécurité mentionné ci-dessus convient pour un ou plusieurs tests à la demande. Cependant, si vous avez besoin d’analyser régulièrement, vous pouvez utiliser scanner de vulnérabilités open source or Basé sur SaaS.

Créer un BOT Telegram en 2021

Telegram est une application de messagerie instantanée. Outre les conversations avec vos amis, vous avez la possibilité de créer des BOTS. Ces programmes, avec lesquels vous pouvez dialoguer, peuvent rendre de nombreux services :

  • vous envoyer une notification sur l’état de votre serveur ou PC.
  • vous envoyer la température de votre salon.
  • vous informer d’une demande de contact sur votre site web.
  • vous envoyer le dernier GIF populaire sur Reddit.
  • vous envoyez un fichier et obtenez un résultat après traitement.
  • il est également possible d’écrire des jeux (échecs, poker…).
  • etc.

Je vous propose d’écrire un BOT qui vous enverra sur demande, les coordonnées GPS d’une commune. Je ne sais pas si c’est utile mais c’est pour l’exemple.

Telegram-gps

Pré-requis

Dans tous les cas il vous faut un site web avec le HTTPS activé. En effet, Telegram ne communique qu’avec ce protocole.

Créez votre BOT

Pour commencer, dans l’application Telegram, cherchez le BOT BotFather et cliquez sur START. Tapez /newbot puis entrez le nom de profil que vous souhaitez donner à votre BOT, par exemple “Mon bot”. On vous demande ensuite son nom d’utilisateur. Il doit impérativement se terminer par “bot” ou “Bot”.

Notez la clé d’API qui vous est donnée et qui ressemble à ceci :
123456789:AAA_A1-aaaaaaaaaaaaaaaaaaaaaaaaaaaa

Telegram-botfather

Le WebHook

Notre BOT doit recevoir les messages que l’utilisateur lui envoie via l’application.

Cela se fait via un webhook (crochet web), c’est-à-dire une page de votre site internet qui va traiter les messages. Disons par exemple : https://monsite.com/webhook.php.

Pour indiquer cette adresse à Télégram, il suffit de copier-coller le lien suivant dans votre navigateur :

https://api.telegram.org/botCLEAPI/setWebhook?url=https://monsite.com/webhook.php

Vous aurez bien sûr remplacé CLEAPI par celle obtenue au paragraphe précédent, et modifié la page de monsite.com par celle qui vous convient.
On obtient la réponse suivante :

{
	"ok": true,
	"result": true,
	"description": "Webhook was set"
}

Ainsi, quand quelqu’un écrira à votre BOT, Telegram enverra instantanément le message à l’adresse https://monsite.com/webhook.php.

Que contient cette page webhook.php ?

Voyons ce que Telegram nous envoie. Le code suivant lit les données transmises par Telegram est les écrit dans le fichier message.txt.

<?php
$content = file_get_contents('php://input');
file_put_contents('message.txt', $content);

Placez ce script sur votre site web, pour rappel à l’adresse https://monsite.com/webhook.php.

Ensuite, dans l’application Telegram, cherchez votre BOT via le nom que vous lui avez donné. Cliquez sur START et tapez un message.

Telegram-coucou

Un fichier message.txt est créé sur votre site, à côté de votre script webhook.php. Il contient toutes les informations utiles pour répondre et notamment le chat id :

{
	"update_id": 11111111,
	"message": {
		"message_id": 3,
		"from": {
			"id": 123456789,
			"first_name": "Vincent",
			"last_name": "TIM",
			"username": "bibidu95"
		},
		"chat": {
			"id": 123456789,
			"first_name": "Vincent",
			"last_name": "TIM",
			"username": "bibidu95",
			"type": "private"
		},
		"date": 1493483431,
		"text": "coucou"
	}
}

Il ne reste plus qu’à écrire le code pour répondre aux commandes de l’utilisateur.

Voici le code final du script webhook.php qui retourne les coordonnées GPS d’une commune. Remplacez les étoiles par votre clé API :

<?php
// clé API du Bot à modifier
define('TOKEN', '***************');

// récupération des données envoyées par Telegram
$content = file_get_contents('php://input');
$update = json_decode($content, true);

// l'utilisateur contacte le bot
if(preg_match('/^\/start/', $update['message']['text'])) {
    sendMessage($update['message']['chat']['id'], 'Bonjour '.$update['message']['from']['username'].' !');
    }

// l'utilisateur envoie la commande : /gps Paris
else if(preg_match('/^\/gps/', $update['message']['text'])) {
    $ville = preg_replace('/^\/gps /', '', $update['message']['text']);
    $jsonOSM = file_get_contents('https://nominatim.openstreetmap.org/search?format=json&q='.urlencode($ville));
    $jsonOSM = json_decode($jsonOSM, true);
    $gps = $jsonOSM[0]['display_name'].' : '.$jsonOSM[0]['lat'].','.$jsonOSM[0]['lon'];
    sendMessage($update['message']['chat']['id'], $gps);
    }

// l'utilisateur envoie n'importe nawak
else {
    sendMessage($update['message']['chat']['id'], 'Je n\'ai pas compris.');
    }

// fonction qui envoie un message à l'utilisateur
function sendMessage($chat_id, $text) {
    $q = http_build_query([
        'chat_id' => $chat_id,
        'text' => $text
        ]);
    file_get_contents('https://api.telegram.org/bot'.TOKEN.'/sendMessage?'.$q);
    }

Il ne vous reste plus qu’à adapter ce programme selon les besoins de votre service web. Et en orienté objet c’est mieux.

Pour information, votre BOT peut afficher un message d’accueil et les commandes disponibles. Pour cela dialoguez avec BotFather, allez dans Edit Bot puis Edit Description et Edit Commands.

Sachez également que vous pouvez envoyer des images, des zip, des gifs, des adresses web…

Références

Telegram Bot API

1) Introduction.

Nous allons aborder la question du protocole ‘SSL’ (Secure Sockets Layer) qui est un protocole de sécurisation des échanges sous internet. Pour ce faire, nous allons d’une part configurer apache et d’autre part créer et installer des certificats sous windows.

À l’origine, le standard SSL a été créé et développé par la société Netscape. Aujourd’hui SSL a évolué et l’on devrait plutôt parler de TLS (Transport Layer Security) dont la dernière version finalisée est la TLS v1.2 normalisé en 2008. Une nouvelle version, la TLS v1.3 est en cours d’élaboration depuis 2015, au moment où j’écris ce didicticiel.

Nous n’aborderons pas les questions historiques sur ces normes de sécurités, ni le fonctionnement des échanges entre le client et le serveur, mais simplement comment mettre en oeuvre ce protocole dans un environnement de test sous wampserver.

2) Ce qu’il faut savoir.

Pour les tests, j’ai utilisé deux navigateurs, à savoir Google Chrome et Mozilla Firefox. Je tiens à signaler qu’il existe quelques petites différences que nous aborderons au moment du rangement des certificats.

Comment reconnaitre l’état de sa connexion sous Google Chrome ? A vrai dire, j’ai travaillé sur ce navigateur car les symboles étaient bien plus parlant que chez les autres navigateurs.

Vous trouverez toutes les explications de ces symboles en vous rendant sur la page « Vérifier la connexion d’un site Web » de Google.

Si dans la barre des adresses, vous avez le symbole Blank Page Icon, votre connexion n’est pas sécurisé. Cela ne veut pas dire que vous avez un problème, mais que vous utilisez le protocole « http ». En cliquant sur ce symbole, voici ce que vous pouvez obtenir :

Connexion http non sécuriséeDans le cas d’un connexion sécurisée, vous devez voir apparaitre le symbole Cadenas Vert que l’on nomme cadenas vert. Il fait l’usage du protocole « https » et normalement, tout ce passe correctement, comme dans l’exemple ci-après :

Connexion https sécuriséeAvec ce symbole Cadenas barré, vous rencontrez un problème de sécurité, bien que vous fassiez l’usage du protocole « https » comme dans l’exemple ci-après :

Connexiion https non sécuriséeQuatrième et dernier symbole Cadenas attention, la connesion est sécurisée mais la clef publique est absente, comme dans l’exemple ci-après :

Connexion https sans clef publiqueVous risquez d’obtenir quelques différences d’interprétations avec les autres navigateurs, mais avec Google Chrome, nous aurons une interprétation facile à interpréter. Notre but, avec ce didacticiel est d’obtenir le cadenas vert Cadenas Vert pour nos connexion sécurisé.

3) Vérification à faire avant de faire nos tests.

Nous nous trouvons dans un WampServer normalement configuré, dont l’icône est de la couleur verte. Autrement dit, nous avons une configuration en état de marche. Pour effectuer nos tests, nous avons besoin d’activer des modules d’apache, et des extensions de php, pour utiliser le protocole SSL et créer nos certificats.

3-A) Activation des modules d’apache.

Nous nous rendons dans l’icône de WampServer, en cliquant dans l’onglet « apache », puis dans « Module d’apache ». Nous devons nous assurer que les deux modules suivants sont bien activés :

flechesocache_shmcb

flechessl

S’ils ne sont pas cochés, alors vous devez cliquer dessus. Cela va se traduire dans le fichier ‘httpd.conf’ par la suppression du commentaire devant les deux lignes suivantes :

LoadModule socache_shmcb_module        modules/mod_socache_shmcb.so
LoadModule ssl_module                  modules/mod_ssl.so

Normalement, il n’y a rien d’autre à faire, mais assurez-vous que ces modules sont bien présents dans le répertoire ‘/apache/modules’.

flechemod_socache_shmcb.so

flechemod_ssl.so

Sur ce point, nous reviendrons lors de la configuration d’apache afin d’introduire le protocole ‘SSL’ sur le site ‘localhost’.

3-B) Activation des extensions php.

Nous nous rendons aussi sous Wampserver, en cliquant dans l’onglet « php », puis dans « Extensions php ». Nous devons nous assurer que l’extension ‘OPENSSL’ soit bien activé.

flechephp_openssl

S’il n’est pas coché, vous devez cliquer dessus. Dans le fichier ‘php.ini’, vous obtiendrez l’extension sans commentaire et vous pouvez ajouter le paramétrage suivant :

extension = php_openssl.dll

[openssl]
openssl.cafile =
openssl.capath =

Nous laissons en l’état ce paramétrage, vu que l’autorité de certification (CA) sera renseigné sous apache. Afin de vérifier que l’extension ‘OPENSSL’ soit bien activé, nous nous rendons dans ‘phpinfo()’. Voici ce que nous devons obtenir :

extension php_openssl sous phpinfo()Normalement, c’est terminé. Vous pouvez vérifier que vous avez bien dans le répertoire « /php/ext » :

flechephp_openssl.dll

ainsi que les DLL dans le répertoire « /php » :

flechessleay32.dll

flechelibeay32.dll

Pour travailler avec cet extension ‘OPENSSL’, nous avons besoin du fichier ‘OPENSSL.CNF’ que nous trouvons, soit dans le répertoire « /php/extras/ssl » ou soit dans le répertoire « /apahe/conf ». À partir d’une de ces copies, nous allons créer un environnement de travail afin de créer nos certificats ‘SSL’.

4) Configuration d’apache.

Nous nous rendons dans le fichier ‘httpd.conf’ afin de renseigner d’une part la configuration ‘SSL’ général à tout le serveur Apache et d’autre part le site ‘localhost » en VirtualHost, qui va utiliser le protocole ‘https’. Dans mon ‘httpd.conf’, l’emplacement de WampServer est paramétré avec la variable d’apache « ${Repertoire} », qui contient la valeur « F:/Wamp ». C’est la seule particularité vis-à-vis de mon environnement.

Cette configuration se décompose en trois parties que voici :

4-A) Activation de l’écoute du port 443.

Nous ajoutons les directives suivantes afin de signaler à Apache que l’on désire faire une écoute sur les ports 80 et 443.

Listen 80 http
#
<IfModule ssl_module>
	listen 443 https
</IfModule>

Pourquoi ces deux ports ? Le protocole « http » utilise le port 80 pour ses échanges alors que le protocole « https » utilise avec le port 443. Il est donc impératif d’activer l’écoute du port 443 pour nos échanges sécurisés.

4-B) Configuration du protocole ‘SSL’.

Nous retrouvons nos deux modules que nous avons activé précédemment. Afin de pouvoir désactiver ces modules, nous devons toujours placer le paramétrage ‘SSL’ dans un bloc testant l’activation du module ‘SSL_MODULE’.

# -------------------------------------- #
#     Module SSL                         #
# -------------------------------------- #

LoadModule ssl_module                  modules/mod_ssl.so
LoadModule socache_shmcb_module        modules/mod_socache_shmcb.so

<IfModule ssl_module>
	SSLProtocol +All -SSLv3
#
	SSLRandomSeed startup builtin
	SSLRandomSeed connect builtin
#
	SSLCipherSuite HIGH:!aNULL:!MD5
#
	SSLPassPhraseDialog             builtin
#	
	SSLSessionCache                 "shmcb:${Repertoire}/tmp/ssl_scache(512000)"
	SSLSessionCacheTimeout          300
</IfModule>

Deux remarque à faire :

flecheNous rejetons le protocole SSLv3 car il a été interdit d’utilisation par le navigateur Mozilla Firefox (voir ce lien en anglais).

Suite aux vulnérabilités découvertes sur la version ‘SSLv3’, voici ce que vous pouvez ajouter :

	SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2
#
	SSLHonorCipherOrder On
	SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:HIGH:!MD5:!aNULL:!EDH:!RC4
#
	SSLCompression off

Ainsi nous utilisons que le protocole ‘TLS’ pour les version 1.0, 1.1 et 1.2 qui est la dernière.

La directive ‘SSLCipherSuite’ définie les algorityhmes de chiffrement que vous utilisez.

flecheDans nos certificats, nous n’utilisons pas de ‘Pass Phrase’. Si vous désirez mettre un mot de passe, voilà comme procéder :

	SSLPassPhraseDialog             "exec:${Version_Apache}/conf/Certificat/passphrase.txt"

Si vous désirez plus d’explication, je vous conseille de lire la documentation officielle d’apache.

4-C) La configuration du site ‘localhost’.

Nous avons configuré notre site ‘localhost’ avec le protocole ‘http’ pour le port 80, comme ci-après :

# -------------------------- #
#     Localhost sans SSL     #
# -------------------------- #

<VirtualHost 127.0.0.51:80>
	ServerName localhost
	ServerAdmin [email protected]
	DocumentRoot "${Repertoire}/www/"
#
	ErrorLog  "${Repertoire}/www/Logs/error.log"
	CustomLog "${Repertoire}/www/Logs/custom.log" common
#
	<Directory />
		Options -Indexes +FollowSymLinks +MultiViews
		AllowOverride none
		<RequireAny>
			Require local
		</RequireAny<
	</Directory>
</VirtualHost>

Afin de conserver un accès non sécurisé, nous pouvons laisser cette déclarative en l’état dans le fichier ‘httpd.conf.

Si vous désirez faire une redirection vers votre site sécurisé, autrement dit, vous désirez forcer l’url par un « https://localhost », il suffit dans ce virtualHost d’ajouter la ligne suivante :

	Redirect / https://localhost/

Nous ajoutons dans le fichier ‘httpd.conf’ cette autre déclarative de ‘localhost’, mais cette fois-ci sur le port 443 avec le protocole « https » sécurisé :

# -------------------------- #
#     Localhost avec SSL     #
# -------------------------- #

<IfModule ssl_module>
	<VirtualHost 127.0.0.51:443>
		ServerName localhost
		ServerAdmin [email protected]
		DocumentRoot "${Repertoire}/www/"
#
		ErrorLog  "${Repertoire}/www/Logs/error.log"
		CustomLog "${Repertoire}/www/Logs/custom.log" common
#
		SSLEngine on
		SSLCertificateFile      "${Version_Apache}/conf/Certificat/Site/localhost.crt"
		SSLCertificateKeyFile   "${Version_Apache}/conf/Certificat/Site/localhost.key"
#
#		SSLCACertificatePath    "${Version_Apache}/conf/Certificat/Ca"
		SSLCACertificateFile    "${Version_Apache}/conf/Certificat/Ca/Ca.crt"
#
		SSLVerifyClient none
		SSLVerifyDepth  10
#
		<Directory />
			SSLOptions +StdEnvVars
			Options    -Indexes +FollowSymLinks +MultiViews
			AllowOverride none
#
			<RequireAny>
				Require local
			</RequireAny>
		</Directory>
#
		<FilesMatch "\.(cgi|shtml|phtml|php)$">
#			SSLOptions +StdEnvVars
		</FilesMatch>
#
		BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
		CustomLog "f:/wamp/www/Logs/custom.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
	</VirtualHost>
</IfModule>

Quelques remarques :

flechenous avons conditionné le virtualHost en fonction de l’activation du module ‘SSL’. Sans cela, nous aurions une erreur en désactivant le module ‘SSL’.

fleche« SSLCertificateFile » désigne le certificat serveur qui a été signé par un CA. (CRT)

fleche« SSLCertificateKeyFile » désigne le fichier contenant la clef privée. (KEY)

fleche« SSLCACertificateFile » désigne le certificat d’autorité de certification (CA) auto-signé. (CA CRT)

fleche« SSLCACertificatePath » désigne le chemin vers un répertoire contenant tous les CA.

fleche« SSLVerifyClient » désigne la façon dont le client doit s’identifier.

fleche« SSLVerifyDepth » désigne le niveau de profondeur de la vérification du certificat client.

fleche« CustomLog » contient la nouvelle présentation des messages d’erreurs en provenance du ‘SSL’.

Pour tester une connexion sécurisée, c’est largement suffisant !

5) Comment créer nos certificats.

Pour ce faire, nous avons besoin de créer un environnement de travail, destiné à la création de nos certificats. Nous devons récupérer le fichier ‘OPENSSL.CNF’ que nous avon signalé ci-dessus, au paragraphe 3-B). Nous devons le modifier pour l’adapter à nos spécificités.

Vous pouvez nommer comme vous le désirez, votre répertoire de travail. À l’intérieur de celui-ci, pour stocker les étapes intermédiaires de la création de vos certificats, j’ai créé un répertoire de stockage, de nom « /certificats ». Je sais, ce n’est pas très original. Si vous désirez le modifier, vous pouvez le renommer comme bon vous semble. Ne pas oublier de le modifier dans le fichier ‘OPENSSL.CNF’ (ce qui est en rouge) dont voici un exemplaire, ci-après :

RANDFILE                       = ./Certificats/.rnd

#==================================================================#
[ ca ]
default_ca                     = CA_default

#==================================================================#
[ CA_default ]

dir                            = ./Certificats
certs                          = $dir/Cacerts
new_certs_dir                  = $dir/NewCerts
private_dir                    = $dir/Private    

database                       = $dir/Other/index.txt
serial                         = $dir/Other/serial.txt

certificate                    = $certs/ca.crt
private_key                    = $private_dir/ca.key
RANDFILE                       = $private_dir/ca.rnd

default_days                   = 4383
default_crl_days               = 30
default_md                     = md5
preserve                       = no

policy                         = policy_anything

Hormis le nom du répertoire de stockage, vous ne pouvez pas changer les autres répertoires, qui sont nécessaire à l’utilitaire ‘OPENSSL’.

Dans ‘Default_days’, j’ai mis une période de validité de douze ans, ce qui correspond exactement à une période couvrant quatre années bisextiles, soit 4383 jours. Je n’ai pas touché au reste du paramétrage.

Ci-après, nous définissons les champs qui sont obligatoires, de ceux qui sont facultatifs. Il vous est demandé quelques renseignements d’identifications de votre certificat.

#==================================================================#
[ policy_match ]
countryName                    = match
stateOrProvinceName            = match
localityName                   = match
organizationName               = optional
organizationalUnitName         = optional
commonName                     = supplied
emailAddress                   = optional

#==================================================================#
[ policy_anything ]
countryName                    = optional
stateOrProvinceName            = optional
localityName                   = optional
organizationName               = optional
organizationalUnitName         = optional
commonName                     = supplied
emailAddress                   = optional

Ci-après, nous définissons les valeurs par défaut et les caractéristiques du mot de passe.

#==================================================================#
[ req ]
default_bits                   = 4096
default_keyfile                = privkey.pem
distinguished_name             = req_distinguished_name
attributes                     = req_attributes

#==================================================================#
[ req_distinguished_name ]
countryName                    = Country Name (2 letter code)
countryName_default            = FR
countryName_min                = 2
countryName_max                = 2

stateOrProvinceName            = State or Province Name (full name)
stateOrProvinceName_default    = Aquitaine

localityName                   = Locality Name (eg, city)
localityName_default           =

0.organizationName             = Organization Name (eg, company)
0.organizationName_default     =

organizationalUnitName         = Organizational Unit Name (eg, section)
organizationalUnitName_default =

commonName                     = Common Name (eg, your website’s domain name)
commonName_max                 = 64

emailAddress                   = Email Address
emailAddress_default           = [email protected]
emailAddress_max               = 40

#==================================================================#
[ req_attributes ]
challengePassword              = A challenge password
challengePassword_min          = 4
challengePassword_max          = 20

Et enfin, les caractéristiques du certificat d’autorité (Authority Certificate = CA)

#==================================================================#
[ x509v3_extensions ]

# These extensions are added when 'ca' signs a request.

# This goes against PKIX guidelines but some CAs do it and some software
# requires this to avoid interpreting an end user certificate as a CA.

basicConstraints=CA:TRUE

# Here are some examples of the usage of nsCertType. If it is omitted
# the certificate can be used for anything *except* object signing.

# This is OK for an SSL server.
# nsCertType			= server

# For an object signing certificate this would be used.
# nsCertType = objsign

# For normal client use this is typical
# nsCertType = client, email

# and for everything including object signing:
# nsCertType = client, email, objsign

# This is typical in keyUsage for a client certificate.
# keyUsage = nonRepudiation, digitalSignature, keyEncipherment

# This will be displayed in Netscape's comment listbox.
nsComment			= "OpenSSL Generated Certificate"

# PKIX recommendations harmless if included in all certificates.
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer

# This stuff is for subjectAltName and issuerAltname.
# Import the email address.
# subjectAltName=email:copy
# An alternative to produce certificates that aren't
# deprecated according to PKIX.
# subjectAltName=email:move

# Copy subject details
# issuerAltName=issuer:copy

#nsCaRevocationUrl		= http://www.domain.dom/ca-crl.pem
#nsBaseUrl
#nsRevocationUrl
#nsRenewalUrl
#nsCaPolicyUrl
#nsSslServerName

# This is required for TSA certificates.
# extendedKeyUsage = critical,timeStamping

#==================================================================#
[ v3_req ]

# Extensions to add to a certificate request

basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment


#==================================================================#
[ v3_ca ]

# Extensions for a typical CA
# PKIX recommendation.

subjectKeyIdentifier=hash

authorityKeyIdentifier=keyid:always,issuer

# This is what PKIX recommends but some broken software chokes on critical
# extensions.
#basicConstraints = critical,CA:true
# So we do this instead.

basicConstraints = CA:true

6) Usage de la commande ‘OPENSSL’ pour créer nos certificats.

Le but de ce paragraphe est de montrer comment créer des certificats nécessaire à notre exemple :

flecheun certificat d’autorité de certification auto-signé que l’on note ‘CA’.

flecheun certificat serveur (CSR).

flecheun certificat client (PFX).

flechela clef privée (KEY).

Nous allons passer en revue les différents paramétrages de la commande ‘OPENSSL’ pour produire la création de nos trois certificats et de ma clef privée. Afin d’illustrer chaque commande, je donnerai le contenu du fichier ainsi produit.

7) Création d’un certificat d’authenticité auto-signé (CA).

Afin d’être dans un cas réel, nous avons besoin de créer un certificat faisant office d’autorité de certification noté CA, sous le nom ‘Artemus & Cie ».

Dans les étapes ci-après, nous détaillons la création de ce certificat CA qui va nous servir, par la suite, pour signer le certificat client que nous allons utiliser pour nous identifier vis-à-vis du serveur de nom ‘localhost’.

7-A) Générateur d’un nombre pseudo aléatoire.

openssl rand  -out %DIRNAME%/Private/Ca.rnd  -base64  1257

La variable d’environnement ‘%DIRNAME%’ contient le chemin vers le répertoire ‘/certificats’ que nous avons créé précédemment dans notre environnement.

Nous produisons un nombre aléatoire dont la longueur est de 1257 bits. C’est juste un exemple que nous utilisons et vous pouvez mettre autre chose que 1257. Voici ce que nous obtenons dans le fichier ‘ca.rnd’ :

xvVMxMaCINBjdiWwURQ9aPgyIrUyM6jP5DRsw3g/nCr3rjZ8j1Xai7FQcLLAqQ78
WgR5s8ATZC5I1/5JGZUSPRMdDUmCrKrgA3l44QTM7vAFk0MCBGYIvCHxM3aKoCG5
cE0yj5NlqckgbYsDHaqs/UPsPnMz0F+ApqjjdUL0kQzZ53N9txNgR5B6oQ2R8j0y
Yv2RyqrIvOwKa0QGLgFKZbKw8Q7FCYh0WnOLJU8v4YLzo2iekFwdSiiMmQ7QNZKo
4vxu7rP9dK5LdnPE01zpjDxslZ6DPazIE38HOfeEPFrp16r1rEEqfLSbpCuFgGBP
sP532oWTDQ03PG904ZScPZ21I7ysMyA1AyZS0SpcjLXgO/Ek6DEYkRVNXUS1WjGr
7ZQowiUqrOfLPj+YpUsRxdT3iodIxrbyaARx4jYfmFYFktYqaDOcgGlfDtiZ1d+k
BQaWi6KgB4SyHkXt5R/GPlBtTqdflCV+MOlSl0MKrC+UkPjtPmLMRga9Wl0caSW3
JeBPL+hWJ0ZayKtXMlwiOqSKn0wjw+7ba1NxF4HANeFVV3GwQB7ma3WagfA3P4Ei
O+qfCMaj7+BD+FTnRroVK0nz/JtlZtY9gRGf5SAyUchCGB2peb4g8GxbK3r1jmME
y/AGbtHINzAsRCxnIgFG4qbnFCQ6BnjUcnIYKj88OHQrujjuaC4c+dB/77VDmvLm
wSn/C1zYzwPDSQvLBZcOscY2TwTBNUrRcPKuIAElejq0QlVlj5miraBTgz+Jxn4d
1Sz+938XRkoLG2gjDnblQJiPFZ1fzS3oCt+b3/gvsQoeYtNPPbIUU0801O/p6CLU
aS3vriXTgnbvHzOX4CYAWBb3vGU4Ww7QGXJCPBTCFw5OO82ii6ALdTdbq/cE4PXS
4XhfHnQiouN4+f0M0hDjCCRs7RK0xKYq1/vd7x9bR95zVfxh0lUm7iZx7vNc6HkQ
lasQLOPxrpQu/lRsZxtjB+UIY8aOdRGeni9Qhjc9KacDlPpgWFd9syK7BfRJQoSi
kHBE9+K9CspQFE3x1MgoK2GYLHQAQUGrv+jQoA68CIEgjdryqXEQoMitAz0LR0b7
xNS1mdSryzwehKExzJcAJHDq1rKQSzV9qTKq5KJllHJ1pG/3GLyaMcSInYELLkZt
HLdTiOg+6W5gcai91AXz4imXZ+qkuiO7EXj/s8QazKjnrQLKcwY3opU6AXsIOfUi
55Qx/jG1afxj+0++eLqCaiqulN7dxcLjtN0/7CgqDOd5pOsOF5Q7j3WwE+jnPhem
1J+3Gc4a/ZMeN2VOa1jk5HryQVfDuVo/dMKJScKtAhAl5dstKMpsDujfhMwtmojw
AD7Od4pkvjhdHhBj1+r+BobHSghFlq9Jf/dhzvGEYDSivtRf1//AajmO23fltEvR
DOb5H+O3VVOLx8XLkZ3rbV/oqJWp22f03xh7av3IkbZm60O51FyalB+Njqsc2wr1
QGPkaPIbqmIy9M91GMOtSdiHfYYV4mwqrQcR9aF5BDgV5eL1exWDC91469TY8c1I
Nyv7IEQb4t2Lig3gqH+hGKEUIq+QQ0ZepEFlCI7yhQ75gItA7LhmrloztXdYA1Ut
DMNRlr0R2nNeRJBrear1pm9kotP0lYH7ij93etgwTt+mqCJQddUxfWzc6Af0eFze
TpZG1i1L5Ca5

Chaque ligne fait exactement 64 caractères, et il y a 26 lignes + 12 caractères, ce qui donne un total de 1676 caractères. À chaque exécution, vous obtenez une nouvelle séquence aléatoire.

7-B) Produire une clef RSA privée.

openssl genrsa  -out %DIRNAME%/Private/Ca.key  -rand %DIRNAME%/Private/Ca.rnd  4096

Nous reprenons la séquence aléatoire que nous avons produit précédemment. 4096 est la taille en bit de la clef privée. Voici ce que nous obtenons dans le fichier ‘Ca.key’ :

Aucun ‘pass phrase’ sera demandé lors de la création de la clef privée. Si vous en désirez un, il suffit d’ajouter l’un des codes d’encryptage ci-après : -aes128 -aes192 -aes256 -camellia128 -camellia192 -camellia256 -des -des3 -idea.

-----BEGIN RSA PRIVATE KEY-----
MIIJKgIBAAKCAgEAvKuydX2Dt0LXdz1B4nJnFmyyRNlDzj1IW6i185qHyfFA+xmu
hLyU767JeVl7/8zuY5L9q+2+mQ8UUhO1JOYTHovbJg0Zvfd+Mk+m0PbjtN9CkT4A
RF2u1iFyb/ai0JqqYc9SMrCKYToo9ktx7oOuN5B5yVhdb9gecEOxPXlEMMjER0QW
qb7qkPAJIB2pkCAesg8FqDQRJBhcUqkaclgERLbdGFwWhk9b3GY1P/F6ff7PG60I
axt7w6/8aNE2meFGM1cRyCdMqkUNpFvfMUAE3X2ITZbagdKFcIcNR5L968gE2dIW
QXm3/rIHC9gLcbepIS4QAipQ8QxEE9s65RJkZ2Ss6mc2WQuy7LFgdSCAcmsFrFVV
t8qGjoFs73kDynVkLEseh7jnxM4G46l6yDzFdW/aJmwSTyxVVBak/xY/ktQN4nX5
NHZ5bMANiaUoOjwR/vp2fxTrimO2tI8cDHeVoztiBm18z6TL+JdsbrVNCfgEMFlO
OYkKYzLYnHKZ66/3UFGuRXElaz6MMbc7mPXASS/Al3TlbWS/UWFiDRfZBQca689i
hzg1FXrYyfOqy4qH/71sR7E7cEC+GfttiqEYufmNzo68Jz+tSGMsJnSGzFubdC4w
1iBMW81usHlSYrvbwvWVklgek6WEw03p7Ec03NO9miuw5GFdSWBGu5/LhcsCAwEA
AQKCAgB7Sg/CKxUJiopWhxcorO2kf782smtWuEEydFsCJzcYxaha7ftXDgydW7CY
tdsL25TkSMevtBpa1rnGsM4soJRZ37aDdQgfVT2IDvjJkKxYI5TSaJuwETARCaZI
d/kJLCiu5dWm/ipPQrxFxiNbY31THfwXkMDuN2Icpn+J1lazMl7g2yOcJQAPWmv8
KqYFYpfsb1iZA/03gxvBgHOhyNZxOLXeFz844V779WZStLAA6aPZSAc6RqlnxPbC
YAS4JbfEEN+z1cqJcbpqbwa4nkcPndqWKT/8md9NG1OYM/vuObTBykF0499Sdm+Y
U8OWuhexcPJRF+nwur055Ibl7lDhB3D5GSXymdJG3JA8hIZ/51+cRLBQoPfegn48
V9FwWfXTV+NmSM6O8eTF6FxzwgiLRD8u/9JGWZVL/YleUCqg1bQzy4Rqqme2zKw1
eu7tQjy9rf+LLyv0BILX2q++jw7azxW3lv3KlpMeHRGBGuQbNZ9bAv+cIYj2j+FB
xL8LNWHF3JhSjQvdw8pJEZaEPOxF3nRb8OWDTtP8811Ou3YmPRgcvXpxmaF4oumj
ZJimeLVueYB1Xf8vjn7sZcNjXflVJrK/9c80YZXRRCWBYcEUl/qP4xErk8SXkgNk
OK472pssJl4q/LHbhdFvUNguQmU8dsoMWJbJHLKVhzWEH8SX8QKCAQEA7wJXQq+M
SsQ4Rm83GijyTXMzps77BdbqrlqTrsCEX2ngG6qK61Dm7fqmdFGCgIfwKVkN7ACu
wdNAuojt14niQyPQEOTMlJKhdtvs6PgXSEqXKFinb4WFr85XJhLZvUXvrZHI739R
ftkZakfpgNwg7EOilr0hkd5jQn6AayQpCg1IFB0uywQUm1rQ5gwG++up8zrbnRKF
idpD4U5z/1pgZBBge8JxehCW7t87bGSKoYJ/3cunUaEVkn8BZ12cHUTDW+dKoWde
OSrtzMgzEZio5QMPmXDn+5eIEJJ/L9HrfqZi+uR9pjwnL1ZXth0vD9irqr14YvT8
cID2j9KfjexBfwKCAQEAyhVC2YxcTY7axwcjVft3L4Uhog2radWZ72zkNlo6H0QX
F+WGx1HWhRro1PpuPLXzeaJ3tOp1uW1xd6WK+ibv0eKvup53EqEZYD/o8ZQFufZ8
eabOy3tBhFH57r88IcCoB4QLcVtqoomHb1RspWyCmiMWA1lf+kwx6D9R1AXxMx/9
wOIdcYARW7YmM2bLBKvHHXkVJ20FW9yBh+fgcM26xVCp08SHxcBwONLeDdTpEO3V
MX38kgb+xRD9pps0bwV/5iLoKEzMRcaXBaFhUgK5O83MWxIelLP+gqfcz2YpKmWG
zRF08TgI4B+7ehsNU1zSDh8vaM83OEuyvsoMeOxJtQKCAQEA08yjPzkJfYf8xo3v
qoL2laOs9fkdgcM+HFuv24BGzbapHls21+jNe75Om21P1E6iiEGekLDaLHDkP2jw
O7y4gP7PdukKUe7OnuGtQ5X2K93NrbdCSRVtrqmPmPHDenLrPkieY33T3jDM0N4B
Emv/0N7uyd24Tedg1p/7dPaKV5oFca2atdVb3X/Q9stZtQzVgfF6g+rR46ND2/kF
2hdgq8vHdGSO4riox+2SXy+Jmi5m2UmLcE7rKvLZb5wIp/czl9GS1Q0g9lAQgxQ2
DTXXFXps7HCdYtqZfPYVN28y3PzdYa/xmMpdfxloiL274rMDDT7x2991hM0DsdfY
BJCESQKCAQEAmm5DBwNnqnGIKV8AFv4z5+HCgRgXLarpl3nMsOik0C31w/JI3Ftj
J5cX5WJ4Cfc2WHbbKiueyZSkiL2+hkppLSkiB+h/sIHiZZaRisQG2EVQfJsIH6JS
wC7xZA1Kg7S58/xpzjgBNrMJCAApgwV4jRhRA0Ayw5Gk9golm3TrDZneDp/9xjYL
jd2WNePRNAGeCZz1mIqM9NV/O3/tGeduWsm47rea1nmoiRREU6eocKKAMPFJqcKk
wa6pWL/1Av7d7d4xMlL2LECGOuxH9idUrSopiFNBgXxH/EsRyIEW5mpt6Jr1lj2v
Mq+tUrQHq/QcJmSYk2z/kwruTzUS8PoJnQKCAQEAm8rTSczTMYDnSXYknz0XPdsf
s7boT8ipibk36PdS4Z+53zgsoJ2AgUnZY22GvVxqKF6ttHdy2tpQpMC8DqovvLJ0
IJ+EA+e5b/xCz3oLdMau1UBOySgRo+wHmIOQSDG1JZMEzfBtjBLxCRx2ZWlJQHcc
YoD7W92cV3uIIufndvmUqo+yRu0ZoR8Np+3kAk+hfzdQdWFFJ6YiL6cRZszwnxzG
F0qZyE7I36QSV62fIvKR6r0L5t5kXXhHnDMMBH/4jYOiMku751M8Qn32gPEfRPYo
CenV/axKgor/NzpmP02BkwmOLIY86AcF6rzHb38KLX4vWrAIMchq42O1guMopg==
-----END RSA PRIVATE KEY-----

Nous avons deux lignes servant de prologue et d’épilogue à chaque contenu, dont le message commence et se termine toujours par cinq tirets. Nous retrouverons ce même format dans les autres fichiers produit par la commande ‘OPENSSL’.

7-C) Création d’une demande de signature.

openssl req  -new  -sha256  -key %DIRNAME%/Private/Ca.key  -out %DIRNAME%/Cacerts/Ca.csr
  -subj "/C=FR/ST=Aquitaine/L=/O=Artemus & Cie/CN=Artemus & Cie"

Pour créer cette demande de signature, nous nous servons de la clef privée créé précédemment. Nous renseignons cette demande avec les caractéristiques qui nous intéresse. Ici, mon futur certificat se nommera ‘Artemus & Cie’. Voici la requête que nous obtenons dans le fichier ‘Ca.csr’ :

-----BEGIN CERTIFICATE REQUEST-----
MIIEqjCCApICAQAwZTELMAkGA1UEBhMCRlIxEjAQBgNVBAgMCUFxdWl0YWluZTES
MBAGA1UEBwwJTW9udGlnbmFjMRYwFAYDVQQKDA1BcnRlbXVzICYgQ2llMRYwFAYD
VQQDDA1BcnRlbXVzICYgQ2llMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
AgEA0f4LWQPPRu33LiWiQQKukJfVfKLNPouykc90FL7CrW8ymaayW+0nj/FVrca6
016a3CC2YiYq/FQabvKMwsruo+BzmvDYNY7kNIXpPFeadQKxWTkssCVvGICeZT54
8W685uKjFIvBZLqP5ncNv6LZrFS6/vZTt9TVFuGAzNje9vBH4Ry4cqnWPbXc/pFi
/UbYxdD/NbZQHZCVOVZCDeivYiiGlZLyutbi39CgXtqIztj5ldOvemexx5aXGyba
SO811wgZMjBIliwnUmNpRAUMWWLLSVHHpU58xTKcUTeNUnxT+MiDdOUKhr3tXrsC
aT0XfMRHxnnnc33WNLXhJr9yac44dUZzTXf0cpmSvwBmjTNU2WJB72YnrLfhoV7U
4QfTB3kFzg8/i59Qlv3WBaLn/0+FOIhgx5gKg0blqD4+WqNNqZ8GchfzM2Yp1UYg
Ol8gP5Kf2Y3uTxsN9LGMF4XdZoj/AEtxqZupW6VjpSYJnEwvJIIQKRn7KT2tU/lr
x+ys8BDq9+BjmuAJ1KF1FIUy388dTZO51EQdf10UYYUXQ6Rvzr1UYIMr/qoRGz0+
QxGM03IBbeRVC6jmxYBVUIbNiX95W9pPWz4kSPf7p8Gc1X9ucN/Ols3yivMM4oE1
DLctKfdA7BkyU2mNn9/7L+g1FDWknDk88d2wTGdYiJzvLZsCAwEAAaAAMA0GCSqG
SIb3DQEBCwUAA4ICAQCqtSo7jS80reISJ1dG5pj7ufLeSqoCj1m8H7oqpWV0Vt+l
CRw/oFw7n4B2lzhLFKD+uYYxGhL0aWhyMMqCCCZR3r08b8HRZtmx17RW3o1YdU/z
z2X6b1Bue8XytgUGiKbeZQh2dByVrDhMZ2XVkkqbr65U8t6XujjUPMj3FnvtSFgI
KLqWDD9KTG9TnuL7exUXW6hSepZpUnRI64kyJcVA97EZQjg7+K1YhuQOftL58qrZ
PfHiuBfS4ht4W9NyPVFaGMnWlE556AdR+UJ925G4lawOhWoqWN9ZplB4/90rbVDS
PeBf2m2aMYbkcceIMthRxyWItyQrWZdQPlWXR+w+J04hljIvqR1dgInmwz1qyS3V
6bA09EiM/nNJB0pp3yF2Ks7Ymh/pYzGkDLBG5IaJcpFroUTApWAbQiTjtUZmXRyP
rVz/A7gTTSUbvRLZ8ZPZbKMjQoyStBS+dXpeLvphpfRPMM2asxc1gEuYvDY4CvWf
Qyb7wVbTS+7/MU6s9/Po7pdUEID5jvChgj+AT11BlRTDhdcwTZ2tfL4QtU5ZK3w8
A84/kEN4pZBAuk5QUHoloythGDFRwbwU5hbfw6jEKNxWJBHdhNBzPkEht1F17Y7s
wx1snWovzAonNmBTN7mHCo12aF6HHzM0TRz96c+2TUAaGkGgvENJwMrnthoL1g==
-----END CERTIFICATE REQUEST-----

7-D) Création d’un certificat auto-signé.

openssl x509  -req  -days 4383  -sha256  -in %DIRNAME%/Cacerts/Ca.csr
  -signkey %DIRNAME%/Private/Ca.key  -out %DIRNAME%/Cacerts/Ca.crt

Pour créer ce certificat auto-signé, nous nous servons de la demande de signature et de la clef RSA privée. En fait, la demande de signature n’était pas nécessaire mais nous avons préféré décomposer les étapes afin de comparer le résultat lors de la création d’un certificat client signé, justement ce certificat d’autorité.

-----BEGIN CERTIFICATE-----
MIIFRjCCAy4CCQDkCFUxKTZCzzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJG
UjESMBAGA1UECAwJQXF1aXRhaW5lMRIwEAYDVQQHDAlNb250aWduYWMxFjAUBgNV
BAoMDUFydGVtdXMgJiBDaWUxFjAUBgNVBAMMDUFydGVtdXMgJiBDaWUwHhcNMTUw
MzI5MTYwMTM0WhcNMjcwMzI5MTYwMTM0WjBlMQswCQYDVQQGEwJGUjESMBAGA1UE
CAwJQXF1aXRhaW5lMRIwEAYDVQQHDAlNb250aWduYWMxFjAUBgNVBAoMDUFydGVt
dXMgJiBDaWUxFjAUBgNVBAMMDUFydGVtdXMgJiBDaWUwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQDR/gtZA89G7fcuJaJBAq6Ql9V8os0+i7KRz3QUvsKt
bzKZprJb7SeP8VWtxrrTXprcILZiJir8VBpu8ozCyu6j4HOa8Ng1juQ0hek8V5p1
ArFZOSywJW8YgJ5lPnjxbrzm4qMUi8Fkuo/mdw2/otmsVLr+9lO31NUW4YDM2N72
8EfhHLhyqdY9tdz+kWL9RtjF0P81tlAdkJU5VkIN6K9iKIaVkvK61uLf0KBe2ojO
2PmV0696Z7HHlpcbJtpI7zXXCBkyMEiWLCdSY2lEBQxZYstJUcelTnzFMpxRN41S
fFP4yIN05QqGve1euwJpPRd8xEfGeedzfdY0teEmv3Jpzjh1RnNNd/RymZK/AGaN
M1TZYkHvZiest+GhXtThB9MHeQXODz+Ln1CW/dYFouf/T4U4iGDHmAqDRuWoPj5a
o02pnwZyF/MzZinVRiA6XyA/kp/Zje5PGw30sYwXhd1miP8AS3Gpm6lbpWOlJgmc
TC8kghApGfspPa1T+WvH7KzwEOr34GOa4AnUoXUUhTLfzx1Nk7nURB1/XRRhhRdD
pG/OvVRggyv+qhEbPT5DEYzTcgFt5FULqObFgFVQhs2Jf3lb2k9bPiRI9/unwZzV
f25w386WzfKK8wzigTUMty0p90DsGTJTaY2f3/sv6DUUNaScOTzx3bBMZ1iInO8t
mwIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQAZFYHeWlkGoYwBXxZHQCnWazRzETuV
Mut8r+DRVPmQzf3KbT1/ka5/+darR3VK+tI7nch7os8fCWLKnT3kMF6xe9Epo5aX
FmfLfleYnAE5h+njQrOWt+Y4Nsiw7P3NTWvmTaKglT21Ez5x0L3vAO235nOUz0aR
zAGn5mudbOYeeYhJbBZa0CrtSKowmaBDAef9RBrVltqGyF0oG/SLlEv5/p5v8KL2
lpB/SgL0Ijb+0takgaKikgwEweicFu5h3LrMGe6VQ2cr6ICnniu89b9LBgp+HbZ7
cIJjIJlya1QoMJNkFdHH9rXqlLz8R5721AjM4QzsCPJ7FtVSU5i9poHx7QmuFY46
lH41qknOqcu7lKmRA/Embmwe9q8Oxc2P3V1DLdI0I8F9FJZQifL7QRRO33r+aQvt
Ig3jCQ0UyEnuNg/Ytf1Db/3vcAVxz6kDt++/HGy2dhwjnV5Cf04HvZW7melppXiA
xO3+7d/WrmzjAVOHKanxkf+dO/sl6QTnMLaQ9knwEjPCHuHE80zBTI6jLWUaiKaB
OF9p+qnos9O0a/rCu4tSzAqSqRDmj/RpjVWsfgP2lR+4pbnLe2LJ7uUe0PFTmm+t
EeY3X1WQwnEGQHQ8iJeH4HsJIsY88Zm0/6sRsYF+xcsvJfkpS73Rgxv55omdl348
41Q9xOPgFRz2XQ==
-----END CERTIFICATE-----

Ce certificat qui est un ‘CA’ (certificate Authority en anglais) va nous servir pour signer le certificat client que nous allons créer un peu plus bas dans ce didacticiel.

7-E) Visualisation du certificat CA.

openssl x509  -in %DIRNAME%/Cacerts/Ca.crt  -noout  -text

Dans cet exemple, nous obtenons la visualisation du certificat CA auto-signé que nous avons produit ptécédemment. Voici le résultat obtenu :

Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number:
            e4:08:55:31:29:36:42:cf
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=FR, ST=Aquitaine, L=, O=Artemus & Cie, CN=Artemus & Cie
        Validity
            Not Before: Mar 29 16:01:34 2015 GMT
            Not After : Mar 29 16:01:34 2027 GMT
        Subject: C=FR, ST=Aquitaine, L=, O=Artemus & Cie, CN=Artemus & Cie
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:
                    00:d1:fe:0b:59:03:cf:46:ed:f7:2e:25:a2:41:02:
                    ae:90:97:d5:7c:a2:cd:3e:8b:b2:91:cf:74:14:be:
                    c2:ad:6f:32:99:a6:b2:5b:ed:27:8f:f1:55:ad:c6:
                    ba:d3:5e:9a:dc:20:b6:62:26:2a:fc:54:1a:6e:f2:
                    8c:c2:ca:ee:a3:e0:73:9a:f0:d8:35:8e:e4:34:85:
                    e9:3c:57:9a:75:02:b1:59:39:2c:b0:25:6f:18:80:
                    9e:65:3e:78:f1:6e:bc:e6:e2:a3:14:8b:c1:64:ba:
                    8f:e6:77:0d:bf:a2:d9:ac:54:ba:fe:f6:53:b7:d4:
                    d5:16:e1:80:cc:d8:de:f6:f0:47:e1:1c:b8:72:a9:
                    d6:3d:b5:dc:fe:91:62:fd:46:d8:c5:d0:ff:35:b6:
                    50:1d:90:95:39:56:42:0d:e8:af:62:28:86:95:92:
                    f2:ba:d6:e2:df:d0:a0:5e:da:88:ce:d8:f9:95:d3:
                    af:7a:67:b1:c7:96:97:1b:26:da:48:ef:35:d7:08:
                    19:32:30:48:96:2c:27:52:63:69:44:05:0c:59:62:
                    cb:49:51:c7:a5:4e:7c:c5:32:9c:51:37:8d:52:7c:
                    53:f8:c8:83:74:e5:0a:86:bd:ed:5e:bb:02:69:3d:
                    17:7c:c4:47:c6:79:e7:73:7d:d6:34:b5:e1:26:bf:
                    72:69:ce:38:75:46:73:4d:77:f4:72:99:92:bf:00:
                    66:8d:33:54:d9:62:41:ef:66:27:ac:b7:e1:a1:5e:
                    d4:e1:07:d3:07:79:05:ce:0f:3f:8b:9f:50:96:fd:
                    d6:05:a2:e7:ff:4f:85:38:88:60:c7:98:0a:83:46:
                    e5:a8:3e:3e:5a:a3:4d:a9:9f:06:72:17:f3:33:66:
                    29:d5:46:20:3a:5f:20:3f:92:9f:d9:8d:ee:4f:1b:
                    0d:f4:b1:8c:17:85:dd:66:88:ff:00:4b:71:a9:9b:
                    a9:5b:a5:63:a5:26:09:9c:4c:2f:24:82:10:29:19:
                    fb:29:3d:ad:53:f9:6b:c7:ec:ac:f0:10:ea:f7:e0:
                    63:9a:e0:09:d4:a1:75:14:85:32:df:cf:1d:4d:93:
                    b9:d4:44:1d:7f:5d:14:61:85:17:43:a4:6f:ce:bd:
                    54:60:83:2b:fe:aa:11:1b:3d:3e:43:11:8c:d3:72:
                    01:6d:e4:55:0b:a8:e6:c5:80:55:50:86:cd:89:7f:
                    79:5b:da:4f:5b:3e:24:48:f7:fb:a7:c1:9c:d5:7f:
                    6e:70:df:ce:96:cd:f2:8a:f3:0c:e2:81:35:0c:b7:
                    2d:29:f7:40:ec:19:32:53:69:8d:9f:df:fb:2f:e8:
                    35:14:35:a4:9c:39:3c:f1:dd:b0:4c:67:58:88:9c:
                    ef:2d:9b
                Exponent: 65537 (0x10001)
    Signature Algorithm: sha256WithRSAEncryption
         19:15:81:de:5a:59:06:a1:8c:01:5f:16:47:40:29:d6:6b:34:
         73:11:3b:95:32:eb:7c:af:e0:d1:54:f9:90:cd:fd:ca:6d:3d:
         7f:91:ae:7f:f9:d6:ab:47:75:4a:fa:d2:3b:9d:c8:7b:a2:cf:
         1f:09:62:ca:9d:3d:e4:30:5e:b1:7b:d1:29:a3:96:97:16:67:
         cb:7e:57:98:9c:01:39:87:e9:e3:42:b3:96:b7:e6:38:36:c8:
         b0:ec:fd:cd:4d:6b:e6:4d:a2:a0:95:3d:b5:13:3e:71:d0:bd:
         ef:00:ed:b7:e6:73:94:cf:46:91:cc:01:a7:e6:6b:9d:6c:e6:
         1e:79:88:49:6c:16:5a:d0:2a:ed:48:aa:30:99:a0:43:01:e7:
         fd:44:1a:d5:96:da:86:c8:5d:28:1b:f4:8b:94:4b:f9:fe:9e:
         6f:f0:a2:f6:96:90:7f:4a:02:f4:22:36:fe:d2:d6:a4:81:a2:
         a2:92:0c:04:c1:e8:9c:16:ee:61:dc:ba:cc:19:ee:95:43:67:
         2b:e8:80:a7:9e:2b:bc:f5:bf:4b:06:0a:7e:1d:b6:7b:70:82:
         63:20:99:72:6b:54:28:30:93:64:15:d1:c7:f6:b5:ea:94:bc:
         fc:47:9e:f6:d4:08:cc:e1:0c:ec:08:f2:7b:16:d5:52:53:98:
         bd:a6:81:f1:ed:09:ae:15:8e:3a:94:7e:35:aa:49:ce:a9:cb:
         bb:94:a9:91:03:f1:26:6e:6c:1e:f6:af:0e:c5:cd:8f:dd:5d:
         43:2d:d2:34:23:c1:7d:14:96:50:89:f2:fb:41:14:4e:df:7a:
         fe:69:0b:ed:22:0d:e3:09:0d:14:c8:49:ee:36:0f:d8:b5:fd:
         43:6f:fd:ef:70:05:71:cf:a9:03:b7:ef:bf:1c:6c:b6:76:1c:
         23:9d:5e:42:7f:4e:07:bd:95:bb:99:e9:69:a5:78:80:c4:ed:
         fe:ed:df:d6:ae:6c:e3:01:53:87:29:a9:f1:91:ff:9d:3b:fb:
         25:e9:04:e7:30:b6:90:f6:49:f0:12:33:c2:1e:e1:c4:f3:4c:
         c1:4c:8e:a3:2d:65:1a:88:a6:81:38:5f:69:fa:a9:e8:b3:d3:
         b4:6b:fa:c2:bb:8b:52:cc:0a:92:a9:10:e6:8f:f4:69:8d:55:
         ac:7e:03:f6:95:1f:b8:a5:b9:cb:7b:62:c9:ee:e5:1e:d0:f1:
         53:9a:6f:ad:11:e6:37:5f:55:90:c2:71:06:40:74:3c:88:97:
         87:e0:7b:09:22:c6:3c:f1:99:b4:ff:ab:11:b1:81:7e:c5:cb:
         2f:25:f9:29:4b:bd:d1:83:1b:f9:e6:89:9d:97:7e:3c:e3:54:
         3d:c4:e3:e0:15:1c:f6:5d

Nous constatons que ce certificat contient une clef public.

7-F) Extraction de la clef publique.

openssl rsa  -in %DIRNAME%/Private/Ca.key  -pubout  -out %DIRNAME%/Private/Ca.pbc

Nous suffixons le fichier contenant la clef publique des trois lettres ‘PBC’ extraite du mot PuBliC en anglais. Voici le contenu de ce fichier :

-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0f4LWQPPRu33LiWiQQKu
kJfVfKLNPouykc90FL7CrW8ymaayW+0nj/FVrca6016a3CC2YiYq/FQabvKMwsru
o+BzmvDYNY7kNIXpPFeadQKxWTkssCVvGICeZT548W685uKjFIvBZLqP5ncNv6LZ
rFS6/vZTt9TVFuGAzNje9vBH4Ry4cqnWPbXc/pFi/UbYxdD/NbZQHZCVOVZCDeiv
YiiGlZLyutbi39CgXtqIztj5ldOvemexx5aXGybaSO811wgZMjBIliwnUmNpRAUM
WWLLSVHHpU58xTKcUTeNUnxT+MiDdOUKhr3tXrsCaT0XfMRHxnnnc33WNLXhJr9y
ac44dUZzTXf0cpmSvwBmjTNU2WJB72YnrLfhoV7U4QfTB3kFzg8/i59Qlv3WBaLn
/0+FOIhgx5gKg0blqD4+WqNNqZ8GchfzM2Yp1UYgOl8gP5Kf2Y3uTxsN9LGMF4Xd
Zoj/AEtxqZupW6VjpSYJnEwvJIIQKRn7KT2tU/lrx+ys8BDq9+BjmuAJ1KF1FIUy
388dTZO51EQdf10UYYUXQ6Rvzr1UYIMr/qoRGz0+QxGM03IBbeRVC6jmxYBVUIbN
iX95W9pPWz4kSPf7p8Gc1X9ucN/Ols3yivMM4oE1DLctKfdA7BkyU2mNn9/7L+g1
FDWknDk88d2wTGdYiJzvLZsCAwEAAQ==
-----END PUBLIC KEY-----

7-G) Conclusion.

Tout ce dont nous avons besoin est le fichier noté ‘Ca.crt’ pour, d’une part signer le certificat client et d’autre part l’introduire dans le répertoire ci-après :

SSLCACertificateFile    "${Version_Apache}/conf/Certificat/Ca/Ca.crt"

Dans le cas de la signature du certificat serveur, nous avons également aussi besoin de la clef privée noté ‘Ca.key’.

8) Création du certificat serveur, client et de la clef privée.

Je ne vais pas détailler à nouveau les commandes que nous venons de voir, car nous allons devoir les utilise pour créer nos certificats. Entre autre, créer un nombre pseudo-aléatoire (paragraphe 7-A) où il suffit de changer la taille de ce qui sera produit (mettez autre que chose que 1257) et créer une clef privée (paragraphe 7-B). Il faut juste renommer les fichiers en remplaçant ‘Ca’ par ‘Server’.

 

8-A) Création d’une demande de signature pour certificat serveur.

openssl req  -new  -sha256  -key %DIRNAME%/Server/Server.key  -out %DIRNAME%/Server/Server.csr
  -subj "/C=FR/ST=Aquitaine/L=/O=Artemus & Cie/CN=Localhost"

C’est pratiquement identifique au paragraphe 7-C). Afin de faire le lien avec le certificat CA, nous mettons l’identité du CA qui est ‘Artemus & Cie’. Nous précisons aussi pour quel site nous créer ce certificat. Ici, il s’agit de ‘localhost’.

8-B) Création d’une demande de signature pour certificat serveur.

openssl x509  -req  -days 4383  -sha256  -in %DIRNAME%/Server/Server.csr  -CA %DIRNAME%/Cacerts/Ca.crt
  -CAkey %DIRNAME%/Private/Ca.key  -CAcreateserial  -out %DIRNAME%/Server/Server.crt

Nous retrouvons la demande de signature qui est le fichier ‘server.csr’. Afin de faire le lien avec le certificat CA, nous indiquons le certificat CA de nom ‘Ca.crt’ et la clef privée de nom Ca.key’.

Je ne me suis pas trop compliqué l’existence, puisque j’ai repris la même durée que pour le certifricat CA, c’est-à-dire une période de validité de douze ans, qui correspond à une période de quatre années bisextiles, soit 4383 jours.

8-C) Création du certificat client.

openssl pkcs12  -export  -in %DIRNAME%/Server/Server.crt  -inkey %DIRNAME%/Server/Server.key
  -out %DIRNAME%/Server/Server.pfx  -clcerts  -descert  -name "Client Localhost Certificate"

Nous créons le certificat client à partir du certificat serveur, en effectuant une conversion au format PFX ou P12. Nous devons préciser quelques paramètres comme ci-après :

fleche« -export » permet de faire cette conversion.

fleche« -clcerts » définit qu’il s’agit d’un certificat client.

fleche« -descert » triple encryptage ‘DES’ du certificat afin de le rendre illisible.

fleche« -name » nous donnons un nom à ce certificat.

C’est ce certificat que nous nommons client ! PFX ou P12 sont synonymes. Il faut savoir qu’un mot de passe sera demandé lors de la création de ce certificat client. Il faudra s’en souvenir.

8-D) Visualisation du certificat client.

openssl pkcs12  -info  -passout file:./%DIRNAME%/Other/Password.txt  -in %DIRNAME%/Server/Server.pfx

Nous retrouvons dans la fichier ‘password.txt’ le mot de passe que nous avons saisi à l’étape précédent.

Cette commande est le pendant du paragraphe 7-E).

8-E) Conclusion.

Nous avons créé tous nos fichiers en les préfixant avec le mot « Server » afin de les distinguer du « Ca » qui est un certificat à part.

Voici les certificats que nous avons créé dans cette deuxième partie :

flechecertificat serveur de nom « server.crt » que nous renommons en « localhost.crt ».

flecheclef privée du certificat serveur de nom « server.key » que nous renommons en « localhost.key ».

flechecertificat client de nom « server.pfx ». Nul besoin de changer son nom.

Nous rangeons les deux fichiers préfixés ‘localhost’ dans le répertoire ci-après :

SSLCertificateFile      "${Version_Apache}/conf/Certificat/Site/localhost.crt"
SSLCertificateKeyFile   "${Version_Apache}/conf/Certificat/Site/localhost.key"

Ne pas oublier de « relancer les services » de WampServer après avoir terminé vos modifications dans Apache, même pour l’introduction des certificats dans les répertoires ci-dessus. Normalement, la création de nos certificats est terminée.

9) Test du protocole HTTPS pour le site ‘localhost’.

Pour l’instant, tout ce que nous venons de faire, c’est de créer nos certificats, et de les ranger dans les répertoires utilisés par Apache, c’est-à-dire le serveur Web.

Si dans le navigateur « Google Chrome », nous tappons dans la barre des adresses « http://localhost », vous devez accéder au site ‘localhost’. C’est tout à fait normal car vous n’utilisez pas le protocole de sécurité ‘https’.

Si nous tappons maintenant « https://localhost », cette fois-ci, Google Chrome vous indique le message d’erreur suivant : « Erreur de connexion SSL ». C’est tout à fait normal car vous demandez d’accéder à un site sécurisé sans que le certificat client soit reconnu sur votre ordinateur.

Si nous faisons le même test avec le navigateur « Mozilla Firefox », nous avons le même problème mais avec un autre message :

message d'erreur Mozilla FirefoxPour résoudre ce problème, nous devons appliquer le rangement du certificat ‘CA’ selon le navigateur.

9-A) Le navigateur « Google Chrome ».

Ce navigateur, comme « Opera » ou Microsoft Internet Explorer » ou encore « Safari » utilise les magasins des certificats de Windows pour vérifier les autorisations. Pour accéder à l’utilitaire de Windows qui gère ces magasins, vous devez dans l’invite de commandes, tapez la ligne suivante :

certmgr.msc

Un magasin en particulier nous intéresse :

flecheAutorités de certification racines de confiance / certificats.

Nous allons détailler comment ranger notre certificat.

9-A-1) Le magasin « Autorités de certification racines de confiance ».

Nous allons ranger le certificat ‘CA’, qui se trouve dans le répertoire « /Certificats/Cacerts » sous le nom de « Ca.crt » dans le magasin « Autorités de certification racines de confiance ». Il suffit de cliquer avec le bouton droite de la souris sur ce certificat et cliquer sur « installer le certificat ».

On coche « placer tous les certificats dans le magasin suivant ». Et ce magasin est « autorités de certification racines de confiance », et on valide. Une deuxième validation vous sera demandé, genre avertissement, en précisant les caractéristiques de ce certificat Ca, comme ci-après :

Avertissement certificat CASi vous refaites le même test avec le navigateur « Google Chrome », on vous demande de sélectionner le certificat client et cette fois-çi, vous obtenez le cadenas vert ! Ca y est, vous avez un site sécurisé.

9-B) Le navigateur « Mozilla Firefox ».

Après voir fait le rangement des certificats dans les magasins de Windows, nous faisons le même test avec le navigateur « Mozilla Firefox » et nous obtenons le message d’anomalie déjà signalé.

Pourquoi avons-nous ce message ? Qu’est-ce que nous avons oublié de faire ?

Il faut savoir que « Mozilla Firefox » n’utilise pas les magasins de windows mais a ses propres magasins, que l’on trouve en tapant dans le navigateur sur l’onglet « outils », puis « options », sur « avancé » et enfin sur l’onglet « certificats ». Nous cliquons maintenant sur « afficher les certificats ».

9-B-1) Le magasin « autorités ».

Comme au paragraphe 9-A-1), pour importer le certificat ‘CA’, nous devons cliquer sur le bouton « importer » qui se trouve en bas de la page.

Une demande de renseignement vous est demandé comme ci-après :

Information complémentaireNous cochons les trois cases, puisque nous sommes en test local sur notre ordinateur.

Nous faisons le test et cette fois-ci, nous avons la confirmation de la sélection du certificat, comme dans le cas de « Google Chrome », comme ci-après :

Demande de confirmationNous acceptons, et nous avons l’accès à notre site « localhost » sécurisé.

À la différence de « Google Chrome », nous pouvons ne plus obtenir cette confirmation, en venant dans le paragraphe « lorsqu’un serveur demande mon certificat personnel : », on coche alors sur la case « en sélectionner un automatiquement ».

9-C) Nécessité d’avoir le certificat client et le certificat Ca.

Nous avons réussi à obtenir un accès avec le protocole « https à notre site « localhost » d’une manière sécurisé sur le navigateur « Google Chrome  » et sur Mozilla Firefox ». C’était le but recherché de ce didacticiel.

Pour obtenir un bon fonctionnement, nous avons besoin de nos deux certificats, et surtout que ceux-ci puisse être vu d’une manière hiérarchisée, comme ci-après :

Lien entre certificatsC’est ce lien qui permet la reconnaissance et la validation du certificat client vis-à-vis du certificat d’authorité (CA). Sans cela, notre certificat client ne serait pas valide.

Pour nos tests, il existe une autre solution, qui consiste à faire de nos deux certificats, un seul qui sera à la fois signé et d’authentification et que l’on nomme auto-signé.

9-D) Nécessité d’avoir un certificat officiel.

Depuis quelque temps, il est possible d’avoir un certificat de nom Let’s Encrypt, qui est gratuit. Oui, vous avez bien lu, il est gratuit.

Ca durée de vie n’excède pas les trois mois, et une alerte au bout de 60 jours, vous demande de le renouveller.

L’avantage de ce certificat SSL est que le CA se trouve sur tous les ordinateurs du monde sous le nom de Let’s Encrypt Autority X3 qui se trouve dans le magasin des cetrtificats intermédiaire.

10) Les outils qui m’ont permis de faire ce test.

Afin de faire ce didacticiel, je mets à votre disposition les fichiers qui m’ont servi à créer less certificats. Vous pouvez modifier ces fichiers afin de créer les votre.

flecheopenssl.cnf

flechelancer.bat

De même, je vous donne aussi le descriptif à installer dans le fichier ‘httpd.conf’, à savoir celui du paragraphe 4-B) et celui du 4-C).

flecheconfiguration du protocole SSL

flecheconfiguration du site ‘Localhost’

11) Conclusion.

Ce didacticiel est un peu plus complet que ce que j’ai pu trouvé sur le net car fréquemment, on n’aborde que la question de la création des certificats sans parler ni du paramétrage, ou très peu, ni du fichier ‘httpd.conf’, ni où ranger ces certificats dans votre environnement.

Pour un usage local, ce didacticiel répond à toutes vos demandes d’un site sécurisé. Comme nous venons de le voir, on peut créer nos propres certificats.

Mais si maintenant, vous avez besoin de rendre accessible votre site depuis internet, vous aurez besoin d’un certificat officiel de nom Let’s Encrypt.

Si vous avez des réponses à mes questions, vous pouvez me joindre par l’onglet contact afin de venir compléter ce didacticiel.

Comment générer une clé SSH facilement et avec succés

Introduction

Dans ce tutoriel, vous apprendrez à générer une clé SSH sur votre périphérique local et à utiliser la clé générée pour se connecter à un serveur distant. Cette méthode est plus pratique et fournit une manière plus sécurisée de se connecter au serveur / machine distante que d’utiliser simplement un mot de passe.

 

Ce dont vous aurez besoin

Avant de générer une clé SSH, assurez vous d’avoir les éléments suivants:

  • Accès à votre appareil local.
  • Accès à l’appareil distant.
  • Une machine compatible avec la connexion SSH.

Étape 1 – Génération des clés SSH

Vous pouvez générer et configurer les clés RSA sur un système Linux / Unix en utilisant n’importe quel Terminal/console en local.

Après être entré dans le Terminal , vous serez conduit à une fenêtre similaire à celle-ci:

terminal linux

Ici, vous pouvez commencer à écrire les commandes :

La première chose que vous devez faire est de générer la clé sur votre machine locale. Vous pouvez le faire avec cette simple commande:

ssh-keygen -t rsa

Une fois que vous aurez entré cette commande, quelques questions apparaîtront:

Enter file in which to save the key (/home/james/.ssh/id_rsa):

En général, il est recommandé de laisser tel quel (appuyez sur ENTRÉE sans taper quoi que ce soit) afin que le générateur de clé puisse créer la clé à l’emplacement par défaut. Les questions qui apparaîtront ensuite :

Enter passphrase (empty for no passphrase):

Et:

Enter same passphrase again:

Pour des raisons de commodité, j’aime laisser ceux-ci vides aussi. De cette façon, après avoir configuré la clé avec votre serveur distant, vous n’aurez pas besoin d’utiliser un mot de passe pour vous connecter. Vous entrerez ssh [email protected] et serez immédiatement connecté. Mais si vous avez besoin de plus de sécurité, vous pouvez entrer une phrase secrète (passphrase) dans cette section. Si vous choisissez cette option, vous devrez entrer le mot de passe chaque fois que vous vous connectez au serveur distant.

Via doingbuzz

C’est tout. Vous devriez voir quelque chose comme ceci dans votre Terminal :

generation cle ssh linux

L’image générée sera différente de la mienne. En plus de l’empreinte digitale de la clé.

IMPORTANT! Il y a deux clés qui ont été créées ici ( PRIVEE et PUBLIQUE ): id_rsa et id_rsa.pub. Prenez soin du fichier nommé id_rsa (c’est la clé privée ), gardez la sur votre ordinateur et ne le donnez à personne.

L’autre fichier, id_rsa.pub, doit être envoyé sur votre serveur distant. Par exemple, si vous et votre ami travaillez sur le même projet sur le même serveur distant, vous pouvez placer vos clés publiques dans ce serveur distant. Dans la prochaine étape, nous allons apprendre à le faire.

 

Étape 2 – Copie de la clé publique sur votre serveur distant

Après la génération de la paire de clés RSA, nous devons mettre notre clé publique sur le serveur virtuel distant.

Il existe une commande simple qui mettra votre clé publique directement sur le fichier authorized_keys du serveur distant (ce fichier contient toutes les clés publiques) :

ssh-copy-id [email protected]

Ici, au lieu de ipduserveur, vous devez entrer l’adresse IP de votre serveur distant et au lieu d’ utilisateur, vous devez saisir le nom d’utilisateur du serveur auquel vous vous connectez.

Après avoir entré la commande, vous devriez être accueilli avec un message d’ avertissement semblable à ceci:

The authenticity of host 'Server's IP address' can't be established. RSA key fingerprint is ... Are you sure you want to continue connecting (yes/no)?

Tapez yes dans la ligne de commande et appuyez sur ENTRÉE. Ce message apparaît uniquement la première fois que vous effectuerez cette action.

Un autre message s’affichera:

Warning: Permanently added 'SERVER IP' (RSA) to the list of known hosts. [email protected]'s password:

Ici, vous devez entrer le mot de passe de l’utilisateur du serveur distant (dans la plupart des cas, le nom d’utilisateur est root ). Après avoir entré le mot de passe, ça devrait être bon. Vous serez accueilli avec un autre message:

Maintenant essayez de vous connecter à la machine avec « ssh ‘[email protected]’ », et vérifiez dans : ~/.ssh/authorized_keys* pour vous assurer que nous n’avons pas ajouté de clé en trop.

Là ils vous disent de vous connecter sur votre serveur avec la commande :

ssh '[email protected]

Mais aussi de vérifier dans le fichier ~/.ssh/authorized_keys qu’il n’y a pas de clé SSH en trop.

La nouvelle clé publique a donc été ajoutée à votre serveur distant. Chaque fois que vous vous connecterez à votre serveur distant, vous ne serez pas invité à entrer un mot de passe (sauf si vous avez configuré une phrase secrète pour votre clé RSA dans le processus de génération).

Conclusion

Dans ce tutoriel, vous avez appris à générer une paire de clés publiques / privées SSH et à utiliser ces clés avec votre serveur distant afin de configurer une connexion plus sécurisée qu’avec un simple mot de passe.

J’espère vous avoir été utile ! Nous nous reverrons bientôt pour un futur tutoriel ! 😉

1 2 3 6