Les données structurées
Si la vidéo ne fonctionne pas, suivez le lien suivant :
https://youtu.be/IJJgcZ2DEs0
BEGIN:VCARD
\nVERSION:2.1
\nN:Turing;Alan
\nFN:Alan TURING
\nBDAY:19120623
\nADR:20;rue;Informatique;01625 ;Wilmslow ;Royaume-Uni\nTEL;CELL:060-000-0000\n
TEL;HOME:024-000-0000\nEMAIL:
Travail à faire :
Commenter les lignes du fichier Alan_Turing.vcf :
Écrire ci-dessous le texte du fichier de votre carte de visite numérique.
\n\t\t\t\tEn utilisant le texte précédent, créez le fichier au format vCard : Prenom_Nom.vcf dans le Bloc-notes ou avec le lien suivant :
http://sciencesappliquees.com/blocnotes.html
Envoyer le fichier par mail à votre mobile et ajouter la nouvelle carte.
Faites vérifier votre travail par votre professeur.
\n\t\t\t\tConformément à la spécification de la version 3.0, chaque objet, c’est à dire chaque carte de visite, contenu\ndans un fichier vCard doit commencer par l’entité BEGIN:VCARD et se terminer par END:VCARD. Il doit\négalement contenir les descripteurs VERSION, N et FN qui sont obligatoires (en gras dans le tableau\nsuivant).
Le format vCard implémente les types de propriétés contenues dans le tableau ci-dessous. Il présente les\nprincipaux descripteurs, leur signification, leurs propriétés, c’est à dire les valeurs que ces descripteurs\npeuvent prendre, ainsi que la syntaxe pour renseigner ces propriétés. Il y a bien d’autres descripteurs. Vous\nen trouverez une liste plus complète aux adresses suivantes.\n
\n\t\t\t\t\tWikipedia : https://fr.wikipedia.org/wiki/VCard\n
\n\t\t\t\t\tw3c : https://www.w3.org/TR/vcard-rdf/
\nUn descripteur est suivi du caractère « : » puis de sa (ou ses) propriété(s)
Exemple : Le descripteur N qui s’intéresse au nom de la personne est à renseigner comme suit.\nN: Nom ; Prénom\n
\n\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tNom\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tDescription\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tSignification\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tPropriétés\n \n\t\t\t\t\t\t\t | \n\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tVERSION\n \n\t\t\t\t\t\t\t\t(Obligatoire)\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tVersion\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tVersion de la spécification\nvCard\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tUnique champ texte. Il existe trois\nversions : 2.1 ; 3.0 et 4.0\n \n\t\t\t\t\t\t\t | \n\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tN\n \n\t\t\t\t\t\t\t\t(Obligatoire)\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tName (nom)\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tUne représentation\nstructurée du nom de la\npersonne, du lieu ou de la\nchose associée à l'objet\nvCard\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tChamps textes séparés par des points-\nvirgules : Nom de Famille, Prénom(s),\n \n\t\t\t\t\t\t\t\tNom(s) additionnel(s), Titre(s) (Dr, Pr, ...),\nSuffixe(s) (Jr., M.D.). Les champs\npeuvent contenir eux-mêmes plusieurs\nvaleurs séparées par des virgules.\n \n\t\t\t\t\t\t\t | \n\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tFN\n \n\t\t\t\t\t\t\t\t(Obligatoire)\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tFormatted Name\n(Nom formaté)\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tLa chaîne formatée\nreprésentant le nom\nassocié à l'objet vCard\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tUnique champ texte\n \n\t\t\t\t\t\t\t | \n\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tPHOTO\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tPhotographie\n(Photograph)\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tUne illustration ou une\nphotographie de l'individu\nassocié à la vCard\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tUne URI vers une ressource externe ou le\ncontenu binaire de l'image (en précisant\nencodage et type)\n \n\t\t\t\t\t\t\t | \n\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tBDAY\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tBirthday (Date\nde naissance)\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tDate de naissance de\nl'individu associé à la\nvCard\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tDate au format AAAAMMJJ\n \n\t\t\t\t\t\t\t | \n\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tADR\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tAdresse\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tUne représentation\nstructurée de l'adresse\nphysique associée à l'objet\nvCard\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tChamps textes séparés par des points-\nvirgules : Boîte postale, Adresse étendue,\nNom de rue, Ville, Région, Code postal et\nPays\n \n\t\t\t\t\t\t\t | \n\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tTEL;CELL:\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tTéléphone\nportable\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tLa chaîne du numéro de\ntéléphone portable pour les\nappels vocaux associée à\nl'objet vCard\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tUnique champ texte\n \n\t\t\t\t\t\t\t | \n\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tTEL;HOME:\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tTéléphone fixe\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tLa chaîne du numéro de\ntéléphone fixe pour les\nappels vocaux associée à\nl'objet vCard\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tUnique champ texte\n \n\t\t\t\t\t\t\t | \n\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tEMAIL\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tAdresse mail\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tL'adresse email associée à\nl'objet vCard\n \n\t\t\t\t\t\t\t | \n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\tUnique champ texte\n \n\t\t\t\t\t\t\t | \n\t\t\t\t
4
\n\t\t\t\tEn utilisant les renseignements que vous trouverez, précédemment, finalisez votre fichier Prenom_Nom.vcf.
Travail à faire
Envoyer par mail votre fichier Prenom_Nom.vcf à votre mobile.
Ouvrez le mail dans votre mobile et importer le contact en cliquant sur celui-ci.
Vérifiez que votre carte de visite figure bien dans votre carnet d’adresse.
"}],[{"text":"\n\t\t\n\t\n\t\n\t\tLorsqu’on crée la carte de visite vCard d’une personne, à partir d’un fichier texte, la saisie des descripteurs\npeut vite se révéler répétitive. Pour gagner du temps on peut construire un programme Python qui permet de\nsaisir les valeurs des descripteurs : le nom, le prénom, le téléphone, le mail, ... de la personne.
Le code Python ci-dessous permet de créer un fichier texte.\n
savefile( letexte , \"nomfichier\" , \"extension\")
\n\t\t\t\tOn rappelle que l’instruction :
x=input(‘Votre Question’)\n
\n\t\t\t\tentraîne l’ouverture d’une boite de dialogue permettant la saisie de la réponse à « Votre Question » et son\nstockage dans la variable x qui est alors un string.\n
\n\t\t\t\t\tTravail à faire
En utilisant les codes ci-dessous créez le programme qui permet de saisir les informations suivantes et créer\nle fichier Prenom_Nom.vcf contenant votre carte de visite numérique.\n
\n\t\t\t\t\tNom ;
prenom ;
numTelPort ;
numTelFixe ;
anniv ;
mail ;
adresse ;
codePostal ;
ville ;
departement ;
pays
Dans cette version, on travaille directement avec le fichier vCard, c’est à dire le fichier portant l’extension .vcf, que l’on ouvre, comme un simple fichier texte, avec Notepad++ par exemple.
1. Etudiez le code Python suivant qui permet de mettre chacune des lignes d’un Fichier nommé Fichier.vcf dans une liste Python, d’afficher la liste et de compter le nombre de lignes dans la liste.
nom='Fichier.vcf'
fc=open(nom,'r')
liste=fc.readlines()
print(liste)
taille=len(liste)
print(taille)
2. Créez le programme Python qui permet de compter le nombre de contacts contenus dans un fichier vCard. Version 2 (en utilisant un fichier csv)
1. Ouvrez le fichier vCard avec l'extension Google Apps Script, puis Enregistrez le sous l’extension .csv.
3. Etudiez le code Python suivant qui permet de mettre chacune des lignes du fichier Tableur.csv dans une\nliste Python, d’afficher la liste, de compter le nombre de lignes dans la liste et d’afficher un élément de la\nliste.
\n\t\t\n\t\n\t\n\t\tnom='Fichier.vcf'\nfc=open(nom,'r')\nliste=fc.readlines()\nprint(liste)\ntaille=len(liste)\nprint(taille)\n
\n\t\t\t\t\t#on crée une variable de type string. C’est le nom du fichier\n#ouverture du fichier en lecture ('r' pour read)\n
\n\t\t\t\t\t\t#lecture du fichier et mise dans une liste\n
\n\t\t\t\t\t\t#affichage de la liste liste
\n#calcul de la taille de la liste (=nombre de ligne du fichier)\n#affichage de n\n
import csv\nf=open('tableur.csv',newline='') #Ouverture du fichier CSV\ntableau=[] #Création d'une liste\nlire=csv.reader(f) #chargement des lignes du fichier csv\nprint('Affichage des lignes du tableau',end='\\n')\n\n\t\t\t\t\t
for ligne in lire:\n print(ligne, end='\\n')\n tableau.append(ligne)\n
\n\t\t\t\t\t#Pour chaque ligne du fichier csv...\n#affichage de la ligne dans la console\n#on ajoute la ligne dans le tableau\n
\n\t\t\t\t\tprint(tableau)\nprint('Nombre de ligne dans le tableau',len(tableau))\nprint('affichage de la première colonne et deuxième ligne :',tableau[1][0])\n
\n\t\t\t\t\t4. En utilisant le code précédent, créez le programme Python qui permet de compter le nombre de contacts\ncontenus dans le fichier vCard qui aura été transformé en fichier csv.
\n\t\t\t\tEcrire ici.