mardi 21 juillet 2020

Le VPN qu'est ce que c'est? Et surtout qu'est ce ce n'est pas?


Le VPN qu'est ce que c'est? Et surtout qu'est ce ce n'est pas?


Bonjour à tous,
L'on reçoit de plus en plus d'offre et de propositions relatives au VPN à tout bout de champs. Les offres promotionnelles sont légion par ces temps de COVID-19, Télé-travail, sécurisation des données etc.

A vrai dire on entend tout et son son contraire et surtout du n'importe quoi concernant les VPN. Alors qu'est ce que c'est qu'un VPN? Et qu'est ce que ce n'est pas. C'est ce que nous allons découvrir dans ces quelques lignes.

I- Qu'est ce qu'un VPN?

    1 - Définition:

VPN: Virtual Private Network (c'est en anglais lol) signifie Réseau Privé Virtuel et selon Wikipedia, un Réseau Brivé Virtuel (RPV) ou Réseau Virtuel Privé (RVP), plus communément abrégé en VPN (de l'anglais : Virtual Private Network), est un système permettant de créer un lien direct entre des ordinateurs distants, qui isole leurs échanges du reste du trafic se déroulant sur des réseaux de télécommunication publics.

On utilise notamment ce terme dans le télétravail, ainsi que dans le cadre de l'informatique en nuage ou cloud computing.

    2 - Fonctionnement:

Un réseau VPN pour fonctionner a besoin de deux groupes d'équipements.
  • D'un coté, nous avons le LAN de l'utilisateur qui est constitué d'un routeur, d'un ou plusieurs terminaux;
  • De l'autre coté, un serveur VPN d'un hébergeur ou non;
  • Et enfin un canal de communication.
Le client dispose d'un client VPN, qui se connecte au Serveur VPN via un tunnel de communication chiffré.


Le principe c'est que la communication entre les deux sites distants se fait à l'abris des regard indiscrets via le canal de communication chiffré.
En réalité, l'usager se connecte à internet à travers le serveur VPN distant. Autrement dit, le client envoie ses requêtes sur le serveur distant qui ensuite se charge d'aller sur internet récupérer les informations et renvoyer la réponse au client ayant fait la requête.
Ainsi l'adresse IP du client n'est pas connue sur internet; seule celle du serveur VPN est connue puisque c'est lui qui est sur internet.

    3 - Conséquences:

Plusieurs conséquences découlent de ce fonctionnement.

        a - Avantages:

Au nombre des avantages de la mise en place et de l'utilisation d'un VPN, nous avons entre autres:
  • Accès aux sites qui lui sont interdits depuis son pays d'origine (son adresse Ip d'origine);
  • Adresse de connexion déportée dans un autre endroit du globe de manière transparente;
  • Accès sécurisé entre les différents équipements de l'utilisateur;
  • Garantie une forme d'anonymat sur internet;
  • ...
        b - Inconvénients:

Au nombre des "inconvénients", l'on peut citer:
  • Possession de certaines connaissances techniques;
  • Mise en place de vitesse de connexion lente au chargement du fait de la mauvaise pratique des FAI; 
  • Nombre de serveurs de VPN restreint 
  • ...
    
    4 - Quelques prestataires:

Technologies en vogue ses dernières années, il foisonne une multitude de fournisseurs de VPN dont les plus illustres sont entre autres:

II -  Ce qu'un VPN n'est pas:


On entend beaucoup de choses de la part des fournisseurs de VPN, ventant les mérites de ceux-ci. Est ce des coups de pub? ou autre chose? analysons ensembles ce qu'il en est réellement.

    1 - Le VPN Garantie votre sécurité sur Internet:

Cette affirmation est en partie vraie. En effet, les VPN vous aident à booster votre sécurité sur internet car ils vous mettent à l'abris des pirates et des intrus qui tentent d’écouter ou d’obtenir les informations sensibles vous concernant, grâce au connexion chiffré. Votre ordinateur étant caché derrière des serveurs VPN, personne en principe n’est en mesure de s’immiscer dans votre connexion.

    2 - Le VPN Garantie votre anonymat sur internet:

