Archive

Archive for the ‘Web’ Category

Qu’est ce que l’Open Data?

14 juin 2010 2 commentaires

L’Open Data est un sujet à la mode. Avec la récente délibération lors du Conseil Municipal de la ville de Paris (du 8 juin 2010) à propos de la diffusion des données publiques et l’adoption d’une résolution, le sujet est brûlant d’actualité.

Qu’est ce que l’Open Data?
Avant tout, il s’agit de définir l’Open Data, et de façon plus générale l’Open Knowledge. On peut déjà rassembler différentes notions (dont on pourrait traduire/franciser les noms bien qu’elles soient le plus souvent évoquées via leurs noms anglo-saxons) sous le nom d’Open Knowledge (Libre connaissance): l’Open Data (Données publiques/ouvertes), l’Open Content (Contenu libre) et l’Open Access/Services. L’Open Knowledge Foundation propose la définition suivante de « l’Open » (OKD) : une connaissance (une oeuvre, par exemple une musique, un livre, ou un film,  des données, par exemple une publication scientifique, un fait historique, une donnée géographique, une information gouvernementale ou une donnée administrative)  est « libre » (lire « Open » si vous êtes « adict » des anglicismes) si vous êtes libre de l’utiliser, la réutiliser et de la redistribuer, sous réserve d’en respecter la paternité et de la partager à l’identique (il y aussi d’autres subtilités comme l’absence de restriction technologique et autres que vous trouverez ici).

Cela nous rappelle assez clairement la définition de l’Open Source, et ça tombe bien puisque cela correspond aussi à 2 des 6 licences Creatives Commons (les deux dernières de la liste).

Quelle est la raison d’être de l’Open Knowledge?

Les défenseurs de l’Open Knowledge soutiennent que certaines données doivent être publiques dans l’intérêt général et pour le « plus grand bien ». Dans les faits, certaines données ne peuvent être considérées comme la propriété (intellectuelle) de quelqu’un, par exemple le génome humain (Kent, 2002), les faits historiques, les données géographiques, etc.

On retrouve la vieille opposition entre l’intérêt général qui suppose que la majeure partie des connaissances (exceptions faites des données personnelles, et de certaines technologies militaires) soient accessibles à tous (rendre le savoir universel, en médecine, en sciences, en mathématique, culture, etc) et l’intérêt privé qui cherche à valoriser ces mêmes connaissances (en contribuant à les produire et à les utiliser) et qui les protège via des brevets, des licences et des restrictions.

Quel est l’intérêt de l’Open Data/Knowledge?

Aujourd’hui l’OpenData, dans le cadre des grandes métropoles, des gouvernements, et des organismes publics de recherche, c’est en quelque sorte rendre accessible au citoyen les données publiques (qui il a souvent financé via ses impôts) sans le lui facturer (une deuxième fois).

C’est l’opportunité de développer des applications innovantes, d’améliorer les services et de créer de « la croissance » économique. C’est aussi une façon d’assurer la transparence publique, de créer une nouvelle sorte de gouvernance et de rapprocher l’état et ses citoyens.

Des exemples de par le monde :

Les exemples les plus récents et connus sont ceux des gouvernements américain et britannique (avec leur data.gov), et des grandes métropoles comme New York, San Francisco, Londres, Vancouver. Sous la pression de lobbys citoyens, les institutions ont rendu accessibles de nombreuses données (transports en communs, vélos, bureaux de vote, accessibilité des stations de métro, travaux en cours, etc.), qui sont utilisées aux travers d’applications innovantes (pour, par exemple, trouver un taxi, ou un quartier qui bouge, ou bien d’autres choses, ma préférée et la plus impressionnante étant Macrosense).

Des exemples en France :

En France, l’Open Data se met en place tranquillement, pour ne pas dire lentement. C’est l’APIE qui se charge de recenser les données publiques. Cependant, cette administration propose avant tout des licences propriétaires (voir la FAQ sur son site) dont le but est d’assurer le propriété intellectuelle des contenus, et donc logiquement de générer des revenus, au détriment des utilisateurs (citoyens ou entreprises qui ont parfois déjà financé ces données via leur impôts). C’est le cas avec les données de Météo France, ou les cartes de l’IGN ou du SHOM (voir cet article Etat des lieux de l’OpenData en France).

