This blog is available in English too. The English version is a bit less complete than the French one. Go to the English version of this blog.

Archives de la catégorie Trucs sympa

10 février 2010

Fusionner/découper des PDFs directement dans Dolphin (KDE)

Logo KDE

Contexte

Je viens juste de passer à KDE après avoir utilisé Gnome pendant quelques années et je suis en pleine réadaptation.

Mais j’ai récemment dû fusionner deux PDFs. J’ai donc cherché une bonne solution pour KDE. Il y a de nombreux outils en ligne de commande pour manipuler les PDFS sous Linux, mais les quelques interfaces graphiques qui existent sont franchement moches.

Je me suis donc dit que ça serait bien d’intégrer les fonctions de fusion/découpe de PDFs directement dans Dolphin, le gestionnaire de fichiers de KDE. Dans Dolphin un menu apparaît quand on fait un clic droit sur un fichier, aves un sous-menu « Actions » ou il est possible d’ajouter des fonctions. J’explique dans la suite comment il est possible de le faire.

Pré-requis

  • Vous devez utiliser une version récente de KDE (qui intègre Dolphin comme gestionnaire de fichiers). J’ai la version 4.3.5.
  • Pour manipuler les PDFs, vous avez besoin d’un outil en ligne de commande. J’ai choisi pdftk. Vous pouvez installer le paquet pdftk sous kubuntu, par exemple en tapant dans un terminal :
    sudo apt-get install pdftk

Création de scripts pour fusionner/découper les PDFs automatiquement

J’ai créé deux scripts : un pour fusionner les PDFs, l’autre pour les découper. J’ai mis les deux fichiers dans le dossier /opt/pdf-service :

  • /opt/pdf-service/pdf-service-merge.sh (télécharger):
    #!/bin/bash
    # Run a command to merge PDF files
    # Used to add a context menu in Dolphin for PDF files
    
    pdftk "$@" cat output "${1%.pdf}_merged.pdf"
  • /opt/pdf-service/pdf-service-split.sh (télécharger):
    #!/bin/bash
    # Run a command to split PDF files
    # Used to add a context menu in Dolphin for PDF files
    
    for file in "$@"
    do
       out_dir="${file%.pdf}_pages"
       mkdir -p "$out_dir"
       pdftk "$file" burst output "$out_dir/page_%04d.pdf"
    done

