La transparence réseau dans KDE

Slides:



Advertisements
Présentations similaires
INFSO-RI Enabling Grids for E-sciencE Statistiques d'usage d'un site de la grille LCG/EGEE Emmanuel Medernach, IN2P3 LPC.
Advertisements

GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Conférence KDE 4, Toulouse, 2008 Qt 4 Principes fondamentaux de Qt Fonctionnalités proposées par Qt "Tout ça dans un toolkit"? David Faure.
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Subversion. 2 Subversion : Pour Quoi Faire ? Problèmes de la gestion du code dans un projet – Durée de vie du projet peut être longue : besoin de gérer.
Séminaire EOLE Dijon Octobre 2008 Eole SSO.
Le système de fichier pair-à-pair distribué. Plan ● Présentation de Peerfuse – Le but recherché – Les fonctionnalités ● Utilisation de la bibliothèque.
Twisted Le framework de votre internet Où pourquoi vous avez mieux à faire que de recoder un bot irc et un serveur web, par Michael Scherer.
Créat. : 23/09/2016 Modif. : 23/09/2016 Bogdan Stefanescu > Connectivité CPS et Eclipse Solutions Linux 2006.
Généralités sur les réseaux Généralités sur les réseaux informatiques.
Février 2006X. Belanger / Guilde Introduction à. Février 2006X. Belanger / Guilde Qu'est ce que Samba ? ● Implémentation libre du protocole CIFS/SMB (client.
L’intérêt de sauvegarder certaines données stockées localement sur les postes clients est souvent trop sous-estimée par nos utilisateurs. Casse matérielle,
Java – Réseau Eric Blaudez 06.
Kolab La solution de groupware libre Benoit Mortier OpenSides Bruxelles,
Cours 08 SYSTÈME DE FICHIERS
Windows NT/2000/XP Enjeux et contraintes techniques
Procédures Framework LDAP
Module S41 Chapitre 11  Configuration de Windows XP Professionnel pour l'informatique mobile.
Présentation de la solution PROMOTAB
Le modèle TCP/IP Présentation Couche Interface-Réseau Couche Réseau
Outils (MailIntegration et autres)
Framework EHop/Ecenvir
Communication client-serveur
Mise en place d’un système de partage de fichiers
Qu’est-ce un serveur de messagerie?
Phase 3 Architecture collaborative Y. Stroppa – A. Ly – F. Badin
Comprendre l’environnement Web
show dialer interface bri
Quels outils collaboratifs pour mon association ?
Gestion de version centralisée et décentralisée
Séminaire EOLE Dijon Septembre 2008
Projet Ville de Lyon Sites Internet
Implémentation de PayPal
Sécurité - VPN - Configurer la mise à jour du client
TP N°2 : les Adresses IP *IP: Internet Protocol
Mesure SAP Guide rapide pour réaliser une mesure de système
Séminaire EOLE Beaune Septembre 2007
Guide Share MQ HA & Appliance
Les protocoles du Web Professeur: Tanja Dinić Étudiant:
Intégration Continue et SQL
Installation et Configuration Internet Information Server (IIS 5)
Projet 1789 : Plateforme d'enseignement innovante
Commande show dialer ccnp_cch ccnp_cch.
Développement d’un réseau social de collaboration destiné aux médecins radiologues Soutenance de projet de fin d’étude En vue de l’obtention du diplôme.
HTTP DNS NTP FTP R231 RJ45 definition HTTP DNS NTP FTP R231 RJ45.
Certificat en Informatique et Internet D5. Travailler en réseau, communiquer et collaborer Equipe C2I - FSEGS Semestre 2 – Avril 2015 Université de Sfax.
Introduction à la conception de site web
Bureau distant sur Windows Vista /2008 Server
Introduction à Internet
A. DAAIF ENSET Mohammedia Université Hassan II Casablanca.
Message Oriented Middleware MOM - Beghdad abdelkrim -abass youcef.
Elaboré par : AmeL Bettoumi & Wafa Nechba Filière : Génie Électrique-Option: Informatique Industrielle L’ encadrant industriel : Mr Walid Chebbi Programmation.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Les protocoles de la couche application Chapitre 7.
Conception et réalisation d'une application mobile: Conception et réalisation d'une application mobile: communiquer Arduino pour commander un moteur via.
Introduction aux réseaux informatique. Plan Organisation physique des réseaux Protocoles de communication Terminologie.
Système d’exploitation UNIX
TP N°4 Développement d’ une application client / Serveur en utilisant les Sockets TCP.
Exposé de système / réseaux IR3
TD Multimédia : cours 1 Année Groupe C TD multimédia.
Introduction aux réseaux informatique IFT 6800 – E 2007 Jian-Yun Nie.
Intégration GRIF Michel Jouvin Comité Technique GRIF 28 Novembre 2005.
1 Plan de formation Chapitre 1 : Présentation de SAP Chapitre 1 : Présentation de SAP Chapitre 2 : Arrêt et démarrage d’un système SAP Chapitre 3 : Configuration.
1 DEPLOIEMENT D’UN SYSTEME DE REPARTITION DE CHARCHE (LOAD BALANCING) Abasse KPEGOUNI, Ingénieur Systèmes et Réseaux.
Présentation PISTE pour les partenaires raccordés en API
TP N°4 Développement d’ une application
TP RC.
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