Pour ce qui est des réalisations, Rennes est la ville précurseur en la matière, avec depuis mars 2010 l’ouverture des données de l’opérateur de transport en commun Keolis Renne (voir ici). D’autres villes semblent vouloir suivre le mouvement d’ouverture des données publiques, comme à Paris (mais on est encore un peu loin de l’Open Data, voir ici).

Je vous conseille à ce sujet un article très intéressant du magazine numérique OWNI.

Comment traiter ces données?

La mise en place de l’OpenData, et cela semble évident pour des raisons d’inter-opérabilité et de portage, passe par la standardisation et l’utilisation de formats ouverts (voir définition ici). Face à l’immensité des métadonnées disponibles, des sites comme GapMinder permettent de traiter ces données et de générer ses propres graphiques.

OpenStreetMap

OpenStreetMap, un exemple populaire d’un travail libre et collaboratif

Un des exemple les plus connus (et parmi les plus utiles) de l’Open Data est le projet OpenStreetMap qui permet de contribuer grâce à vos propres enregistrements GPS à une base géographique libre. Ces cartes sont libres de droit (contrairement à celles de l’IGN ou celles du SHOM) et vous pouvez en toute liberté les reproduire, les modifier et les améliorer.

Enfin, nous pouvons faire une dernier clin d’oeil au site NosDéputés.fr qui récupère des informations publiques sur le site de l’Assemblée Nationale et du Journal Officiel pour rendre compte de l’activité de nos parlementaires.

Si le sujet de l’Open Data vous intéresse, vous trouverez d’autres articles sur le site RegardsCitoyens.org, sur le site de l’entreprise BearsTech et sur le blog Libertic.

Pourquoi il ne faut plus utiliser le (partage de fichiers via) peer to peer?

A priori, presque tout le monde (et à fortiori les amateurs de séries, de films et de musique) a déjà été amené à télécharger quelque chose (et si ce n’est pas vous, votre petite soeur ou votre fils l’ont fait pour vous) via peer to peer (P2P).

Le peer to peer (pair à pair en français), pour rappel, ce n’est pas un système de téléchargement mais une conception du réseau : le réseau est vue comme décentralisé, c’est à dire que chaque noeud (chaque pair) est à la fois client et serveur. C’est une conception du réseau à opposer au fonctionnement client vs. serveur.  Ses applications les plus connues sont le partage de fichiers (via différentes architectures, à l’origine centralisée avec Napster, puis décentralisée comme avec BitTorrent), la VoIP (par exemple avec le logiciel Skype) ou le calcul distribué (SETI@home, Folding@home).

Jusqu’à il y a peu, le téléchargement via peer to peer ne représentait pas de grands dangers (au niveau liberté individuelle, je parle pas des malwares, ou des virus) pour les utilisateurs car la mise en pratique pour les chercher/retrouver semblait plutôt ardue.

Il y a un mois une équipe de chercheurs de l’INRIA (Institut National de Recherche en Informatique et Automatique) a publié Bluebear, son outil de surveillance des réseaux peer to peer (non pas pour faire la chasse aux pirates mais pour sensibiliser les utilisateurs sur les risques d’atteinte à la vie privée sur BitTorrent). Vous trouverez le site du projet et les publications s’y rapportant ici.

L’abstract de leur article commence par « En utilisant cette faille pendant une période de 103 jours, nous avons collecté 148 millions d’IPs téléchargeant 2 milliards de copies de contenu. Nous avons identifié l’adresse IP des fournisseurs de contenu de 70% des fichiers de BitTorrent que nous avons espionné. Nous avons aussi montré que ce sont peu d’utilisateurs qui fournissent la majorité des fichiers initiaux de BitTorrent et que ces fournisseurs de contenu sont situés à l’étranger. » Le ton est donné, ça fait un peu/assez froid dans le dos, et ça leur fait une bonne publicité.

Le projet n’a rien de révolutionnaire en fait quand on y réfléchit bien : quand vous téléchargez un fichier (i.e. lorsque vous êtes un leecher, une sangsue) chez quelqu’un (une source, appelée seeder) via un torrent, il faut bien que vous puissiez trouver les adresses des personnes possédant le fichier (sinon comment télécharger?) : ceci ce fait via un tracker (un fichier hébergé sur un serveur, comme the PirateBay ou autre) qui montre qui possède quoi à l’instant t (qui est un seed (une source) ou un peer (pas toute la source, mais un bout de la source, comme la motié du film par exemple)).

