lundi 12 octobre 2015

Tutoriel Quand La technologie se met trop au service de la géolocalisation

Quand La technologie se met trop au service de la géolocalisation



Loin des cookies qui sont et reste une infection majeure de nos appareils technologiques au profit des gosses entreprises de marketing, la géolocalisation n'en demeure pas moins également le fléau du 21e siècle.



Qui aurait cru en entamant le web 3.0 qu'HTML5 et PHP6 renforcerait son pouvoir sur nous ?



On n'est pas dans les clichés d'homme arborant des chapeaux d'aluminium sur la tête, qui tout en parcourant la rue crie au complot de l'état. Pourtant, ils ont raison ou du moins loin d'avoir tort.



Vous savez ce qui m'attriste dans tout cela, c'est que la technique utilisé pour persuader la masse est d'accentuer l'aspect risible de cette situation pour en détourner sa vraie valeur : On est géolocalisé tout le temps, partout grâce aux mobiles, pc, plate-forme web, google,…



Citation:

Dites moi d'où je viens et je te dirais qui tu es.


La géolocalisation est devenue un art de vivre, on l'a accepté comme un compagnon indispensable. Pourtant, on crié sur ces fous qui prétendaient que l'on pouvait nous localiser au mètre près, il y a de cela quelques années à peine. Ils ont réussi à nous mentir durant des années, et maintenant qu'ils ont besoin de nous dire la vérité, ils nous font gober qu'il s'agit d'un bien pour la communauté internet mais plus encore pour l'humanité.



Citation:

Le bien du plus fort, l'emporte sur le bien du plus faible.


Alors, qu'est-ce qui a changé ?



L'utilité. Tout ce qui nous est utile, on lui indiffère ses défauts et ses imperfections qui pourraient entraver notre besoin. Précédemment, on le savait, mais on nous avait conditionnés et crier au loup faisait de nous des êtres bizarres, donc pas vraiment cool et "sociability correct". Maintenant, ce n'est pas grave puisqu'on accepte la vérité avec panache et surtout déférence.


Citation:

Windows 10 nous écoute, nous localise, peu importe c'est pour notre bien. Mon mobile permet une fois la géolocalisation acceptée de savoir où je suis n'importe quand, peu importe cela permet avec mes amis cookies d'avoir des coupons réductions pour les fast-foods Asia près de chez moi.


Mais qui sont ces nouveaux fous qui nous exhortent que non seulement on nous géolocalise facilement mais en plus on n'interagit discrètement sur notre comportement.



Citation:

Je suis lucide, je mange asiatique, car cela me conviens.


Et non pas parce que depuis 1 mois j'ai accepté la géolocalisation et qu'avec les cookies qui ont fait part de mes envies, horaires et divers autres petits secrets sur ma vie, ont permis à des sociétés de marketing de profiter de la situation en vendant mon âme aux entreprises Asia.



Depuis, elle m'envoie des rappels aux heures des repas, des coupons de réduction pour moi et mes amies (eux aussi géolocaliser). Depuis peu, je reçois aussi des courriels d'un centre de yoga, j'en avais besoin, on m'en avait parlé sur le site zenhobbies, et il s'avère que par chez moi il y aurait un centre.



Je promets que je n'ai pas changé mes habitudes à cause d'un tiers, non, ce serait contraire à l'éthique internet d'avouer cela. Pourtant, j'ai bien changé, ma mère qui n'utilise pas vraiment de réseau géolocalisé m'a confié qu'elle me voyait moins aux heures des repas. Elle qui adorait me préparer ses fameuses tagliatelles au fromage, et mes collègues avec qui j'allais au football ont heureusement compris mon indisponibilité à cause de mes cours de yoga.



Citation:

La géolocalisation est la capacité à se positionner géographiquement sur un plan ou une carte.


Conscient que cela vous intéresse, nous allons voir ensemble sa configuration simple, son principe de base et son application pratique au moyen d'HTML5 et JavaScript.



Cet article est pour vous faire comprendre la facilité de connaître grâce au réseau votre situation géographique. Cela peut paraître redondant, mais savoir où vous vous trouvez peut avoir des conséquences catastrophiques suivant les individus.



Il y a de cela plusieurs années, des cambrioleurs sévissaient sur des personnes riches en géolocalisant leurs mobiles, ils pouvaient ainsi agir en toute impunité sans être dérangé afin de dévaliser leurs demeures.



Citation:

Le réseau n'est pas qu'un repaire de pirates informatiques mais aussi de malfrats.


La méthode