Cette affirmation est également vraie, maiiiiiis pas que. Les fournisseurs VPN indiquent qu'ils ne gardent pas de logs de vos navigation sur internet, ce qui garantie l'anonymat de vos connexion. Mais la réalité en ait tout autre.
En principe, le VPN garantit un accès sécurisé aux services en ligne et nous met à l'abris des yeux indiscrets notamment Big-Brother, GAFAS ... et les hackers et autres malware. 

Dans la pratique, les fournisseurs de VPN sont le maillon faible de la chaine. Votre sécurité et votre anonymat sur internet dépend de ce qu'ils stockent sur leur serveur concernant votre activité sur internet car en cas de collaboration avec les gouvernements, ou en cas d'attaque de leur serveur, vos données se retrouvent sur internet. 

Des exemples de ce scénario se sont déjà produits. NordVPN s'est déjà fait hacker il y moins de 3 ans. Certains fournissent des données aux gouvernement de leur pays d'origine, notamment les services américains.

Dans cet article l'on apprend que Sept VPN (entendez fournisseurs de VPN) ont exposés les données personnelles de 20 000 000 de personnes via un serveur Elasticsearch non sécurisé.


Aussi, des analyses du trafique réseau permettent d'identifier les utilisateurs de VPN dans certains cas et conduisent à l'identification des utilisateurs.


Que retenir donc des VPN?

Les VPN permettent d'assurer en partie la sécurité et l'anonymat des internautes mais n'est pas une fin en soit. Il faut allier l'utilisation des VPN à d'autres techniques de sécurisation des données sur la toile. Il faudra maintenir nos anti-virus à jour, nos systèmes ainsi qu'un choix judicieux de notre fournisseur VPN. Et Pourquoi ne pas mettre en place son propre VPN avec openVPN, 
Certainement dans un prochain billet.


 
 

Que font les fichiers .fseventsd, .Trashes, .Spotlight-V100 et fichiers .DANS_Store et comment empêcher leur apparition sur les supports externes

Bonjour à tous,

Les utilisateurs de MacOS, qui utilisent également d'autres systèmes d'exploitations, voient généralement apparaitre un ensemble de fichiers sur leurs supports amovibles (Disque Dur Externe, clé USB, micro card ssd ...) dont ils ne sont pas responsables. Il s'agit des fichiers .fseventsd, .Trashes, .Spotlight-V100 et .DS_Store
Pourquoi sont-il présent? A quoi servent - ils? et comment empêcher leur apparition? Nous allons essayer ici de répondre à ces questions.

1- Pourquoi sont-il présent

MacOS dispose de plusieurs mécanismes efficaces lui rendant la gestion des fichiers aisée. Pour ce faire, il utilise certains pour assurer la gestion des sauvegarde, d'autres pour l'indexation des fichiers et d'autres encore pour la gestion de la "Corbeil". Ainsi nous avons:
  •  .fseventsd, pour la gestion des fichiers pour TimeMachine c'est à dire le système de sauvegarde sous MacOS
  • Spotlight-V100 et .DANS_Store, pour l'indexation des fichiers pour Spotlight, c'est à dire le moteur de recherche de MacOS, l'un des plus efficace d'ailleurs; 
  • .Trashes, pour la gestion de la Corbeille. 

2- A quoi servent-il?

Comme indiqué au point un .fseventsd, permet à TimeMachine d'indexer les fichiers à intégrer dans les éventuelles sauvegarde. Spotlight-V100 et .DANS_Store, quant à eux assurent l'indexation des fichiers pour SpotLight afin de rendre la Recherche rapide et efficace. ET enfin .Trashes, n'est rien d'autre que la corbeille (temporaire) sur chaque support amovible en vue de leur suppression.

 Ce qu'il y a c'est que ces fichiers sont invisibles pour la plupart du temps, sur MacOS biensur mais dès qu'on passent sur un autre OS avec les supports amovibles, on voit un foisonnement de ces fichiers dans chaque répertoire qu'on ouvre. Cela ne pose techniquement pas de problème dans la pratique mais c'est juste agaçant pour l'utilisateur. On ne s y retrouve pas si l'on y prend garde, d'où la question, comment s'en débarrasser? Ou tout simplement comment empêcher leur apparition?