Quand vous téléchargez un fichier, vous devenez vous aussi un peer (pendant le téléchargement) puis un seed (quand vous avez tout le fichier) : c’est le concept du BitTorrent. Vous êtes donc référencé par le tracker (serveur ayant la liste de tous les gens qui partagent un fichier).

Jusque là ça va?

En gros, si vous pouvez trouver les gens qui possèdent un fichier (pour le télécharger) pourquoi les gens qui cherchent ceux qui partagent (et ceux qui téléchargent aussi, voir remarque ci dessus) ne pourraient pas?

Bluebear, l’outil que vient de publier cette équipe de l’INRIA, est un outil de surveillance qui permet donc de démasquer les internautes qui téléchargent via peer to peer. Mais cet outil va plus loin, il permet :

  1. de trouver la première personne à partager le fichier (patient 0)
  2. d’identifier toutes les personnes (ip) qui partagent et/ou téléchargent un fichier
  3. d’identifier celles qui se cachent derrière un trafic détourné et crypté (comme Tor).

Pour identifier le premier fournisseur d’un fichier, Bluebear récupère en permanence la liste des nouveaux fichiers torrents sur les sites de partage (par exemple The PirateBay, MiniNova, etc), et se connecte ensuite immédiatement à ces nouveaux torrents (pour trouver l’IP du premier fournisseur, le patient 0). Une autre méthode pour identifier les fournisseurs si la précédente n’est pas possible (torrent privé devenu public, ou torrent en ligne depuis un certain temps) est de récupérer sur les sites webs/forums les nouveaux torrents et de les regrouper par nom d’utilisateur (login de l’uploader). Il recherche ensuite l’IP qui distribue le plus ces torrents, et par recoupement l’associe au login.

Pour identifier les personnes qui partagent et/ou téléchargent, les chercheurs ont d’abord récupéré la liste des identifiants uniques de chaque fichier partagé sur The PirateBay (via un des anciens trackers de The PirateBay). Une fois tout le catalogue récupéré, ils ont récupéré pour chaque fichier la liste des IP de chaque seeder et de chaque leecher, via le tracker et le client  BitTorrent de leur choix en faisait des requêtes de lancement et d’arrêt de partage jusqu’à ce qu’ils obtiennent 90% du nombre total de seeders et de leechers indiqués sur le tracker. L’étude précise que « Cette procédure prend aux alentours de 30 minutes pour entre 500 000 et 750 000 contenus ».

Enfin, pour identifier le trafic qui passe par Tor, il utilise une feinte sur les DHT (Distributed Hash Table), tables de routage distribuées, qui permettent de joindre de façon efficacement le pair lambda ayant le fichier mu sans avoir à connaitre tous les pairs et toutes leurs listes de fichiers. La DHT utilise le protocole UDP (User Datagram Protocol) qui lui n’est pas relayé par Tor. La véritable IP d’un pair apparait donc dans la DHT. Il suffit alors d’écouter la sortie d’un noeud Tor, et de rechercher ensuite dans la DHT le fichier observé en sortie du noeud pour l’associer à l’IP. Par ailleurs, une telle identification peut compromettre les autres trafics/flux passant par Tor (Web,HTTP,VoIP…) : il est facile de déterminer leur origine car ils empruntent tous le même chemin que BitTorrent (en gros ça veut dire coupez vos logiciels de peer to peer quand vous utilisez Tor).

Au final, tout cela pose un certain problème de confidentialité (même pour les fichiers légaux ou libres de droit) puisque n’importe qui peut savoir ce que vous téléchargez/partagez.

Si vous voulez en savoir plus vous pouvez consultez les articles suivant  :
http://www.korben.info/bluebear-bittorrent-p2p-inria.html
http://www.01net.com/editorial/516096/bluebear-la-surveillance-generalisee-de-bittorrent-est-possible/http://actualite.torrent-avenue.com/actualite/bluebear-surveillance-generale-bittorrent-possible

Vous pouvez retrouver le site du projet ici : http://www-sop.inria.fr/members/Arnaud.Legout/Projects/bluebear.html