Voici les étapes à suivre pour installer ces fichiers sur votre ordinateur :

  • Créez le dossier /opt/pdf-service : tapez dans un terminal:
    sudo mkdir /opt/pdf-service
  • Téléchargez les deux fichiers dans le dossier : tapez dans un terminal:
    cd /opt/pdf-service && sudo wget http://www.viesurip.fr/wp-content/uploads/2010/02/pdf-service-split.sh http://www.viesurip.fr/wp-content/uploads/2010/02/pdf-service-merge.sh
  • Rendez les fichiers exécutables : tapez dans un terminal:
    sudo chmod a+x /opt/pdf-service/*.sh

Ajouter le service à Dolphin

Un service se déclare dans Dolphin en écrivant simplement un fichier .desktop dans le dossier /usr/share/kde4/services/ServiceMenus/ : voici le fichier que vous devriez créer sous le nom /usr/share/kde4/services/ServiceMenus/pdf-servicemenu.desktop (télécharger):

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/pdf
Actions=split;merge;

[Desktop Action split]
Name=Split PDF pages
Name[fr]=Découper les pages du PDF
Icon=gnome-mime-application-pdf
Exec=/opt/pdf-service/pdf-service-split.sh %F

[Desktop Action merge]
Name=Merge PDF files
Name[fr]=Fusionner les PDFs
Icon=gnome-mime-application-pdf
Exec=/opt/pdf-service/pdf-service-merge.sh %F

To install this file, just type in a terminal:

cd /usr/share/kde4/services/ServiceMenus && sudo wget http://www.viesurip.fr/wp-content/uploads/2010/02/pdf-servicemenu.desktop

Conclusion

Il vous suffit maintenant de fermer toutes les fenêtres précédemment ouvertes de Dolphin, de relancer Dolphin, et de faire un clic droit sur un PDF. Vous devriez voir deux nouvelles entrées dans le sous-menu Actions.

Les entrées sont disponibles uniquement en Anglais et en Français dans mon fichier, mais vous pouvez facilement rajouter d’autres langues dans le fichier pdf-servicemenu.desktop.

Ça serait quand même génial d’avoir une interface sympathique pour installer des modules qui ajoutent des sous-menus utiles comme ceux-ci. Des sortes d’extensions à Dolphin…

Aucun commentaire »

24 septembre 2009

Stage chez Jolicloud : les premiers pas d’une start-up

Stage chez Jolicloud : les premiers pas d’une start-up

Dans le cadre d’une année « Jeune Ingénieur » à TELECOM Bretagne, je viens de finir un stage de presque un an chez Jolicloud.

Il s’agit d’une toute nouvelle start-up lancée par Tariq Krim (fondateur de Netvibes) qui crée un système d’exploitation adapté aux netbooks et construit autour d’Internet (ses technologies et ses services).

Ce stage a été une passionnante occasion de vivre de l’intérieur le lancement d’une start-up : idée, recherche, lancement d’une alpha privée, recherche de financements, arrivée de gros concurrents (comme Google Chome OS), élargissement de l’alpha, embauches, roadmap de la beta et de la version finale… Nous étions trois au départ : Tariq Krim, Romain Huet et moi.

Niveau développement, le défi est intéressant : se baser sur Linux pour créer un système d’exploitation ergonomique et beau, qui soit centré sur les technologies du web plutôt que sur les technologies classiques utilisées sur un système Linux (plutôt HTML que GTK, plutôt Javascript que C…).

Nous avons utilisé Ruby On Rails et JQuery pour développer l’application web qui est le cœur de Jolicloud, et pas mal de python sur le système, pour permettre à notre application web de communiquer avec le système.

Les premiers développements se sont focalisés sur deux choses : partir d’Ubuntu et le modifier pour créer le système d’exploitation Jolicloud, et créer un annuaire d’applications, un peu comme sur l’iPhone d’Apple, qui permet d’installer/supprimer/mettre à jour ses applications en un clic. Cet annuaire est basé sur APT, la technologie utilisée par Debian (et Ubuntu) pour gérer les fichiers installés sur le système. De plus, Prism a été complètement intégré pour mettre les applications web (Google Docs, GMail, Facebook…) sur le bureau.

La version actuellement disponible de Jolicloud est très loin d’être complète : ce n’est qu’un aperçu de ce que nous voulons faire. Les développements s’accélèrent actuellement et nous avons plein d’idées dont je ne peux pas encore parler. Je dois malheureusement retourner en cours maintenant pour ma 3ème année à TELECOM Bretagne, mais j’espère pouvoir continuer à participer à Jolicloud dans l’avenir.

Contrairement à ce que fera probablement Google Chrome OS, Jolicloud permet de lancer des applications locales, pas seulement des applications web, et il ne pousse pas à l’utilisation des services Google. Et contrairement à Moblin, Jolicloud est autant une application web (notifications, synchronisation…) qu’un système d’exploitation. Et personnellement, le concept de Jolicloud me plairait bien sur mon PC portable aussi, si son interface était adaptée. Donc Jolicloud me semble avoir un bel avenir… à suivre :)

1 commentaire »

6 septembre 2009

Internet en 2015 : vie privée en réseau ?

Un verrou

Samedi 26 septembre 2015,

Internet a beaucoup évolué ces 5 dernières années. En 2009, utiliser des services en ligne impliquait de faire confiance à des services tiers pour veiller sur vos données personnelles. Par exemple Facebook savait tout de ce que vous faisiez et de vos amis, Google Docs avait tous les documents sur lesquels vous collaboriez, Gmail avait tous vos emails… Tous ces services avaient des conditions d’utilisation assez peu clairs. Ils assuraient ne pas utiliser vos données d’une mauvaise manière mais ils les utilisaient pour vous afficher de la publicité ciblée. Et vous ne pouviez jamais être sûr qu’ils ne perdraient pas vos données et ne seraient pas piratés. Ce manque de confiance rendait difficile la généralisation de l’utilisation des services en réseau, malgré leurs avantages évidents.

Maintenant ce problème a été au moins en partie réglé grâce aux Fournisseurs d’Accès à Internet. Ma situation est très commune : j’ai une connexion en fibre optique au débit important et symétrique. Ma Freebox v8, ma nouvelle box internet, est constamment connectée à internet et inclut un serveur qui héberge toutes mes données personnelles et celles des autres membres de ma famille. Notre ordinateur personnel, mon portable, mon netbook Jolicloud et mon IPhone sont synchronisés au disque dur de notre Freebox (par le réseau local ou internet).

Le serveur de la Freebox est surtout un serveur HTTP avec une interface web et de nombreuses APIs. Une interface web est disponible pour chaque membre de la famille sur http://surnom.free.fr. Le mien est à http://twisterss.free.fr. Il ressemble à un blog personnel avec de nombreuses fonctions sociales.

Cette URL est aussi la clef de ma vie numérique. Elle est utilisée par de nombreux sites web pour accéder aux APIs de ma Freebox en utilisant OAuth. Facebook stoque les messages, les liens, les photos et les vidéos que je partage sur ma Freebox grâce à ces APIs. Ma Freebox a aussi les autorisations pour accéder aux données de mes amis. Ils ont tous une URL unique comme la mienne qui donne accès aux mêmes APIs. Dans un premier temps Facebook ne voulait pas utiliser cette architecture car elle leur faisait perdre le contrôle des données de leurs utilisateurs, mais en voyant des nouveaux concurrents gagner rapidement des utilisateurs avec cette architecture les a fait changer d’avis. Ils ont même développé une extension propriétaire avec un élargissement de l’API qui est plus rapide et offre plus de fonctions que l’extension par défaut. Je pourrais l’installer sur ma Freebox en un clic, mais je préfère l’extension open-source par défaut car je ne sais pas exactement ce que fait l’extension fermée de Facebook. Maintenant la valeur de Facebook est dans la façon dont ils trient les données pour afficher les plus intéressantes, et dans les nombreuses applications tierces disponibles pour gérer sa vie numérique. Et ils n’ont plus à payer les serveurs énormes qu’ils utilisaient pour les envois de photos et de vidéos, qui sont maintenant directement envoyées depuis le serveur de l’utilisateur.

Google utilise aussi cette architecture : ils cherchent à la fois dans les données de mes amis et sur internet. Ils peuvent même me dire quand un ami a fait des recherches semblables aux miennes (s’il a accepté de le rendre public, bien sûr). Comme Facebook, ils proposent une extension propriétaire qui indexe les données plus efficacement. Jolicloud utilise mon serveur privé pour synchroniser les applications et les fichiers sur tous mes netbooks et pour me proposer des applications que mes amis aiment.

Avec cette architecture, les utilisateurs contrôlent beaucoup mieux leurs données car elles sont stockées sur leurs propres serveurs, et seules des métadonnées sont envoyées aux sites la plupart du temps (des liens et des descriptions pour Google et Facebook…). Toutes les données sont synchronisées sur tous les ordinateurs, permettant de les restaurer si un disque dur lâche. Le partage de données est beaucoup plus efficace et rapide car elles ne sont plus systématiquement envoyées à un serveur central. Mais cette architecture n’est pas parfaite : si les utilisateurs installent des extensions malicieuses sur leur box ou s’ils donnent accès à leurs données à n’importe quel site web par OAuth, leur vie privée est encore menacée.


Cette idée du futur est internet tel que j’aimerais l’utiliser en 2015. Pour qu’il existe, nous devrons trouver des standards pour les APIS que tout le monde accepte, et les services web comme Facebook devront comprendre l’importance de la protection de la vie privée. Les FAIs ont probablement intérêt à ce que cet internet existe car ils y joueraient un rôle plus important. Mais seuls les utilisateurs peuvent rendre cet internet réel si la protection de leur vie privée les intéresse vraiment.

2 commentaires »