3- Comment empêcher leur apparition?

Ces fichiers se suppriment tout naturellement comme on le ferait pour n'importe quel autre fichier. Ils réapparaîtront dès que le support sera utilisé sur MacOS puis un autre OS. Comment donc dire à macOS de ne pas les créer? Et bien il suffit créer un fichier caché à la racine du support amovible en lui donnant une permission particulière: 

/Volumes/votre_nom_volume/.metadata_never_index

Puis de lui donner la permission:

chmod 444 /Volumes/votre_nom_volume/.metadata_never_index
Et le tour est joué. MacOS n'inscrira plus de fichier de ce genre sur votre support amovible jusqu'à ce que vous reformatiez ce support. Alors vous devez reprendre les éléments ci-dessus.

Note: .Trashes lui existera toujours car il s'agit de la corbeille temporaire du support la la gestion des fichiers supprimés sur ces supports.

A bientôt!



 

samedi 13 juin 2020

GPL vs LGPL De quoi s'agit il?

Pendant mes balades sur la toile, je suis tombé sur des concepts qui, pour moi avaient besoin d'être éclairci. Il s'agit des concepts de logiciels libres, de licences GLP et LGPL. C'est ce que nous partageons avec vous dans cet article. J'espère que cela permettra à d'autre d'y voir plus claire. Commençons par le commencement, ou plutôt par le précurseur .

- Le Logiciel Libre, selon Richard Stallman:

Selon le fondateur de la Free SoftWare Fondation, le logiciel libre se définit par 4 libertés fondamentales:
- Liberté d'utiliser le programme comme bon vous semble (peu importe l'usage)
- Liberté d'étudier le programme sous toutes ses coutures
- Liberté de partager le programme avec qui et comme il le veut
- Liberté de partager ses modifications apportées au programme avec qui et comme on veut.
Si l'une quelconque de ces libertés n'est pas respecté par un programme, il s'agit d'un programme privateur. Ce n'est pas un logicel libre au sens (Stallman).

De cette définition découle la notion de Open Source (Code source ouvert). La reciproque n'est pas vrai. Ainsi GPL != Open Source.

Le respect de ces libertés retire au concepteur du programme tous les droits sur les copies. ceux ayant reçu une copie, peuvent en disposer comme ils le souhaitent, même en commercialisant le nouveau programme avec leur ajout biensur.

Remaque:
Il est important de savoir qu'un programme sous licence GPL, même vendu reste sous licence GPL. Ainsi un nouvel acquereur du logiciel GPL peut le vendre ou en faire ce qu'il veut, comme bon lui semble car il devra aussi être sous GPL.

De ce fait, la GPL dispose d'un caractère héréditaire: Un programme privateur, intgerant un programme ou module sous GPL devient automatiquement GPL. C'est le coeur du problème.

A l'inverse des copyright(c), l’auteur permet, dans le cadre du GPL, à tout le monde de diffuser, modifier et détourner son travail sans qu’un accord supplémentaire soit nécessaire ; la licence fait office d’autorisation. Il s'agit en fait du copyleft qui n'existe pas dans tous les pays sauf chez les anglo-saxon.