Et les différentes publications de l’équipe de Arnaud Legout ici : http://hal.inria.fr/inria-00470324/en/, http://hal.inria.fr/inria-00471556/en/, http://hal.inria.fr/inria-00471556/en/ et http://hal.inria.fr/inria-00451282/en/.

Si vous voulez vous faire un peu peur ou jouer à super Hadopi, je vous conseille le site suivant qui vous présente un outil nommé bitAudit, comparable à BlueBear, et qui vous permet de traquer (pas de mauvais jeu de mot) les utilisateurs de bitTorrent sur les trackers publiques (en créant des logs des interactions clés au sein d’un essaim bitTorrent).

Pour ceux qui ne peuvent pas se passer de leur téléchargements (séries US super addictives par exemple), je vous conseille plutôt le téléchargement direct via des sites comme rapidshare, megaupload et hotfile. Vous pouvez retrouver des liens intéressants par exemple sur http://www.blogy.com.ar/.

Enfin, ces derniers temps je me suis fait la remarque suivante : la copie d’œuvres soumises au droit d’auteur sans l’autorisation de l’ayant droit est illégale … mais le nom et la taille d’un fichier ne sont en rien un preuve juridique du contenu du fichier. Donc en gros vous n’êtes pas en tort tant que vous n’avez pas téléchargé un fichier, tant que vous ne l’avez pas ouvert, et tant que vous n’avez pas constaté « ha oui c’est bien un fichier soumis au droit d’auteur ».

A bon entendeur, salut.

Gérer son identité numérique sur internet

Après vous avoir parlé d’anonymat sur le web, voilà que je vais vous parler d’identité numérique.

Les deux notions sont loin d’être contradictoires, elles sont même complémentaires : à l’ère du numérique, il est tout aussi important de protéger vos informations personnelles et de maitriser des outils qui garantissent votre sécurité et vos libertés (anonymat, échange de fichiers, communications) que de pouvoir se promouvoir et partager (idées, tweets, photos, liens, CV, etc).

Pour cela, il faut gérer consciencieusement son identité numérique, c’est à dire choisir ce que l’on veut partager de sa vie privée et professionnelle, le circonscrire, et surtout choisir ce que l’on ne désire pas partager ou voir révéler aux yeux de tous. Cela peut vite relever de la quadrature du cercle si on ne fait pas preuve d’un peu de méthode.

Avant tout, vous devez identifier et cibler vos besoins : qu’est ce que je veux partager, pourquoi, et avec qui. Votre formation, vos activités, vous goûts, vos publications, vos relations, vos connaissances, vos réseaux, vos photos, etc, sont autant d’informations qui regroupées peuvent servir votre image. Cependant, elles peuvent aussi servir contre vous : le Figaro titrait en 2009 « Usurpation d’identité : plus de 210 000 victimes par an« . Plus encore, reliées entre elles, elles permettent de construire des graphes sociaux et relationnels, ce qui permet de décrire les positions sociales des individus et leur préoccupations : ce n’est pas sans intérêt marketing, commercial, voir policier (lire l’article du Monde ici).

Une fois identifiés vos besoins et cernées les limites de votre vie privée, choisissez vos canaux de diffusion. Blog, microblogging, réseaux sociaux, réseaux sociaux professionnels, sites de CV On Line, sites personnels, sites de photos, sites d’upload, serveurs de clés… Les moyens et les canaux sont nombreux, voir divers et variés : ils répondent à des besoins différents et sont souvent complémentaires.

Schéma résumant les différents supports de l'identité numérique sur le Web

Parmi les dizaines de comptes que vous possédez, je vous conseille d’en dresser une liste rigoureuse et de les relier entre eux. Une page centrale renvoyant vers toutes les autres est un point clé : par exemple, une page de blog qui renvoie vers toutes vos pages publiques. Cela permet à celui qui s’intéresse à vous (un internaute, un ami, un lecteur, un recruteur, votre patron, la DCRI …) de s’y retrouver, et cela vous permet de gérer l’information que vous diffusez. Par exemple, faites un tour sur Facebook, Twitter, LinkedIn, etc et vérifiez vos paramètres de confidentialité. N’y a t’il pas une photo de vous en train de sortir d’un bar à 4 pattes qui traine? Faites le ménage. Contrôlez votre information plutôt que de la subir.