Plusieurs applications utilisent la méthode de positionnement comme les recherches conceptualisées, les calculs d'itinéraires, les partages de localisations,…, ils sont basés sur des méthodes existantes :



  • GPS (la plus connu)
  • Galileo
  • Triangulation dans un réseau de téléphonie
  • Adresse IP





Un navigateur web peut combiner plusieurs de ces méthodes suivantes si elles sont connectées sur le réseau d'internet.

Par exemple, une plate-forme mobile équipée d'un GPS, le navigateur pourra utiliser le positionnement géographique, mais sur un poste fixe qui n'en est pas équipé devra alors se baser sur l'IP.




Principe



Vous avez tous déjà fait de la géographie à l'école et certainement eut à lire ou à étudier des cartes. Une position 3D se fonde sur les coordonnées relatives à la latitude, longitude et altitude.



Le point de convergence de ces 3 points reliés entre eux permet d'avoir la position exacte dans un espace tridimensionnel de la cible.




Souvent, sur un site qui demande ce genre de géolocalisation, vous avez une demande d'autorisation.

L'api a la capacité de n'effectuer qu'une seule requête de positionnement ou répété dans le cas d'un déplacement sur la carte. Il faut aussi savoir que le positionnement peut être erroné (aléas des connexions) ou fausser (VPN, Proxy,…).


Coder un Géopositionnement





W3C API : http://ift.tt/19W7FqO





Citation:

Lorsqu'il s'agit de créer une application de géolocalisation, on va surtout utiliser Javascript et DOM. Pour le codage on va faire appel à l'objet "geolocation", membre de "navigator".


L'instruction est simple avec if, else :



Code:

If (navigator.geolocation) {

// API

} else {

// si PAS d'API, Alternative

}




Simple cependant, pour réaliser cette fonction, il nous faut des méthodes :



  • getCurrentPosition() // permet la requête de positionnement
  • watchPosition() // Pour suivre les déplacements de position







W3C nous montre un exemple de fonction :





Code:

  function showMap(position) {

    // Montrer une carte centrée au (position.coords.latitude, position.coords.longitude).

  }

    // une seule requête de demande de position.

  navigator.geolocation.getCurrentPosition(showMap);





On voit qu'on utilise ce que l'on appelle une fonction de "callback" comme argument. En fait, il appelle deux "callback" :


  • une pour le succès de manière asynchrone, celle-ci reste obligatoire
  • une en cas d'échec (falcutative)





Citation:

Les algorithmes et ceux peu importe leur dépendance et langages informatiques doivent toujours comporter lors d'une fonction la possibilité "ÉCHAP". Si cela ne marche pas, le système demandera, je fais quoi ? Sans réponse de notre part, il se mettra en "ERROR".



C'est à nous de lui dire quoi faire dans toutes situations. Le codage reste simple mais plus vous entrer dans la composition d'un codage adapté avec toutes les réponses que souhaite la machine, vous vous rendrez compte qu'il s'allonge et devient complexe.





De même un exemple lors de requêtes répétées pour un déplacement sur la carte avec watchPosition
:





Code:

function scrollMap(position) {   

// Défiler la carte de façon à ce qu'il soit centré au (position.coords.latitude, position.coords.longitude). 



 // Demande répétée des mises à jour. 

var watchId = navigator.geolocation.watchPosition(scrollMap);   

function buttonClickHandler()

{   

// Annuler les mises à jour lorsque l'utilisateur clique sur un bouton.    navigator.geolocation.clearWatch(watchId); 

}





D'autres exemples sont en place sur le site W3C. Donc, pour localiser il nous faut travailler avec la position et les coordonnées, voici un tableau des propriétés :


Propriété Unité Type
Timestamp Millisecondes DomTimeStamp
coords Millisecondes Coordinates
longitude Degré décimaux double
latitude Degré décimaux double
Altitude mètres double
Speed Mètre/seconde double







Citation:

Lorsque l'on voit la facilité pour utiliser la géolocalisation, on se demande encore comment se cacher avec la technologie.


On va faire un petit exemple simple avec juste votre navigateur. Copier/coller le code dans un fichier puis donner lui comme extension HTML (exemple; geo.html) et lancer le dans votre navigateur, une fois fait accepter la géolocalisation et visualisez le résultat.



<
Code:

!DOCTYPE html>

<html>

  <head>

      <!-- En-tête de la page -->

      <meta charset="utf-8" />

      <title>Géolocalisation</title>

<script>

// Fonction d'appel

function succesGeo(position) {

  var infopos = "Position déterminée : <br/>";

  infopos += "Latitude : "+position.coords.latitude+"</br>";

  infopos += "Longitude : "+position.coords.longitude+"</br>";

  infopos += "Altitude : "+position.coords.altitude+"</br>";

  document.getElementById("maposition").innerHTML = infopos;

}

// demande la position

navigator.geolocation.getCurrentPosition(succesGeo);

</script>

  </head>

  <body>

      <!-- Corps de la page -->

<div id="maposition"></div>

  </body>

</html>





En effet, c'est bluffant, on a nos coordonnées avec un script plutôt simplissime. Beaucoup d'API permette en prime d'afficher le résultat sur une carte.



L'API la plus connu et utilisé est Google Maps.



Voici la liste des API Map, suivi d'un code qui intègre Google simplement :



Google Maps

http://ift.tt/wbHatA



Bing Maps

http://ift.tt/RvEeOF



OpenLayers

http://openlayers.org/



Nokia Maps

http://ift.tt/1RCeqA2



Amazon Maps API

http://ift.tt/1a3ggWW





De même, on va faire un exemple pour nous situer cette fois-ci au sein d'une carte appelée par google maps (API), copier/coller le code suivant dans un fichier geomap.html et lancé via votre navigateur.



Code mettant en pratique l'API de google dans votre navigateur :



Code:

<!DOCTYPE html>

<html>

  <head>

      <!-- En-tête de la page -->

      <meta charset="utf-8" />

      <title>Géolocalisation avec API Google Maps</title>

                  <!-- Chargement de l'API Google Maps -->

                  <script src="http://ift.tt/PV0u3s;

<script>

if(navigator.geolocation){

// Fonction d'appel

function succesGeo(position) {

  var infopos = "Position déterminée : <br/>";

  infopos += "Latitude : "+position.coords.latitude+"</br>";

  infopos += "Longitude : "+position.coords.longitude+"</br>";

  document.getElementById("maposition").innerHTML = infopos;     

        // Nouvel objet LatLng pour google map

        var latlng = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);     

        // Options sur la carte

        var optionsGmaps = {

        mapTypeControl: false,

        center: latlng,

        navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},mapTypeId: google.maps.MapTypeId.ROADMAP,

        zoom: 15

        };     

        // Initialisation de la carte

        var map = new google.maps.Map(document.getElementById("map"), optionsGmaps);     

        // Marqueur de position

        var marker = new google.maps.Marker({

        position : latlng,

        map: map,

        title : "Vous êtes ici"

        });     

}

// Requête de géolocalisation

navigator.geolocation.getCurrentPosition(succesGeo);

}

</script>

  </head>

  <body>

      <!-- Corps de la page -->

<div id="maposition"></div>

<div id="map" style="width:640px;height:480px"></div>

  </body>

</html>





Résultat escompté : (J'ai bien entendu brouiller les coordonnées)

Vous pouvez l'agrandir en jouant sur widht et height dans le bloc Div de "map".



Comme vous le constater, votre navigateur vous demande encore l'autorisation de partager votre géolocalisation et ceux grâce à par exemple pour mozilla :



  • geo.enabled (activation, désactivation position partagé).
  • geo.wifi.uri (qui indique l'adresse intérrogé avec IP/WIFI).







Simple comme bonjour mais terriblement efficace.



On vient de voir que le positionnement géographique n'est certes pas encore au point au millimètre près, qu'il est tributaire de nombreux facteurs comme avoir un appareil technologique branché sous réseau et géolocaliser, mais à notre époque peu ne possède pas cette technologie.



Citation:

Avec l'avènement du web2.0 et du 3.0, l'arrivée de l'intelligence artificielle, des puces sous-cutanées et surtout de la mise sous réseau de notre vie (véhicule, frigo, chauffage,….), nous serons localisables à tout moment et surtout à tout endroit.


Les programmes que je vous ai montrés sont basiques mais pourtant efficaces. La plupart des applications sont sous API Geo afin soi-disant d'améliorer votre expérience, je pense que de ne plus avoir d'intimité sur la planète reste le vrai problème.



Citation:

L'avenir nous dira si cette masse de technologie aura apporté un plus ou un mal au sein de nos vies.


Merci de m'avoir lu, à bientôt.



Source : W3C, mes connaissances en HTML et JavaScript. Les scripts étant déjà pratiquement donnés par les sites émetteurs le reste n'est que du bon sens.


from Hackademics : Forum de hacking – hackers white hat – cours de securite informatique, apprendre langage python, tutoriels de reverse engineering http://ift.tt/1ZuEcet
via IFTTT

Aucun commentaire:

Enregistrer un commentaire