Une seconde variante de GPL appelée LGPL (https://www.gnu.org/copyleft/lesser.html) pour lesser GPL ou encore GPL amoindrie, qui permet aux logiciels privateurs d'utiliser des logiciel libre dans leur programme sans pour autant être libres.

Ainsi, la licence permet aux développeurs et aux entreprises d'utiliser et d' intégrer les logiciels publiés sous la LGPL dans leur propre programme (même propriétaire logiciel) sans être requis par les conditions d'une forte copyleft licence pour libérer le code source de leurs propres composants. La licence ne nécessite que le logiciel sous licence LGPL modifiable par les utilisateurs finaux via la disponibilité du code source.

Nous allons dans de prochains articles abordé les autres aspects du Logiciel Libre, notamment les autres versions et les évolutions de la GPL.

Liens utiles:
https://www.fsf.org
https://www.gnu.org/copyleft/lesser.html

vendredi 8 mai 2020

Utiliser votre Smartphone en WebCam avec EpocCam


Bonjour à tous,
Les SmartPhones avec le temps sont devenus de véritables labo-Photo qui peuvent
faire palire les professionnels de la photo.

En effet avec la miniaturisation des composants électroniques, les constructeurs ont pu intégrer dans
nos smartphones des appareils photo de très hautes résolutions de sorte à largué les appareils traditionnels à des années lumière.

Nos avons des appareil de 8MP à 40 MP et même plus. Samsung, l'un des leaders en la matière promet en faire d'avantage avec 150 MP. C'est dire à quel point les Mega-Pixels sont devenus un argument de vente.

Mais, mais, le grand mais concerne nos ordinateurs portables pour ceux qui ont des webCam; ils semblent restés au 19e voire 20è siècle. Tous les constructeurs sont logés à la même enseigne avec de médiocres WebCam.
Même apple avec ses récentes MBP, MBA, MP, iMac ... ne semble pas échapés à cette médiocrité au niveau des WebCam.

Avec la recrudescence des Visio-conférences, video-conférences pour le télétravail, dues à la pandémie à Coronavirus, force est de constater que le problème des WebCam se pose avec acuité.

Des solutions existent et simples à mettre en oeuvre:

Utiliser son smartphone pour en faire une WebCam. Et ouiiiiiii, des solutions toutes simples à mettre en oeuvre:
Il s'agit d'installer des utilitaires à même de nous y aider.


Pour ma part j'ai opté pour "EpocCam" un utilitaire qu'il faut installer aussi bien sur son Smartphone (Android ou iOs) et ensuite sur son ordinateur (MacOS ou Pc ou lapTop avec WebCam ou pas) puis connecter les deux appareils soit par câble, soit par wifi et le tour est joué.

 Vous pour télécharger épocCam sur: https://www.kinoni.com
vous y trouverez toutes les instructions utiles.

Bien à vous.

jeudi 20 février 2020

Le cycle de vie d'une Activity sous android



COMPRENDRE LE CYCLE DE VIE D’UNE ACTIVITE ANDROID


Le développement Android est basé sur un certain nombre de principes. Il convient de savoir ce qu’est une application Android, quelles sont ses composantes, Comment fonctionne-t-elle ?

Nous allons dans la suite utiliser indifféremment Activité et Activity. Ces deux mots désigneront la même chose dans la suite.

Une application Android est une application organisée sous forme de vues, et constitue un ensemble d’Activité ou « Activity ». L’on peut schématiser ou caricaturer une application Android par la description suivante :
  • (Au moins) une activité (Activity) principale
  • Une ou plusieurs activités secondaires
  • (Éventuellement) un ou plusieurs services
  •             ‘’              un ou plusieurs écouteurs d’évènements
  •             ‘’              un ou plusieurs éditeurs d’évènements
                                              1 - Alors qu’est-ce qu’une activité ?

Une Activité, au sens Android du terme est une interface graphique (XML) + un programme (Java, C# …). Une activité est la composante principale d'une application sous Android. L'activity est le métier de l'application et possède généralement une View (vue) au minimum, c'est-à-dire un écran graphique.


A côté des Activités nous avons les « Intents » (Nous y reviendront dans un prochain article) permettent de communiquer entre les différentes activités de notre application, mais aussi du téléphone.


Une Activity Android dispose d’un cycle de vie qui a pour but de rendre la gestion des ressources efficace. De ce fait, Android se réserve le droit de « tuer » une activité s’il n’y a pas suffisamment de ressources mémoire. Ainsi toute application ou activité Android se doit de respecter certaines règles inhérentes aux cycles de vie d’une activité mise en place par Google. D’où la nécessité pour les développeurs de connaitre le cycle de vie d’une activité au risque de voir son application marginalisée par le système.

                                               2 - Le cycle de vie d’une Activity ?

Sous Android, une activité passe par différents états induisant, entre chaque état, des appels de certaines méthodes bien spécifiques par le système, dans un ordre déterministe. Ces différentes étapes constituent donc le cycle de vie d’une activité Android.

Les différent(e)s étapes ou états par lesquels passent l’Activity sont au nombre de 7 :
  • onCreate()
  • onStart()
  • onResume() 
  • onPause()
  • onStop()
  • onRestart()
  • onDestroy()

Plusieurs représentations du cycle de vie d’une « Activity » Android existent. Ils ont tous le même sens. Nous allons en retenir deux pour illustrer nos propos : La représentation officielle selon Google et une autre représentation que j'ai bien aimé.


a) Le schéma officiel selon Google pour le projet Android :


Fig1. : Cycle de vie de l’activité (Activity) selon Google (https://developer.android.com/guide/components/activities/activity-lifecycle.html#alc) .

b) La représentation selon le site openclassrooms.com


Fig.2 : L’activité (Activity) dans tous ses états (https://openclassrooms.com/en/courses/4517166-developpez-votre-premiere-application-android/4586901-comprenez-le-cycle-de-vie-dune-activite)



Nous allons à présent définir le sens de chaque méthode indiquée dans les diagrammes susmentionnés.
  • onCreate() :
Cette méthode est appelée dès que notre Activity est créée par le système. Ainsi notre Activity entre dans l’état « Created ». C’est ici que sont chargés l’interface graphique, initialisation des variables … L’utilisateur n’y pas encore accès
  • onStart() :
Lorsque l’Activity est « Created », le système fait appelle à la méthode onStart() et met notre Activity dans l’état Started. Elle a donc démarré mais l’utilisateur ne peut pas encore interagir avec.
  • onResume() :
Après le démarrage de notre Activity (started), le système fait appel à la méthodes onResume() qui à son tour rend l’Activity entièrement opérationnelle. Elle est visible par l’utilisateur qui peut interagir avec les différents éléments graphiques. Cette Activity reste en l’état tant qu’elle n’est pas interrompue par une autre Activity (Notification, boite de Dialogue, appel entrant …). Dès notre application (Activity) passe à « Paused » et appelle onPause().
  • onPause() :
Une fois notre Activity est à « Paused », cette méthode est appelée. Tous les traitements de onResume() sont mis en pause c’est-à-dire par exemple, les connexions actives, les streaming encour, … Les traitements à effectuer ici doivent être le plus bref possible au risque de passer à onStop().
  • onStop() :
A la différence de la méthode onPause(), cette méthode est appelée quand notre Activity entre dans l’état « Stopped » et n’est plus visible par l’utilisateur. Les traitements qui s’y rattachent peuvent être arrêtés. C’est en général de cas de l’Activity appelante.
  • onRestart() :
Cette méthode permet de relancer l'activity en vue de lui passer la main et la mettre au premier plan.
  • onDestroy() :
La méthode onDestroy() est appelée dans deux cas :
    •  Soit le système décide de le faire lorsqu’il n’y a plus de ressources disponibles telle que « mémoire insuffisante », alors le système Kill ou Tue l’Activity ;
    • Soit l’utilisateur décide d’arrêter l’Activity en faisant appel la méthode finish().
L’autre alternative c’est que l’utilisateur relance l’application en faisant restarted avec onRestart().

Il ne nous reste plus que de la pratique… A la prochaine.

vendredi 3 janvier 2020

Meilleurs voeux 2020 à toutes et à tous

Nous venons de passer une année 2019 palpitante et voilà que 2020 démarre. C'est donc le lieu de souhaiter de bonnes fêtes à tout le monde.
"Après la Fête, La défaite!" comme on dit ici chez nous en Cote d'Ivoire. Mon souhait est que cette année 2020 ne soit pas du tout une année de DEFAITE pour qui que ce soit. Qu'elle soit plutôt une excellente et exceptionnelle année pour tous; une année pleine de bonheurs, de prospérité et de paix.
Paix en Côte d'Ivoire, paix chez vous et paix dans le monde entier.

Excellente année 2020.