Pour conclure, l’e-réputation est votre carte de visite de demain, il est bon de la soigner, sans cependant la travestir (vos informations seront vérifiées tôt ou tard, ou pas). Pour en savoir plus, sur la construction d’une identité numérique, je vous conseille l’excellent site You On The Web et son e-guide. Je vous recommande par ailleurs l’article du Monde « Vers une vie privée en réseau » de Jean-Marc Manach qui traite de la vie privée sur Internet.

Comment rester anonyme sur internet

Tout le monde laisse des traces sur internet . Entre autres, votre ip, votre dns, vos cookies, votre historique, votre navigateur et votre système d’exploitation sont facilement accessibles. Vous ne me croyez pas? Allez voir ici ou . Alors pour ce qui est du reste, il faudrait commencer à s’inquiéter…

Pour rester « relativement » anonyme, il existe deux solutions simples. Vous pouvez utiliser un proxy, ou bien utiliser Tor.

Utilisation d’un proxy :

Un proxy (serveur mandataire) est un relais entre vous et le serveur cible sur lequel vous voulez vous connecter. Il relaye vos paquets, et le serveur ne voit que lui. Vous pouvez en trouver une longue liste ici. Cependant, il garantit assez peu votre anonymat car les données sont le plus souvent transmises en clair, le proxy sait tout de vous (man in the middle) et en plus un simple code exécuté (du javascript par exemple) sur le client (vous) peut permettre de récupérer les données précédemment masquées (les entêtes que l’on veut cacher). Une démarche similaire peut consister à passer par un serveur VPN (virtual private network) mais ne modifie pas la liste des inconvénients. Pour plus d’information sur les VPN, je vous conseille ce site.

Pour éviter ces complications, vous pouvez par exemple utiliser Tor.

Logo de Tor

Utilisation de Tor :

Tor est un réseau de tunnels virtuels. Il permet de prendre un chemin détourné (routage sur plusieurs noeuds) pour se rendre sur un site web (i.e de dissimuler les entêtes, notre problème précédent) et en plus de crypter tous les paquets que vous envoyez entre vous et l’avant dernier noeud. En résumé, Tor vous protège de l’analyse de traffic. Il doit s’utiliser en complément d’outils gestion des cookies (qui peuvent vous trahir) par exemple le proxy web Privoxy. Cependant le simple fait d’installer Tor ne vous protège pas comme par magie. Il faut configurer les applications pour qu’elles utilisent Tor. Utiliser Firefox et TorButton est une bonne combinaison pour naviguer tranquille (cela va cependant désactiver les extensions javascript, flash, etc qui peuvent révéler des informations sur vous comme votre ip).

Pour en savoir plus sur Tor, je vous recommande le site officiel http://www.torproject.org/.

Bonne navigation.

Catégories :Sécurité, Web Étiquettes : , , , , ,

Comment crypter facilement ses données

La cryptographie et le chiffrage des données ne sont pas seulement réservés aux professionnels, aux entreprises, aux chercheurs ou aux geeks. Le chiffrage est accessible à tous, il est facile à mettre en oeuvre et facile à utiliser. Il permet de protéger ses données sensibles ou tout simplement votre vie privée. Il faut toujours garder à l’esprit qu’envoyer un mail via internet est comparable à envoyer une carte postale par la poste. Niveau confidentialité, c’est pas le top.

Pour chiffrer vos documents, il existe des solutions simples et efficaces, accessibles à l’utilisateur lambda. Je me propose ici de vous présenter quelques unes de ces solutions.

Le chiffrement symétrique par AES (Advanced Encryption Standard) :

AES est un algorithme de chiffrement symétrique, c’est à dire à clé secrète. Un logiciel très pratique, gratuit, et open source, et multiplateforme qui implémente l’algorithme AES en 256-bits est aescrypt. Il est téléchargeable ici sur le site de l’éditeur.

Une fois installé, il s’utilise très simplement en ligne de commande (non non ne prenez pas peur) via un terminal (mac, linux, unix) ou une invite de commande (windows). Rassurez vous le site propose aussi une petite interface graphique pour les frileux.

Pour chiffrer, il suffit de taper la commande suivante (-e pour chiffrer, -p pour le mot de passe, suivi du nom du fichier) :

aescrypt -e -p passwordcle secretsdevictor.rtf

On obtient alors un fichier chiffrer pour l’extension .aes :

