<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Je pensais qu&#039;il était avec vous... &#187; Logiciel</title>
	<atom:link href="http://www.patpro.net/blog/index.php/tag/logiciel/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.patpro.net/blog</link>
	<description>patpro.net</description>
	<lastBuildDate>Mon, 23 Jan 2012 23:09:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Nuxeo contre Alfresco</title>
		<link>http://www.patpro.net/blog/index.php/2012/01/05/1990-nuxeo-contre-alfresco/</link>
		<comments>http://www.patpro.net/blog/index.php/2012/01/05/1990-nuxeo-contre-alfresco/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 11:05:09 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Grrr]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1990</guid>
		<description><![CDATA[Après un mois d'utilisation du logiciel de GED Nuxeo DM, le bilan est plutôt négatif. Je pensais naïvement avoir mis la main sur une application correcte (comme elle est en JAVA, elle peut tout au plus être correcte). Un pré-requis très important pour moi était la possibilité d'utiliser MySQL comme moteur de base de données. [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2012/01/05/1990-nuxeo-contre-alfresco/' addthis:title='Nuxeo contre Alfresco '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>Après un mois d'utilisation du logiciel de GED <a href="/blog/index.php/2011/12/03/1940-la-gestion-electronique-de-documents-episode-1/" title="La gestion électronique de documents, épisode 1">Nuxeo DM</a>, le bilan est plutôt négatif. Je pensais naïvement avoir mis la main sur une application correcte (comme elle est en JAVA, elle peut tout au plus être correcte). Un pré-requis très important pour moi était la possibilité d'utiliser MySQL comme moteur de base de données. En réalité, bien que Nuxeo supporte MySQL officiellement, l'usage de ce moteur est absolument découragé. Les développeurs listent <a href="http://doc.nuxeo.com/pages/viewpage.action?pageId=3343486">une série de raisons</a> somme-toute valables, et qui peuvent se résumer comme ceci : il aurait fallu coder Nuxeo pour qu'il supporte les spécificités de MySQL, et on a eu la flemme. En réalité, rien ne fonctionne vraiment correctement si on utilise Nuxeo avec MySQL. À tel point qu'il ne devrait même pas être possible de choisir ce serveur de base de données dans les menus de configuration de Nuxeo. Et c'est bien ça qui me met en rogne. J'ai perdu un mois, et de nombreuses heures de travail pour un logiciel qui oscille finalement entre le "peu fiable" et le "carrément inutilisable".<br />
Entre alors en scène Alfresco. Un logiciel concurrent, codé lui aussi en (<a href="http://www.urbandictionary.com/define.php?term=wait%20for%20it">wait for it</a>) JAVA. Ce dernier fonctionne très bien avec MySQL, je l'ai donc installé sans tarder pour me faire une opinion  sur ses capacités. Les différences avec Nuxeo sont importantes.<br />
<span id="more-1990"></span><br />
Sur le plan de l'installation, Nuxeo est livré tout packagé. Il utilise un tomcat "clé en main" pré-configuré et se trouve centralisé dans un répertoire unique. A contrario, Alfresco est livré sous la forme d'un fichier WAR, qu'il faut installer dans un serveur tomcat. Il faut en plus déplacer ou copier des fichiers à la main, en suivant des instructions souvent incomplètes glanées sur internet. Par contre sur FreeBSD tomcat est livré avec un script de lancement, alors que pour Nuxeo <a href="/blog/index.php/2011/12/12/1979-installation-de-nuxeo-dm-sur-freebsd-episode-3/" title="Installation de Nuxeo DM sur FreeBSD, épisode 3">j'ai du en créer un</a>.<br />
Bref, sur FreeBSD Nuxeo est à peu près utilisable immédiatement après l'avoir téléchargé, alors qu'Alfresco nécessite plus de travail et que sa documentation est déficiente à ce sujet.</p>
<p>Sur le plan de la configuration initiale, Nuxeo est aussi en tête. Une fois l'application lancée, on s'y connecte, et on personnalise les réglages via l'interface web directement. Du côté d'Alfresco, rien n'est prévu pour faciliter la configuration au moment du déploiement. Il faut éditer un fichier de configuration à la main dans le quel on indique des chemins de fichiers, des informations de connexions pour le serveur de bases de données, etc. De même seul Nuxeo prévoit un menu d'administration complet gérant entre autres choses les patch de mises à jour, et le redémarrage de l'application.</p>
<p>Mais tout ça n'est pas grand chose. Finalement, on ne passe pas son temps à installer et configurer une application. La différence se fait sur l'usage.</p>
<p>En terme d'ergonomie, c'est Nuxeo qui remporte la palme. L'interface est enrichie de fonctions en AJAX, qui permettent par exemple de déplacer un document d'une catégorie à une autre par glisser-déposer, ou bien d'envoyer des documents directement à partir de votre ordinateur vers Nuxeo. Alfresco quant à lui est très en dessous. Tout d'abord il est livré sous la forme de deux applications Alfresco d'un côté, et Share de l'autre. La première se rapproche un peu de Nuxeo DM, mais sans l'AJAX. Pour faire la moindre choses il faut multiplier les clics, c'est assez pénible. La seconde, Share, est plutôt orientée utilisateur final, publication, média "sociaux". Elle propose l'import de documents par glissé-déposé comme Nuxeo, mais elle manque de sobriété. Les documents sont présentés par défaut sous forme de liste de grosses icones aussi inélégantes qu'encombrantes. De nombreuses actions peuvent être faites aussi bien dans Alfresco que dans Share, mais pas toutes. Par exemple je peux utiliser des noms de tags dans le champs de recherche de Share, alors que cela ne fonctionne pas dans Alfresco. Finalement quand on veut faire quelque chose, il faut d'abord se souvenir dans la quelle des deux applications c'est possible (et le plus simple) et s'y connecter. C'est juste n'importe quoi.</p>

<a href='http://www.patpro.net/blog/index.php/2012/01/05/1990-nuxeo-contre-alfresco/nuxeo-liste/' title='nuxeo-liste'><img width="150" height="95" src="http://www.patpro.net/blog/wp-content/uploads/2011/12/nuxeo-liste-150x95.png" class="attachment-thumbnail" alt="affichage d&#039;une liste de documents dans Nuxeo" title="nuxeo-liste" /></a>
<a href='http://www.patpro.net/blog/index.php/2012/01/05/1990-nuxeo-contre-alfresco/alfresco-liste/' title='alfresco-liste'><img width="150" height="84" src="http://www.patpro.net/blog/wp-content/uploads/2011/12/alfresco-liste-150x84.png" class="attachment-thumbnail" alt="affichage d&#039;une liste de documents dans Alfresco" title="alfresco-liste" /></a>
<a href='http://www.patpro.net/blog/index.php/2012/01/05/1990-nuxeo-contre-alfresco/share-liste/' title='share-liste'><img width="150" height="100" src="http://www.patpro.net/blog/wp-content/uploads/2011/12/share-liste-150x100.png" class="attachment-thumbnail" alt="affichage d&#039;une liste de documents dans Share (Alfresco)" title="share-liste" /></a>

<p>La recherche des documents est aussi une dimension importante de la GED. Elle repose sur une indexation du contenu des documents, sur des métadonnées, sur une organisation. J'ai tendance à considérer que l'organisation physique des documents ne doit pas trop peser dans la balance. Il n'y a qu'une manière de classer une facture médicale. Doit-on la ranger dans le dossier "facture", dans le dossier "facture" du dossier "santé" ou dans le dossier "santé" du dossier "facture" ?<br />
Je préfère de loin un système de tags ou de catégories qui me permette d'accoler plus d'une étiquette à un document, et surtout de retrouver tel ou tel document en combinant ces étiquettes dans un champ de recherche. Les tags dans Nuxeo sont assez accessibles. On en ajoute facilement, mais je ne peux pas chercher un document en tapant un ou plusieurs tags dans le champs de recherche. Les tags sont très bien cachés dans Alfresco, et ils sont inutilisables par défaut. A contrario, sans Share les tags sont accessibles, et on peut les utiliser facilement pour une recherche. Malheureusement, il est alors impossible de préciser qu'on souhaite chercher uniquement dans les tags, ce qui réduit l'intérêt de la chose.</p>
<p>La gestion des sauvegardes d'un entrepôt de données est primordiale. Nuxeo étant par défaut entièrement inclus dans un répertoire unique, il n'y a que deux choses importantes à sauvegarder pour que l'application puisse repartir rapidement en cas de désastre : le répertoire de l'application, et la base de données. J'ai déjà un script qui sauvegarde automatiquement mes bases MySQL, mais comme expliqué plus haut, MySQL n'est pas une option. Garder Nuxeo impliquerait donc d'apprendre à gérer des sauvegardes PostgreSQL (dump, rétention, archivage, et restauration), en plus de l'administration courante.<br />
Alfresco est fragmenté, et nécessite un peu plus de préparation pour gérer les sauvegardes, en contrepartie, son support de MySQL m'assure une sauvegarde fonctionnelle immédiatement, et des archives que je sais restaurer sans lire le manuel. Alfresco bénéficie aussi d'un mécanisme de réplication, ce qui permet de bénéficier d'un second serveur de secours (ou de proximité) en cas de panne du serveur habituel.</p>
<p>Au bout du compte, j'ai l'impression que Nuxeo reste une solution intéressante. Ses points faibles ne sont pas si dramatiques, même si pour moi une bonne recherche par tags est primordiale. Alfresco propose des fonctionnalités appétissantes comme la réplication de serveur, une interface orientée utilisateur permettant la recherche par tags (Share). Mais le manque de glisser-déposer et glisser-déplacer, ainsi que le très grand nombre de clics pour la moindre action sont de vrais handicaps dans la phase de remplissage.<br />
Malheureusement pour Nuxeo, je n'ai pas une minute à consacrer à l'apprentissage de PostgreSQL, ce qui laisse une chance à Alfresco de se faire une place sur mon serveur. Comme la migration d'un système à l'autre est totalement illusoire, voire impossible, je vais me laisser encore le temps de la réflexion, avant de charger et classer des centaines de documents dans l'un ou l'autre.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2012/01/05/1990-nuxeo-contre-alfresco/' addthis:title='Nuxeo contre Alfresco '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2012/01/05/1990-nuxeo-contre-alfresco/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Welcome to our Z410 Storage Beta program</title>
		<link>http://www.patpro.net/blog/index.php/2012/01/04/2015-welcome-to-our-z410-storage-beta-program/</link>
		<comments>http://www.patpro.net/blog/index.php/2012/01/04/2015-welcome-to-our-z410-storage-beta-program/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 11:00:23 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=2015</guid>
		<description><![CDATA[C'est Noël ! Dommage que mes congés soient terminés...<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2012/01/04/2015-welcome-to-our-z410-storage-beta-program/' addthis:title='Welcome to our Z410 Storage Beta program '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p><a href="http://tenscomplement.com/"><img src="/blog/wp-content/uploads/2012/01/zfs-sur-mac.jpg" alt="rahhh lovely" title="zfs-sur-mac" width="580" height="482" class="aligncenter size-full wp-image-2016" /></a></p>
<p>C'est Noël ! Dommage que mes congés soient terminés...</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2012/01/04/2015-welcome-to-our-z410-storage-beta-program/' addthis:title='Welcome to our Z410 Storage Beta program '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2012/01/04/2015-welcome-to-our-z410-storage-beta-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation de Nuxeo DM sur FreeBSD, épisode 3</title>
		<link>http://www.patpro.net/blog/index.php/2011/12/12/1979-installation-de-nuxeo-dm-sur-freebsd-episode-3/</link>
		<comments>http://www.patpro.net/blog/index.php/2011/12/12/1979-installation-de-nuxeo-dm-sur-freebsd-episode-3/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 11:00:20 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[Logiciel]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1979</guid>
		<description><![CDATA[Avec un peu de travail, Nuxeo DM peut être abrité en HTTPS derrière un serveur Apache. Je fais l'impasse sur la configuration interne à Nuxeo, elle se fait très simplement à la première connexion via l'assistant fourni. Si vous êtes arrivés jusque là, il ne manque plus qu'un script de démarrage pour que tout fonctionne [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/12/1979-installation-de-nuxeo-dm-sur-freebsd-episode-3/' addthis:title='Installation de Nuxeo DM sur FreeBSD, épisode 3 '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>Avec <a href="http://www.patpro.net/blog/index.php/2011/12/09/1969-installation-de-nuxeo-dm-sur-freebsd-episode-2/" title="Installation de Nuxeo DM sur FreeBSD, épisode 2">un peu de travail</a>, Nuxeo DM peut être abrité en HTTPS derrière un serveur Apache. Je fais l'impasse sur la configuration interne à Nuxeo, elle se fait très simplement à la première connexion via l'assistant fourni. Si vous êtes arrivés jusque là, il ne manque plus qu'un script de démarrage pour que tout fonctionne de manière transparente sur votre serveur.<br />
Voici le contenu du script de lancement/arrêt pour une instance de Nuxeo DM, <code>/usr/local/etc/rc.d/nuxeo</code>. N'oubliez pas de remplacer la valeur de <code>nuxeo_home</code> par le chemin de votre répertoire nuxeo :</p>
<pre>#!/bin/sh

# PROVIDE: nuxeo
# REQUIRE: DAEMON
# BEFORE: LOGIN

# Define these nuxeo_* variables in one of these files:
#       /etc/rc.conf
#       /etc/rc.conf.local
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
#
nuxeo_enable="${nuxeo_enable-NO}"
nuxeo_user="${nuxeo_user-nuxeo}"
nuxeo_home="/CHEMIN/DE/nuxeo"

. /etc/rc.subr

name="nuxeo"
rcvar=`set_rcvar`
start_cmd=${name}_start
stop_cmd=${name}_stop

nuxeo_start()
{
cd $nuxeo_home
$nuxeo_auditflags sudo -u $nuxeo_user ./bin/nuxeoctl startbg
}

nuxeo_stop()
{
cd $nuxeo_home
sudo -u $nuxeo_user ./bin/nuxeoctl stop
}

load_rc_config $name

run_rc_command "$1"</pre>
<p>Une fois le fichier créé, rempli, et rendu exécutable, il faut ajouter ces quelques lignes à votre fichier <code>/etc/rc.conf</code> :</p>
<pre>nuxeo_enable="YES"
nuxeo_user="NUXEO_USER"</pre>
<p>Vous remplacerez bien sûr <code>NUXEO_USER</code> par le nom du compte utilisateur qui fera tourner l'application Nuxeo DM. Après cela, les commandes <code>/usr/local/etc/rc.d/nuxeo restart</code>, <code>/usr/local/etc/rc.d/nuxeo stop</code> et <code>/usr/local/etc/rc.d/nuxeo start</code> doivent fonctionner.<br />
Attention, suivant la puissance de votre machine, et l'état de remplissage de Nuxeo, le temps de lancement peut varier énormément.</p>
<p>Côté mise à jour, vous pouvez accéder aux "hotfix" officiels, gratuitement pendant 30 jours, moyennant une inscription sur le site web de Nuxeo. L'inscription se passe facilement, par contre les mise à jour sont délicates et nécessitent de suivre scrupuleusement <a href="https://connect.nuxeo.com/nuxeo/site/marketplace/hotfixes">les instructions du support Nuxeo</a>. Notamment, relancez bien l'application entre chaque mise à jour.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/12/1979-installation-de-nuxeo-dm-sur-freebsd-episode-3/' addthis:title='Installation de Nuxeo DM sur FreeBSD, épisode 3 '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2011/12/12/1979-installation-de-nuxeo-dm-sur-freebsd-episode-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation de Nuxeo DM sur FreeBSD, épisode 2</title>
		<link>http://www.patpro.net/blog/index.php/2011/12/09/1969-installation-de-nuxeo-dm-sur-freebsd-episode-2/</link>
		<comments>http://www.patpro.net/blog/index.php/2011/12/09/1969-installation-de-nuxeo-dm-sur-freebsd-episode-2/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 20:04:59 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[Logiciel]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1969</guid>
		<description><![CDATA[Une application Tomcat ne devrait pas se trouver nue sur internet. J'ai pour habitude de toujours placer un frontal Apache devant. Cela autorise divers améliorations du service. Apache peut par exemple gérer l'authentification des utilisateurs, faire une balance de charge entre plusieurs instances de l'application, etc. Il permet aussi à votre application d'être joignable sur [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/09/1969-installation-de-nuxeo-dm-sur-freebsd-episode-2/' addthis:title='Installation de Nuxeo DM sur FreeBSD, épisode 2 '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>Une application Tomcat ne devrait pas se trouver nue sur internet. J'ai pour habitude de toujours placer un frontal Apache devant. Cela autorise divers améliorations du service. Apache peut par exemple gérer l'authentification des utilisateurs, faire une balance de charge entre plusieurs instances de l'application, etc. Il permet aussi à votre application d'être joignable sur les port HTTP(S) standard (80 et 443) sans que l'application doive être lancée en root (et sans recourir à une redirection dans votre firewall).</p>
<p>Il existe <a href="http://doc.nuxeo.com/display/NXDOC54/HTTP+and+HTTPS+reverse-proxy+configuration">plusieurs moyens</a> de présenter Nuxeo DM au travers d'un proxy Apache. J'ai choisi d'utiliser mod_proxy. Avec mod_proxy, la configuration est assez standard. Tout, ou presque, est réglé en 3 lignes si on se contente de l'HTTP. Mais pour sécuriser mes connexions à Nuxeo, qui contiendra mes documents personnels et confidentiels, j'ai décidé d'utiliser HTTPS.<br />
J'ai donc un virtual host Apache, et un certificat SSL associé, dans le quel j'inclue les directives de mod_proxy.</p>
<pre>&lt;VirtualHost IP.DU.SER.VEUR:443&gt;
   ServerName DOMAINE.TLD:443
   UseCanonicalName On
   DocumentRoot "/chemin/de/nuxeo/"

   SSLEngine on
   #... config SSL ...

   RequestHeader append nuxeo-virtual-host "https://DOMAINE.TLD/"
   &lt;IfModule proxy_module&gt;
     ProxyRequests Off
     &lt;Proxy *&gt;
        Order deny,allow
        Allow from all
     &lt;/Proxy&gt;
     ProxyPass /nuxeo/ http://localhost:8080/nuxeo/
     ProxyPassReverse /nuxeo/ http://localhost:8080/nuxeo/
     ProxyPreserveHost On
   &lt;/IfModule&gt;

&lt;/VirtualHost&gt;</pre>
<p>Ça c'est d'après la documentation. En réalité, ce n'est pas suffisant. Tout d'abord, il faut bien placer la directive <code>RequestHeader</code> à l'extérieur du bloc <code>proxy_module</code>, sinon elle est juste ignorée par le serveur. Il ne m'a pas fallu moins qu'un tcpdump pour localiser le problème.<br />
J'ai aussi constaté qu'avec ces directives, la première connexion à l'application se fait bien, puis on est immédiatement redirigé vers le même virtual host mais sur le port 80. Je règle le problème avec une directive de redirection dans le vhost http :</p>
<pre>&lt;VirtualHost *&gt;
    ServerName DOMAINE.TLD
    DocumentRoot /chemin/de/nuxeo
    Redirect / https://DOMAINE.TLD/
&lt;/VirtualHost&gt;</pre>
<p>Ce n'est pas totalement satisfaisant, mais faute de mieux, cela fonctionne parfaitement.<br />
En relançant Apache à ce stade, on obtient un proxy fonctionnel et sécurisé par SSL pour Nuxeo.</p>
<p>Avant d'aller plus loin, on peut prendre quelques minutes pour créer une base de données MySQL (ou autre) et un utilisateur MySQL associé à cette base. C'est ce compte de base de données qu'il faudra fournir au moment de la configuration de Nuxeo.</p>
<p>Je fais totalement l'impasse sur la configuration de Nuxeo DM dans le "wizard", elle est bien documentée, et plutôt simple. Il suffit de lancer l'application par la commande ad-hoc si ce n'est pas déjà fait :</p>
<pre># cd /chemin/du/répertoire/nuxeo
# sudo -u nuxeo_user ./bin/nuxeoctl startbg</pre>
<p>Ensuite on se connecte à l'adresse <code>https://DOMAINE.TLD/nuxeo</code> et on peut entamer la configuration.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/09/1969-installation-de-nuxeo-dm-sur-freebsd-episode-2/' addthis:title='Installation de Nuxeo DM sur FreeBSD, épisode 2 '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2011/12/09/1969-installation-de-nuxeo-dm-sur-freebsd-episode-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation de Nuxeo DM sur FreeBSD, épisode 1</title>
		<link>http://www.patpro.net/blog/index.php/2011/12/08/1956-installation-de-nuxeo-dm-sur-freebsd-episode-1/</link>
		<comments>http://www.patpro.net/blog/index.php/2011/12/08/1956-installation-de-nuxeo-dm-sur-freebsd-episode-1/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 19:27:55 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[Logiciel]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1956</guid>
		<description><![CDATA[J'ai récemment choisi Nuxeo DM comme application de GED. C'est une application en JAVA, tournant dans un serveur d'application Tomcat. Nuxeo est packagé sous différentes formes, une seule est utilisable sur FreeBSD : Nuxeo DM Tomcat bundle. L'installation de Nuxeo sur FreeBSD nécessite trois choses : installer les pré-requis logiciels, configurer l'environnement pour sécuriser l'application, [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/08/1956-installation-de-nuxeo-dm-sur-freebsd-episode-1/' addthis:title='Installation de Nuxeo DM sur FreeBSD, épisode 1 '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>J'ai récemment choisi <strong>Nuxeo DM</strong> comme <a href="http://www.patpro.net/blog/index.php/2011/12/03/1940-la-gestion-electronique-de-documents-episode-1/" title="La gestion électronique de documents, épisode 1">application de GED</a>. C'est une application en JAVA, tournant dans un serveur d'application Tomcat. Nuxeo est packagé sous différentes formes, une seule est utilisable sur FreeBSD : Nuxeo DM Tomcat bundle.<br />
L'installation de Nuxeo sur FreeBSD nécessite trois choses : installer les pré-requis logiciels, configurer l'environnement pour sécuriser l'application, et configurer l'application elle-même.</p>
<p>Côté pré-requis, il faut tout d'abord installer le Java Runtime Environment, et le Java Development Kit. Sous FreeBSD, il faut donc installer les ports <strong>java/diablo-jdk16</strong> et <strong>java/diablo-jre16</strong>. Pour une question de licence, il faut télécharger à la main les packages nécessaires chez Oracle. Il suffit simplement de suivre les instructions obtenues pour chaque port au moment du make. Par exemple :</p>
<pre>$ cd /usr/ports/java/diablo-jdk16/
$ make
===>  License check disabled, port has not defined LICENSE
===>  Found saved configuration for diablo-jdk-1.6.0.07.02_12

 Because of licensing restrictions, you must fetch the distribution
 manually.

 Please open http://www.oracle.com/technetwork/java/javase/downloads/index.html
 in a web browser and follow the "Download" link for
 "JDK DST Timezone Update Tool - 1_3_42" to obtain the
 time zone update file, tzupdater-1_3_42-2011k.zip.

 Please place the downloaded file(s) in /usr/ports/distfiles.
 ...
</pre>
<p>Une fois les ports java/diablo-jdk16 et java/diablo-jre16 installés, il faut installer un serveur web comme Apache 2.2, un serveur de bases de données (MySQL ou PostgreSQL par exemple), et à minima pdftohtml. Il est aussi possible d'installer OpenOffice, mais comme il n'existe pas de version "headless" dans les ports de FreeBSD, cela vous embarque dans l'installation complète avec gestionnaire de fenêtre et tutti quanti. Une calamité.<br />
Pour utiliser l'application sur une connexion sécurisée (HTTPS), il faut qu'Apache dispose d'un certificat SSL adéquat.</p>
<p>Quand tout ceci est installé et configuré, il faut encore ajouter un compte utilisateur pour l'application Nuxeo. Les paresseux pourront la faire tourner sous le compte www. J'ai préféré un utilisateur indépendant, plus facile à tracer via auditd et l'accounting.</p>
<p>On peut alors télécharger et décompresser le package multiplateforme à partir du <a href="http://www.nuxeo.com/en/downloads/download-dm-form">site internet de Nuxeo</a>. On obtient un répertoire nommé <code>nuxeo-dm-5.4.2-tomcat</code>. J'ai pour habitude d'exploiter une application à partir d'un répertoire ne portant pas de numéro de version. On aura intérêt à renommer ce répertoire en <code>nuxeo</code>, car ici, faire un lien symbolique de nuxeo-dm-5.4.2-tomcat vers nuxeo ne donne pas vraiment satisfaction.<br />
Pour en finir avec les fichiers, il faut faire un <code>chown -R</code> sur le répertoire nuxeo pour que les fichiers appartiennent tous à l'utilisateur non privilégié que l'on a créé plus haut.</p>
<p>Ensuite, comme nous sommes sur FreeBSD et pas Linux, il faut revoir certains scripts shell. Ces derniers ont un <a href="http://fr.wikipedia.org/wiki/Shebang">shebang</a> qui pointe vers <code>/bin/bash</code> alors que notre bash est dans <code>/usr/local/bin/</code>. Les scripts à modifier sont les suivants : <code>bin/monitorctl.sh</code>, <code>bin/nuxeoctl</code>, <code>bin/pack</code>.</p>
<p>Arrivé là, il est intéressant de lancer l'application via la ligne de commande pour tester qu'au moins elle se lance et répond sur le port 8080 :</p>
<pre># cd nuxeo
# sudo -u nuxeo_user ./bin/nuxeoctl startbg
...
No current configuration, generating files...
Configuration files generated.
Server started with process ID 1438.</pre>
<p>Le serveur est lancé, et il écoute bien sur le port 8080 :</p>
<pre># netstat -alnf inet | grep 8080
tcp4       0      0  *.8080                 *.*                    LISTEN</pre>
<p>Ce que l'on peut aisément vérifier avec un client HTTP en ligne de commande, ou un coup de telnet :</p>
<pre>$ curl http://127.0.0.1:8080
&lt;META HTTP-EQUIV="refresh" CONTENT="0;URL=/nuxeo"&gt;</pre>
<p>On a maintenant une application Tomcat/Java qui tourne sur notre serveur FreeBSD, sous un compte utilisateur dédié. Il reste à brancher devant un proxy Apache HTTPS, créer un script de démarrage automatique pour l'application, et configurer cette dernière.</p>
<p>La suite au prochain épisode :)</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/08/1956-installation-de-nuxeo-dm-sur-freebsd-episode-1/' addthis:title='Installation de Nuxeo DM sur FreeBSD, épisode 1 '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2011/12/08/1956-installation-de-nuxeo-dm-sur-freebsd-episode-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La gestion électronique de documents, épisode 3</title>
		<link>http://www.patpro.net/blog/index.php/2011/12/07/1951-la-gestion-electronique-de-documents-episode-3/</link>
		<comments>http://www.patpro.net/blog/index.php/2011/12/07/1951-la-gestion-electronique-de-documents-episode-3/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 07:34:51 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Logiciel]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1951</guid>
		<description><![CDATA[Une fois qu'on a choisi un système de GED, et qu'on a passé avec un succès relatif les épreuves de l'installation, il reste le plus important : l'utilisation quotidienne. L'ajout de documents déjà électroniques est assez trivial. Dans Nuxeo en prime on peut le faire par glisser-déposer, c'est super cool™. La difficulté finalement à ce [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/07/1951-la-gestion-electronique-de-documents-episode-3/' addthis:title='La gestion électronique de documents, épisode 3 '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>Une fois qu'on a <a href="/blog/index.php/2011/12/03/1940-la-gestion-electronique-de-documents-episode-1/" title="La gestion électronique de documents, épisode 1">choisi un système de GED</a>, et qu'on a passé avec un succès relatif <a href="/index.php/2011/12/06/1947-la-gestion-electronique-de-documents-episode-2/" title="La gestion électronique de documents, épisode 2">les épreuves de l'installation</a>, il reste le plus important : l'utilisation quotidienne.</p>
<p>L'ajout de documents déjà électroniques est assez trivial. Dans Nuxeo en prime on peut le faire par glisser-déposer, c'est super cool™. La difficulté finalement à ce niveau, c'est le classement. Avec le papier c'est simple : on n'a pas vraiment le choix. Soit le classeur rouge, soit le chasseur vert, mais pas les deux. Le classement électronique permet quant à lui de créer autant de dossiers qu'on le souhaite, et de surcharger ce classement par des étiquettes (tags). Une facture d'examen médical pourrait être classée dans "Santé" ou "Factures", ou dans "Santé/Factures", ou dans "Factures/Santé", ou ne pas être classée du tout mais porter les étiquettes "Santé" et "Facture", ou d'autres combinaisons de ces éléments.<br />
Plus j'y réfléchi, et plus je me dis que le classement en dossiers/sous dossiers est archaïque. J'ai d'ailleurs toutes les peines à choisir une structure figée dans la quelle je puisse ranger à la fois l'existant, mais aussi les futurs documents. Le classement par tags a un bel avenir, sous réserve que l'application de GED choisie sache gérer ces étiquettes de manière ergonomique pour la recherche et la navigation.</p>
<p>J'ai un (autre) regret au sujet de Nuxeo : quand j'importe un PDF contenant des méta-données, ces dernières ne sont pas indexées par l'application. Je m'étais naïvement attendu à ce qu'un PDF dont le champs "Author" est renseigné puisse être retrouvé par une recherche sur le nom de l'auteur. Ce n'est pas le cas.<br />
Globalement, j'ai l'impression que les outils de GED ne font pas vraiment la part belle aux méta-données contenues dans les documents. Nuxeo en tout cas considère que les méta-données importantes sont celles qui entourent la vie de votre document dans l'application. Certaines de ces informations sont gérées automatiquement (qui l'a mis en ligne, qui l'a modifié la dernière fois…), mais la majorité sont gérées manuellement par les utilisateurs : date d'expiration, sujets, source, nature, langue, flux de travail, relations entre documents, commentaires...</p>
<p>L'ajout de documents papier passe quant à lui par une étape de numérisation. On sort un peu du périmètre de l'application, mais il est intéressant de se pencher sur la question. Numériser en masse une foule de documents différents nécessite du temps et de la méthode. Ceux qui ont de la chance ont quelque part à porté de main un copieur numérique connecté. Ce genre de grosse machine d'entreprise permet de traiter les documents exactement comme le fait une photocopieuse classique : par lot, recto-verso, avec réduction ou agrandissement, avec optimisation du contraste, etc. Le résultat de la numérisation est en général un fichier PDF envoyé par email, ou déposé sur un serveur. Si vous avez un de ces copieurs à disposition, prenez le temps d'en assimiler les réglages et l'interface. Certains permettent de créer des programmes personnalisés. Ainsi, en pressant une seule touche, je suis capable de numériser recto-verso une pile de documents, avec un réglage spécial de résolution, de contraste, et de destination. Le PDF est déposé sur un serveur WebDAV où je peux le récupérer sans limite de taille. Ensuite, j'utilise un logiciel de reconnaissance de caractères qui me permet de transformer mon PDF "image" en "image+texte". Ainsi, le contenu de chaque document ajouté à Nuxeo est indexé, et peut être retrouvé par le moteur de recherche de l'application. En effet, je ne conçois pas la GED sans la possibilité de rechercher mes documents par leur contenu.</p>
<p>Maintenant au boulot. Il me reste deux cartons d'archives et deux gros classeurs de papiers à numériser.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/07/1951-la-gestion-electronique-de-documents-episode-3/' addthis:title='La gestion électronique de documents, épisode 3 '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2011/12/07/1951-la-gestion-electronique-de-documents-episode-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La gestion électronique de documents, épisode 2</title>
		<link>http://www.patpro.net/blog/index.php/2011/12/06/1947-la-gestion-electronique-de-documents-episode-2/</link>
		<comments>http://www.patpro.net/blog/index.php/2011/12/06/1947-la-gestion-electronique-de-documents-episode-2/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 15:58:47 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[Logiciel]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1947</guid>
		<description><![CDATA[Suite de l'épisode 1 Et donc j'ai choisi Nuxeo. Dans les grandes lignes, voici quelques raisons objectives : accès au support facilité de tester l'application choix du moteur de bases de données interface et fonctionnalités Nuxeo est livrée clé en main, sous la forme d'une archive à décompresser. L'archive utilisable sur FreeBSD est celle qui [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/06/1947-la-gestion-electronique-de-documents-episode-2/' addthis:title='La gestion électronique de documents, épisode 2 '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>Suite de l'<a href="/blog/index.php/2011/12/03/1940-la-gestion-electronique-de-documents-episode-1/" title="La gestion électronique de documents, épisode 1">épisode 1</a></p>
<p>Et donc j'ai choisi Nuxeo. Dans les grandes lignes, voici quelques raisons objectives :</p>
<ul>
<li>accès au support</li>
<li>facilité de tester l'application</li>
<li>choix du moteur de bases de données</li>
<li>interface et fonctionnalités</li>
</ul>
<p>Nuxeo est livrée clé en main, sous la forme d'une archive à décompresser. L'archive utilisable sur FreeBSD est celle qui est destinée à Linux, mais elle nécessite quelques modifications. Notamment les scripts de lancement de l'application devront être révisés (chemin du shell, entre autre).<br />
Quoi qu'il en soit, il y a beaucoup de travail entre le moment où l'application est fonctionnelle et le moment où elle est vraiment utilisable (sécurisée, servie dans les règles de l'art).<br />
Rien n'est précisé par exemple en terme de bonnes pratiques. L'utilisateur béotien risque de se retrouver avec une application fonctionnelle mais peu sécurisée. Avant même de lancer l'application pour s'y connecter, il est souhaitable d'utiliser un compte utilisateur non privilégié pour faire tourner ce serveur. Il est aussi fortement recommandé de mettre un serveur web en frontal qui redirigera les requêtes du port standard vers le port 8080. De même, il ne faut pas lancer l'application sur toutes les IP, mais la restreindre à 127.0.0.1.<br />
L'utilisation d'un serveur web comme Apache se fait très simplement si on se contente du protocole HTTP, mais configurer un frontal HTTPS (donc avec chiffrement des transactions) est une autre paire de manches. Ici, même la documentation officielle n'est pas suffisante, et j'ai du utiliser tcpdump pour venir à bout des problèmes de configuration. </p>
<p>Et ça, c'était la partie drôle. Ça se gâte vraiment quand on souhaite mettre à jour l'application. Tout d'abord, il faut enregistrer l'instance de Nuxeo chez l'éditeur, une fois que c'est fait, le système de mise à jour interne devient accessible. Ce système de mise à jour est une énorme calamité. Une bouse monumentale. C'est un concentré des sept plaies de l'Égypte.<br />
Après installation, j'avais une bonne quinzaine de mises à jour à installer. Mes 5 ou 6 premières tentatives se sont soldées par des échecs, nécessitant une réinstallation complète de l'application (ou une restauration à partir d'un snapshot, dans mon cas). En fait, la clé du succès est sur le <a href="https://connect.nuxeo.com/nuxeo/site/marketplace/hotfixes">site de support de Nuxeo</a>. Il y a bien sûr un ordre pour appliquer les mises à jour, mais il faut surtout redémarrer l'application après chaque patch et suivre les recommandations spécifiques à la lettre.</p>
<p>Finalement, cette application si simple à installer au premier abord m'aura fait perdre de longues heures avant même que j'ai l'occasion de m'en servir pour archiver mes documents. </p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/06/1947-la-gestion-electronique-de-documents-episode-2/' addthis:title='La gestion électronique de documents, épisode 2 '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2011/12/06/1947-la-gestion-electronique-de-documents-episode-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La gestion électronique de documents, épisode 1</title>
		<link>http://www.patpro.net/blog/index.php/2011/12/03/1940-la-gestion-electronique-de-documents-episode-1/</link>
		<comments>http://www.patpro.net/blog/index.php/2011/12/03/1940-la-gestion-electronique-de-documents-episode-1/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 22:28:25 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[Logiciel]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1940</guid>
		<description><![CDATA[La gestion électronique de documents, GED, est un concept d'actualité ("so 2010" dirait probablement Myriam). Globalement, cela consiste à se débarrasser autant que possible de sa paperasse au profit de documents électroniques manipulés via un logiciel spécialisé. L'avantage premier est la dématérialisation des documents : convertir des années d'archives en documents électroniques permet de gagner [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/03/1940-la-gestion-electronique-de-documents-episode-1/' addthis:title='La gestion électronique de documents, épisode 1 '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>La gestion électronique de documents, <a href="http://fr.wikipedia.org/wiki/Gestion_électronique_des_documents">GED</a>, est un concept d'actualité ("so 2010" dirait probablement <a href="http://rhumandsoda.wordpress.com">Myriam</a>). Globalement, cela consiste à se débarrasser autant que possible de sa paperasse au profit de documents électroniques manipulés via un logiciel spécialisé. L'avantage premier est la dématérialisation des documents : convertir des années d'archives en documents électroniques permet de gagner de la place, et du temps. Le second avantage est l'enrichissement des documents par des méta-données, soit par l'ajout d'informations spécifiques (auteur, date...) soit par l'ajout d'étiquettes permettant de classer ces documents de multiples manières.<br />
Cherchant pour mes besoins personnels une solution robuste et ergonomique de GED, j'ai recensé quelques logiciels bien propres sur eux qui pourraient me convenir. Parmi eux, on pourra citer <a href="http://www.quotero.com">Quotero</a>, <a href="http://www.alfresco.com/">Alfresco</a>, <a href="http://www.nuxeo.com">Nuxeo</a> (sur le quel j'ai jeté mon dévolu) et quelques autres…<br />
Les trois solutions sus-mentionnées fonctionnent sur un serveur, et on y accède par un client web classique comme Safari. Elles sont robustes, éprouvées, libres (opensource), gratuites, et deux d'entres-elles sont mêmes françaises. Sous le capot, les similitudes sont nombreuses. Toutes ces applications sont des serveurs codés en JAVA, et utilisent un moteur de base de données tiers. Mes critères de choix ont été les suivants :</p>
<ul>
<li>- facilité d'accès à l'application sur le site du vendeur (démonstration en ligne, vidéo d'introduction, téléchargement, etc.)</li>
<li>- fonctionnalités de l'application (ni trop, ni trop peu)</li>
<li>- pré-requis logiciels (choix du moteur de base de données, par exemple)</li>
</ul>
<p>J'ai écarté <strong>Quotero</strong> assez vite, car je n'ai pas trouvé que l'application est assez complète. Je pense qu'elle ne propose pas de gestion poussée des métadonnées. Ça ressemble finalement trop à un explorateur de fichier classique, et pas assez à quelque chose sur le quel je peux me reposer entièrement pour gérer des années de paperasse.<br />
Et après quelques péripéties j'ai choisi <strong>Nuxeo</strong> car ils proposent une démonstration sous la forme d'une machine virtuelle pour VMWare Fusion. J'ai donc pu tester chez moi l'application complète avant de décider ou pas de la déployer sur mon serveur.</p>
<p>Finalement, c'est après que ça se gâte. <em>Suite au prochain épisode</em>.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/12/03/1940-la-gestion-electronique-de-documents-episode-1/' addthis:title='La gestion électronique de documents, épisode 1 '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2011/12/03/1940-la-gestion-electronique-de-documents-episode-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Steam : les bugs</title>
		<link>http://www.patpro.net/blog/index.php/2011/03/25/1786-steam-les-bugs/</link>
		<comments>http://www.patpro.net/blog/index.php/2011/03/25/1786-steam-les-bugs/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 08:47:25 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Grrr]]></category>
		<category><![CDATA[Logiciel]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1786</guid>
		<description><![CDATA[Depuis quelques temps, le très petit monde du jeu sur Mac s'est considérablement élargi avec l'arrivée de la plateforme Steam, et d'une flopée de jeux Valve. Valve est une société qui développe des jeux, historiquement pour PC, depuis la fin des années 90. En 1998 ils ont sorti leur titre phare "Half Life". Ils ont [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/03/25/1786-steam-les-bugs/' addthis:title='Steam : les bugs '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p><img src="/blog/wp-content/uploads/2011/03/Valve-logo.jpg" alt="Valve-logo (c) Valve corporation" title="Valve-logo (c) Valve corporation" width="250" height="189" class="alignleft size-full wp-image-1787" />Depuis quelques temps, le très petit monde du jeu sur Mac s'est considérablement élargi avec l'arrivée de la plateforme <a href="http://fr.wikipedia.org/wiki/Steam">Steam</a>, et d'une flopée de jeux <a href="http://fr.wikipedia.org/wiki/Valve_Corporation">Valve</a>.<br />
Valve est une société qui développe des jeux, historiquement pour PC, depuis la fin des années 90. En 1998 ils ont sorti leur titre phare "Half Life". Ils ont aussi créé la plateforme Steam, un logiciel de distribution de contenu en ligne, de gestion de droits, et de communication.<br />
Ce logiciel à tout faire est désormais le point de passage obligé quand on veut jouer à des jeux comme <a href="/blog/index.php/2011/01/30/1749-benchmark-left-4-dead-2-sur-mac-pro/">Left 4 Dead 2 sur Mac</a>. Contrairement aux versions PC et XBox, on ne peut pas acheter le DVD dans le commerce, et les parutions actuelles suivent ce chemin sur Mac comme sur PC. Désormais, si vous voulez jouer à un jeu Valve (ainsi qu'à certains jeux produits par d'autres), vous devez obligatoirement passer par Steam. Avant de pouvoir acheter un jeu, vous devez créer un compte Steam (donc donner votre adresse email, entre autre), et télécharger le client Steam. Via ce client, vous pouvez alors acheter votre jeu, et télécharger les quelques gigaoctets de données correspondants. Autant dire que sans une connexion haut débit, c'est mort.</p>
<p>Tout ceci ne serait pas un problème si le client Steam n'était pas affreusement mal codé et si le système de gestion de droit était indolore.</p>
<p>Au chapitre des bugs, sur la version Mac du client, voici une liste partielle de problèmes que l'on peut rencontrer avec Steam :</p>
<p><strong>Il est presque impossible d'avoir un bon focus</strong>. Vous pensez cliquer sur le bouton OK d'une fenêtre Steam, en fait non, vous ramenez au premier plan la fenêtre qui se trouvait derrière votre cible. Vous lisez une page web dans votre navigateur, et votre souris fait apparaitre de temps en temps des bulles d'info de la fenêtre Steam qui se trouve derrière. Vous tentez de ramener une fenêtre au premier plan, mais elle reste à l'arrière plan en dépit de l'avalanche de clicks que vous lui envoyez. J'en passe. Bref à tous les niveaux de son utilisation, l'application souffre d'énormes problèmes de focus. </p>
<p><strong>Le client Steam est mis à jour automatiquement</strong>. Il arrive que cette mise à jour de Steam se passe mal, vous interdisant l'accès à l'ensemble de vos jeux jusqu'à ce que vous parveniez à le faire fonctionner à nouveau. La dernière fois que cela m'est arrivé, j'ai du utiliser le terminal pour déterminer les adresses des fichiers de mise à jour, pour les télécharger, et pour les placer au bon endroit de sorte que Steam les trouve au lancement suivant et achève sa mise à jour. Rendez-vous compte, Steam est un client web, et il n'est pas foutu de télécharger quelques fichiers.</p>
<p>Comme si cela ne suffisait pas, <strong>Steam grossit</strong>. Chaque mois, la place occupée par le client Steam sur votre disque dur augmente de quelques mégaoctets à quelque dizaines de mégaoctets. Le mien pèse actuellement 256 Mo.</p>
<p><strong>Steam gère mal les téléchargements des mises à jour de votre ludothèque</strong>. Les jeux Valve subissent souvent des mises à jour, et chaque fois elles sont téléchargées automatiquement avec plus ou moins de bonheur. Il arrive un peu trop souvent que des téléchargements soient mis en pause sans qu'il soit possible de les réactiver (bien que l'interface propose un bouton pour cela). Parfois aussi la mise à jour d'un jeu reste bloquée à 99% indéfiniment, vous laissant frustrés de ne pas pouvoir rejoindre vos amis dans une partie. À nouveau, la "Méthode Windows" s'impose : on relance le client Steam.</p>
<p><strong>Le système de chat est désastreux</strong>. Il n'existe pas de moyen d'enregistrer des conversations, et l'horodatage est digne d'une plaisanterie. Vous tapez du texte dans la fenêtre de chat et rien ne se passe, comme si il était impossible de sélectionner le champ de saisie, il vous faut alors relancer le client Steam (et donc quitter le ou les jeux lancés, sinon Steam ne peut pas être relancé).</p>
<p><strong>Steam n'utilise pas les API de Mac OS X</strong>. C'est un portage fait à la va-vite d'une application windows, et donc il ne bénéficie pas de la correction orthographique (pour le chat par exemple), de l'accès au dictionnaire, etc. C'est d'ailleurs sans doute ce qui explique les incessants problèmes de focus.</p>
<p>Bientôt 26 ans que je pratique le Mac, et je n'ai jamais eu l'occasion d'utiliser une application aussi catastrophique. Peut être que les développeurs de Valve ont un robinet dans l'œil qui les empêche de bien faire leur travail.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/03/25/1786-steam-les-bugs/' addthis:title='Steam : les bugs '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2011/03/25/1786-steam-les-bugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Noter ses photos, de Bridge à Spotlight</title>
		<link>http://www.patpro.net/blog/index.php/2011/03/16/1773-notation-des-photos-de-bridge-a-spotlight/</link>
		<comments>http://www.patpro.net/blog/index.php/2011/03/16/1773-notation-des-photos-de-bridge-a-spotlight/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 14:42:48 +0000</pubDate>
		<dc:creator>patpro</dc:creator>
				<category><![CDATA[Photo]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://www.patpro.net/blog/?p=1773</guid>
		<description><![CDATA[De nombreux photographes utilisent à un moment donné de leur flux de traitement un outil de notation pour trier leurs photos. En général, c'est au moment de l'editing que l'on donne une note à ses dernières photos : on rejette les ratées, on note de 0 à 5 les autres pour ne garder que les [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/03/16/1773-notation-des-photos-de-bridge-a-spotlight/' addthis:title='Noter ses photos, de Bridge à Spotlight '><a href="//addthis.com/bookmark.php?v=250&#38;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></description>
			<content:encoded><![CDATA[<p>De nombreux photographes utilisent à un moment donné de leur flux de traitement un outil de notation pour trier leurs photos. En général, c'est au moment de l'editing que l'on donne une note à ses dernières photos : on rejette les ratées, on note de 0 à 5 les autres pour ne garder que les meilleurs clichés. Avec un logiciel comme Bridge (ou Photoshop LightRoom), c'est très facile. Néanmoins, la note ainsi attribuée ne remonte pas dans les métadonnées Spotlight (Mac OS X). Il est par exemple impossible dans le Finder de créer un dossier intelligent qui regrouperait toutes les photos notées avec 4 ou 5 étoiles.<br />
Pour remédier à cela on peut utiliser un script shell qui recopie la note assignée par Bridge dans les métadonnées du fichier photographique. En partant du principe que Bridge stocke ses propres métadonnées dans un fichier XMP à côté du fichier RAW, voici un exemple de script qui fait ce travail pour vous&nbsp;:</p>
<pre> 1: #!/bin/bash
 2: case $1 in
 3: 	[1-9])
 4: 		find_args="-mtime -$1"
 5: 		;;
 6: 	*)
 7: 		find_args=""
 8: 		;;
 9: esac
10:
11: for XML in $(find . $find_args -name "IMG_*xmp"); do
12: 	rating=$(awk '/xap:Rating/ {gsub(/ *&lt;[^&gt;]*&gt;/,"",$0); print $0}' "$XML")
13: 	[ -f "${XML/xmp/CR2}" ] &#038;& \
14: 	xattr -w "com.apple.metadata:kMDItemStarRating" $rating "${XML/xmp/CR2}"
15: done</pre>
<p><a href="http://www.patpro.net/images/push_img_ratings.sh.zip">Téléchargez le script push_img_ratings.sh</a> (Mac OS X uniquement).</p>
<p><strong>Lignes 2 à 9</strong>, on teste le premier argument du script, si c'est un chiffre entre 1 et 9 il sera utilisé pour limiter la plage de recherche. Le seul but de cette première partie, est de pouvoir limiter l'impact du script aux photos récemment notées. Cela permet de ne pas re-noter l'intégralité de sa collection de photos, ce qui peut être assez long si vous avez des disques durs lents et de très nombreux fichiers.<br />
À la <strong>ligne 11</strong>, on crée une boucle qui utilisera comme argument la liste des fichiers retournée par la commande find. Il s'agit ici de trouver tous les fichiers du répertoire courant et des répertoires inclus, dont le nom commence par "IMG_" et termine par "xmp", et dont la date de modification est dans les $1 dernières 24 heures si $1 est entre 1 et 9.<br />
Pour chaque fichier trouvé, on extrait la note de la photo (<strong>ligne 12</strong>), et si le fichier RAW correspondant au fichier XMP existe, alors on écrit dans ses métadonnées la note extraite (<strong>lignes 13 et 14</strong>).<br />
Ce script est aisément modifiable pour fonctionner avec des fichiers RAW d'autres appareils (NEF pour Nikon par exemple). Il nécessite par contre que Bridge soit configuré pour stocker les métadonnées dans un fichier indépendant, et non dans le fichier RAW lui-même.</p>
<p>Il vous suffit ensuite de lancer ce script sur l'ensemble de votre photothèque pour propager votre notation "Bridge" dans les métadonnées Spotlight. Si vous souhaitez recopier les notes attribuées dans les dernières 24h uniquement, lancez le script avec comme seul argument le chiffre 1&nbsp;:</p>
<pre>$ cd Pictures/2011_03_16
$ push_img_rating.sh 1</pre>
<p>Vous pouvez aussi bien lancer <code>push_img_rating.sh 1</code> tous les jours automatiquement grâce à <a href="/blog/index.php/2008/01/03/131-passer-de-cron-a-launchd/">launchd</a>, sous réserve de préciser le chemin de recherche pour la commande find (ligne 11).</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.patpro.net/blog/index.php/2011/03/16/1773-notation-des-photos-de-bridge-a-spotlight/' addthis:title='Noter ses photos, de Bridge à Spotlight '><a href="//addthis.com/bookmark.php?v=250&amp;username=xa-4d2b47f81ddfbdce" class="addthis_button_compact">Share</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.patpro.net/blog/index.php/2011/03/16/1773-notation-des-photos-de-bridge-a-spotlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

