VCard Conversion vcf csv vcf

Soyez le premier à donner votre avis sur cette source.

Vue 4 486 fois - Téléchargée 779 fois

Description

Bonjour ^_^

Tellement le bazar dans les contacts de mon téléphone portable (android) que je me suis dit que j'allais me servir d'un utilitaire tout fait. Rien de probant ou de gratuit :-(
J'ai donc pris mon courage à deux mains et ai développé ce code sans prétention (en 3 mois quand même, à mes heures "perdues\"), code d'un style qui n'est sûrement pas des plus purs et des plus optimisés.

Donc, tout tient en une seule page html javascript (pas de lien, pas d'image externe) donc facilement exécutable en local.

Comme l'indique la capture :
- conversion csv en vcf et inversement
- vCard 2.1 et 3.0
- gestion des images des contacts (base64)
- gestion des catégories (utile dans gmail par exemple)
- edition directe à l\'écran
- recherche de doublons et fusion manuelle et automatique..
- fonction recherche et filtrage
- exportation des conctacts (fenêtre PopUp)
- ...

J'ai testé avec 750 contacts contenus dans un seul fichier .vcf en important exportant avec gmail et mon android (android 4.3), cela m\'a l\'air ok.

Voilà, si cela peut vous être utile...
N'hésitez pas à poster toute remarque constructive ^_^

ym_trainz
P.S. reste à traiter le format csv google et outlook mais que l'on peut gérer dans un tableur externe.
---------------------------------------------------------------------
HISTORIQUE des VERSIONS
---------------------------------------------------------------------
v1.4 - 29/04/2014
Ajout de la fonction "exporter le tableau html" : ouvre une fenêtre PopUp pour enregistrer les contacts affichés
V1.3 - 27/04/2014
Changement du champ téléphone par défaut si non compatible WORK par HOME dans CleanChamp()
Correction bug affichage (mode fusion / edition)
Ajouté un <div> html_suppr pour permettre la suppression des lignes à l'endroit du curseur
v1.2 - 21/04/2014
Textarea source : Ajout de la fonction Drag & Drop ou input multiple file pour sélectionner la source (sur une proposition de Kazma 08/04/2014)
v1.1 - 08/04/2014
Correction dans la fenêtre "fusion" (suppression du bouton annuler et message confirm revu)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1768
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 octobre 2020
104
c'est surement possible qu l'on puisse minimiser le code mais une chose est sur c'est que fonctionnel en plus le code est très bien commenter et c'est indenté. Il y a aussi l'IHM qui est pas mal,et c'est bourré d'options pour conclure ca mérite bien 5 étoiles.

sinon il y a une chose que je trouve agaçante c'est de devoir ouvrir un fichier et copié coller son contenu dans le textarea et si ca t'interesse voici un bout de code qui permet d'insérer le contenu du fichier par drag and drop dans le textarea a adapté

    <!doctype html>
    <html lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <head>
    <style type="text/css">
 
 body{
  font-family:Verdana, Geneva, sans-serif;
  background-color:#b2bdc6;
  }
 
 #fileinput{
 position:fixed;
 top:3%;
 }
   
    textarea{
 display:block;
    width:40%;
    height:250px;
    margin-left:30%;
 margin-bottom:15px;
 border:2px ridge #aaa;
 border-color:#585858;
     box-shadow: 10px 10px 10px #616161;
 }
    </style>
    <script type="text/javascript">
function dragenter(e) {
	e.stopPropagation();
	e.preventDefault();
}
function drop(e) {
	
	if (!e) {
		var fichier = document.getElementById('fileinput').files;
	}
	else {
		var fichier = e.dataTransfer.files;
	}
	
	charger(fichier)
}


function charger(fichier){

	if (fichier[0].type.match('x-vcard') || fichier[0].name.match('.csv')){
		
		var charge=new FileReader();
		
		charge.readAsText(fichier[0]);
		
		charge.onloadend = function(e){
			
			document.getElementById('txta').value=''
			document.getElementById('txta').value = e.target.result;
		}
	}
}
     </script>
    </head>
    <body>
    <br>
    <div>
    <input type='file' multiple='multiple' id='fileinput' onchange='drop()'>
 </div>
    <br>
    <div id='conteneur'><textarea id='txta' ondragenter="event.stopPropagation(); event.preventDefault();"
    ondragover="event.stopPropagation(); event.preventDefault();"
    ondrop="event.stopPropagation(); event.preventDefault(); drop(event);">
    deposez le fichier a cet endroit ou utilisez parcourir</textarea></div>
    </body>
    </html>
Messages postés
162
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
21 avril 2015
>
Messages postés
1768
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 octobre 2020

Bonsoir Kazma,

Version 1.2 : J'ai ajouté la fonctionnalité Drag & Drop pour le textarea source. C'est vrai que c'est pratique ^_^

J'ai utilisé un timer pour gérer le chargement de fichiers multiples (attendre le "charge.onloadend")

Merci pour cette bonne idée.
Messages postés
162
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
21 avril 2015
>
Messages postés
1768
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 octobre 2020

Merci Kazma !
Bonne idée le drag & drop. Je vais étudier l'option ;-)
Il faut aussi que je finisse la conversion csv google et outlook...
Encore quelques lignes de code en perspective.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.