secretsdevictor.rtf.aes

Pour déchiffrer, il suffit de taper la commande avec -d (pour déchiffrer) :

aescrypt -d -p passwordcle secretsdevictor.rtf.aes

Voilà vous savez désormais chiffrer un fichier. Pensez à transmettre la clé de votre fichier à son destinataire par un moyen sûr.

Vous pouvez aussi utiliser directement la librairie OpenSSL pour crypter/décrypter via AES. Il suffit de taper la ligne suivante sous un UnixLike disposant de la bibliothèque OpenSSL (avec -e pour crypter et -d pour décrypter).

openssl aes-256-cbc -e -a -salt -in secrets.rtf -out secrets.rtf.aes

Je vous conseille aussi de consulter l’article Wikipédia Mode d’opération (cryptographie) si vous êtes intéréssé par les différences entre ecb, cbc, etc (et aussi pour comprendre les faiblesses de ecb).

Chiffrement avancé d’un disque, d’une partition ou d’une partition système :

Un des meilleurs logiciels de chiffrement à la volée, multi-plateformes, gratuits et dont le code est accessible (mais non libre) est certainement TrueCrypt. Il permet de créer un disque virtuel chiffré, ou de chiffrer une partition ou un périphérique (disque dur externe, clé usb). Il supporte plusieurs algorithmes de chiffrement (AES, Serpent, Twofish). Si vous êtes rebutés par les exemples précédents et/ou que vous cherchez une solution pour le chiffrement à la volée de partitions, ce soft est fait pour vous. Vous pouvez le télécharger ici.

Logo de GnuPG

Le chiffrement asymétrique avec GnuPG (OpenPGP) :

GnuPG est un logiciel qui permet de transmettre des messages signés et/ou chiffrés. Il se base sur de la cryptographie asymétrique, i.e un principe de clé publique et de clé privée. En gros, je vous donne un cadenas ouvert mais je garde le clé. Lorsque vous m’envoyez un message, vous cadenassez le message, et moi seul peut l’ouvrir.

Vous trouverez tout le nécessaire pour installer GnuPG sur ce site. Celui ci peut s’utiliser en ligne de commande ou vous pouvez ajouter des extensions à vos clients mails pour intégrer directement GnuPG, par exemple Enigmail pour Thunderbird.

Une fois installé, vous devez générer les clés, avant de pouvoir chiffrer. Le plus simple encore c’est d’ouvrir un terminal (mac, linux) et taper :

gpg --gen-key

Vous devez ensuite spécifier le type de clé (par défaut (1) DSA and ElGamal) , la taille de la clé (1024, 2048 bits), la durée de validité de la clé, vos informations utilisateur (votre nom, qui servira d’identificateur pour la clé, votre adresse email et un commentaire) et enfin la passphrase (le mot de passe de votre clé). Pendant la génération de clés, faites autres choses, n’importe quoi (bougez la sourie, tapez au clavier, écoutez une chanson, ouvrez des fichiers), cela aide à la génération de nombres aléatoires.

Vous pouvez afficher les clés générées en tapant :

gpg --list-key

Vous devez ensuite communiquer votre clé publique à vos correspondants (via un serveur de clé PGP par exemple). Pour cela, vous devez l’exporter :

gpg --export --armor

Vous pouvez désormais recevoir des messages chiffrés, ou signer vos messages via votre client et les extensions ou en utilisant :

gpg --d message.asc (pour déchiffrer)
gpg -s -u victor -a fichierdumessage (pour signer en tant que victor)

Pour envoyer des messages chiffrés, vous devez récupérer les clés de vos correspondants et les ajouter à votre trousseau.

Pour importer la clé de Marc par exemple (fichier cleducopainmarc) tapez:

gpg --import cleducopainmarc

Enfin, après ce laborieux travail, vous pouvez désormais envoyer un message chiffré à Marc via votre client mail (Thunderbird, Evolution, Mail) à l’aide de leurs extensions ou en tapant :

gpg -r Marc -e -a messagepourmarc

Je vous rassure toute la partie génération et/ou importation de clés peut se faire via des interfaces adaptées à vos OS respectifs (par exemple pour mac vous pouvez installer la suite disponible ici).

Pour plus d’informations sur gpg, je vous conseille de lire le HowTo de Julien Francoz.