La transparence réseau dans KDE KIO La transparence réseau dans KDE David Faure faure@kde.org

get, put Fonctionalités mkdir, symlink, chmod, chown stat, mimeType listDir copy, move, del special

Protocoles file, ftp, http webdav, fish, smb system floppy tar, zip audiocd trash ...

Architecture Application lib KIO kioslaves processus séparés

Appel bloquant! Version générique: Utilisation synchrone OK dans tests unitaires, outils texte Autre exemple: copie de sauvegarde if (KIO::NetAccess::exists(url, SourceSide)) { KURL backup(url); backup.setPath(backup.path() + '~'); KIO::NetAccess::file_copy(url, backup); } Version générique: KIO::NetAccess::synchronousRun(job)

Utilisation asynchrone Appel non bloquant Lancement d'un job Job émet des signaux Job se détruit tout seul Boite de progression automatique job➙ui() pour les messages d'erreur

Utilisation asynchrone TransferJob *job = KIO::storedGet(KUrl("http://www.kde.org")); job->ui()->setWindow(this); connect(job, SIGNAL(result(KJob*)), this, SLOT(slotGetResult(KJob*))); void MyClass::slotGetResult(KJob* job) { if (job->error()) { job->ui()->showErrorMessage(); } else { data = static_cast<KIO::StoredTransferJob *>(job)->data(); }

KIO::Scheduler::assignJobToSlave(slave, job); Mode connecté Association job-slave par l'application Sérialisation des opérations du slave Slave *slave = KIO::Scheduler::getConnectedSlave(url); KIO::Job* job = KIO::get(url+"/1"); KIO::Scheduler::assignJobToSlave(slave, job); ... autres jobs, même slave ➙ sérialisation KIO::Scheduler::disconnectSlave(slave);

URL ➙ Mime ➙ Part Pour connaître le mimetype d'une URL: KMimeType::findByUrl: rapide, mais imprécis job = KIO::mimeType(): précis, mais get() = 2e connexion. Meilleure solution: KIO::get() attendre signal mimetype() job➙putOnHold() charger le composant approprié KIO::get() ➪ réutilise le même slave

Metadata Échange d'infos application - kioslave vers HTTP: User-agent, referrer, cache, biscuits :-) depuis HTTP: En-têtes, date de dernière modification... vers FTP: login automatique, détails, mode ascii... Exemple: désactiver les cookies job➙addMetaData("cookies", "none"); Voir kio/DESIGN.metadata

Listage de répertoire KIO::listDir renvoie des UDSEntry (hashage. ex: UDS_NAME ➜ string) Plus pratique: KDirLister et KFileItem Pour model/view: KDirModel

Lancement Création du job KIO::Scheduler timer cherche slave inutilisé ou en lance un: appel DBUS vers klauncher: requestSlave klauncher cherche slave inutilisé dans pool global sinon démarre processus "kioslave <...>" (via kdeinit) communication app-slave via socket Alternative: KIO_FORK_SLAVES

Problèmes restants Séparation core/gui incomplète Manquant: limitation du nombre de slaves par serveur Pour applis KDE uniquement. Mais: kioclient FUSE GIO chez gnome nf2: pont kioslave➙GIO lib non-qt/non-kde?

Questions? ...