mercredi 15 avril 2009

Index personnalisé sous InDesign grâce à JavaScript

Vous voulez générer un index très personnalisé sous InDesign ? A partir de contenu XML par exemple ? Voici une solution.

Je comptais poster quelque part sur la toile (tant qu'à faire, chez moi) un petit morceau de script que j'ai écrit. C'est assez technique (du moins ça paraît) ce qui est inhabituel sur ce blog, mais ce script est hyper utile et tout bête à utiliser, il est principalement destiné aux graphistes s'intéressant au XML et/ou au JavaScript sous InDesign et au développeurs qui souhaitent utiliser la puissance d'InDesign pour générer de beaux livres.

Attention, il ne s'agit pas de générer un index complet avec le tri alphabétique etc. Mais simplement d'insérer les numéros de pages très simplement où l'on veut et vers ce que l'on veut. Pour ma part, la partie tri alphabétique et écriture brute des noms et informations dans l'index sera effectuée en PHP. Je me suis uniquement soucié de la pagination.

Je suis partis du script écrit par ACut, disponible ici. Je l'en remercie d'ailleurs car son script m'évite bien des prises de tête ! Je n'ai vraiment rien trouvé d'autre répondant d'aussi près à ce que je cherchais.
Et je vous préviens, je ne suis pas une brute en JS, loin de là donc le code que j'ai ajouté à celui de ACut n'est sûrement pas dénué de défauts. Aussi je vous invite à me faire part de vos suggestions sur ce petit bout de code sans prétention.

Objectif


Depuis une structure XML générée en PHP grâce à une base de donnée existante, pouvoir créer un index paginé type index d'annuaire avec des renseignements personnalisés.
Il s'agit de l'annuaire d'un diocèse et dans notre cas, nous présentons les noms et prénoms des responsables et autres membres d'équipes à travers un certain nombre de pages où les personnes sont réparties dans différents secteurs géographiques. En gros, cela ressemble à ça. Et toutes ces pages de paroisses présentes donc tous les membres du diocèse.
L'annuaire comporte ensuite des pages (et des pages) d'indexes, où les personnes sont triées par catégories ET où des informations supplémentaires apparaissent tels que l'adresse, lieu de naissance, etc.

InDesign ne remplit pas ce rôle ?


En effet, InDesign permet de créer des indexes MAIS :
- ce sont des indexes de mots seulement, on ne peut pas donner d'autres informations pour chaque élément,
- L'outil d'index est fait pour générer un index depuis l'interface d'InDesign, et non depuis un contenu XML importé.
- Et finalement, les mots doivent êtres indexés manuellement (vous imaginez le boulot pour un annuaire)

Alors, il existe bien des scripts (très puissants) comme le Index brutal de Marc Autret, mais celui-ci ne nous permettra pas d'insérer nos informations complémentaires sur les personnes. Et c'est un peu compliqué pour nous de devoir générer une liste de mots à indexer à chaque fois.

Le script de ACut


Et bien le script de cette personne est très bon, je l'ai testé, il fonctionne bien MAIS :
- il n'insère pas plusieurs numéros de pages successifs faisant référence à plusieurs signets de même nom (d'ailleurs, est-ce possible ça, plusieurs signets de même nom normalement ?)
- on ne peut générer les signets en XML, ils doivent être appliqués manuellement !

Mon code


Voici donc ce que je propose :
Oublier la manipulation de signets et rechercher directement dans le texte les chaînes de caractères puis retourner la liste des numéros de pages, tout simplement.
Il suffit alors, pour insérer les numéro de pages de Paul DUPOND, d'écrire <<Paul DUPOND>> à l'endroit où ils doivent apparaître. Et c'est tout !

Il faut tout de même que "Paul DUPOND" soit toujours écrit ainsi, on est insensible à la casse à priori, mais on ne peut pas mettre "DUPOND Paul".
Mais cela dit, on peut tout de même succéder les deux balises ainsi <<Paul DUPOND>>, <<DUPOND Paul>> afin de récupérer tous les numéros de pages des deux formes !

En PHP, il ne me reste donc qu'à générer mes pages en brut, et insérer les petites balises spéciales ! L'utilisateur lancera la routine quand il sera prêt à lancer l'impression de son document (pas avant, les numéros de pages ne sont pas dynamique, pas plus que dans la solution de ACut).

Vous me direz "mais si deux personnes ont le même nom?" et Bien je dirais que le problème n'est plus seulement technique, mais informationnel, il faudra bien les différencier dans tous les cas, ces deux personnes. On peut suggérer d'utiliser un numéro en indice par exemple (Paul DUPOND1 et Paul DUPOND2), car cela reste un cas particulier, le script s'y retrouvera et le lecteur également.

Assez parlé, voici le code (à télécharger), à insérer au format js dans le répertoire Scripts (pour CS3, [C]:/Document And Settings/[utilisateur]/Application Data/Adobe/InDesign/Version 5.0/Scripts/Scripts Panel)

lundi 16 mars 2009

Z-Tele channel 2/2, Richard Rosenman

Dans la suite de la petite séquence que je vous ai montré le 24 novembre dernier, voici un nouvelle réalisation de Richard Rosenman (notre maître à tous).
Et au passage, je vous invite fortement à visiter son site Internet, voici notamment la rubrique dédiée à cette réalisation.






Cette vidéo m'a notamment fait découvrir le moteur de rendu de particules Krakatoa. Que j'aimerais essayer à l'occasion. Ce qui me donne un sujet pour le prochain billet !

Ce contenu est soumis aux termes d'utilisation du site de R. Rosenman

lundi 9 mars 2009

La confidentialité sur Facebook

Constatant la grande méprise qui plane sur Facebook concernant la confidentialité des informations (entre les utilisateurs, je ne parle pas de ce que Facebook fait de vos informations, grand débat !) et voyant également que bon nombre de mes amis, contacts, collègues, clients, y diffusent beaucoup d'informations personnelles (parfois trop personnelles), j'ai pris l'initiative d'écrire un petit tutoriel sur la configuration des paramètres de confidentialité de la plate-forme. Cet article est plus particulièrement axé sur la façon de gérer les paramètres en fonction de vos amis et listes d'amis.

Cet article n'est sûrement pas unique à ce sujet, mais je me lance ! C'est mon tout premier article vraiment Web sur ce blog, une grande première !

Comment utiliser Facebook aussi bien dans un contexte professionnel que personnel.

Malgré tout le venin craché sur Facebook au sujet de la confidentialité (oh c'est horrible ! Ils ont dit au JT que tout le monde peut voir les photos de ma dernière cuite, même mon patron !), vous vous rendrez compte que la plate-forme est très bien conçue pour vous permettre d'empêcher les fuites d'informations sur votre profil.

Pour ce faire, vous devrez commencer par créer des groupes (appelés listes) d'amis. Cela se fait depuis la rubrique "Amis".
Vous trouverez un bouton à gauche nommé "Créer une liste".


Vous pouvez ainsi séparer famille, amis, pro, et autres par exemple.
Pour ajouter une personne à une liste existante, toujours dans la rubrique Amis, cliquer sur un amis de votre liste, pas sur son nom mais dans la zone "vide" au regard de sa photo.


La zone va s'agrandir et vous pouvez apercevoir une petite flèche bleue pointée vers le bas, à droite de "Afficher les amis".


Cette flèche dévoile vos listes d'amis, il vous suffit de cliquer sur une liste pour y ajouter l'ami sélectionné.
Vous pouvez voir et modifier les listes auxquelles appartient un contact :



Une fois vos listes créées et vos amis triés, vous pourrez choisir d'envoyer des annonces, des messages par listes d'amis, etc. Et aussi (et nous en venons au sujet qui nous intéresse) vous pouvez restreindre la diffusion d'informations à certains amis et/ou listes d'amis et/ou l'interdire à d'autres.

Pour ce faire, rendez-vous dans la rubrique Paramètres :


En laissant votre souris sur le menu Paramètres une demi-seconde (ne cliquez pas trop vite), un menu déroulant apparaît. Choisissez Confidentialité. Aller dans Profil. Là vous voyez toutes les informations que vous pouvez configurer en fonction des vos amis & listes d'amis.


Vous pouvez d'abord simplement utiliser le menu déroulant pour spécifier "Amis de mes amis" ou "Seulement mes amis", etc.


Là, j'attire particulièrement votre attention, si vous appartenez à un réseau (ex : France) prenez garde à la mention "Mes réseaux et mes amis" car c'est cette options qui permettra à tous (à toute la France, pour le réseau France !) de visualiser vos informations personnelles. Si vous n'appartenez à aucun réseau, la plupart de vos paramètres sont probablement réglés sur "Seulement mes amis" et là, c'est déjà moins dangereux.
Mais vous pouvez ensuite choisir "Personnaliser...", pour aller plus loin.


Vous avez par exemple la possibilité supplémentaire d'autoriser seulement certains amis et/ou listes d'amis via la mention "Certains amis". Par exemple, pour un amis en particulier, commencer à taper son nom et son nom complet vous sera proposé, cliquer dessus pour l'ajouter à la liste des amis autorisés. Pour une liste d'amis, taper le nom de la liste, son nom vous sera également proposé. Toutes les personnes d'un liste sélectionnée seront concernées par cette autorisation spéciale.
Vous pouvez aussi choisir "Seulement moi" (non visible sur cette capture, les options diffèrent selon l'élément sur lequel vous agissez) et tout en bas, exclure certains amis et/ou groupes d'amis ! Le fonctionnement est le même que décrit plus haut en ce qui concerne la sélection des amis et/ou listes d'amis.

Finalement, toujours sur cette page de paramètres de confidentialité "Profil", un champ tout en haut nommé "Afficher votre profil tel qu'il est vu par un(e) ami(e)" vous permet de voir votre profil tel qu'un contact en particulier le verrait. Vous pouvez voir ainsi exactement ce que voient vos amis, collègues, clients, etc. et peaufiner vos paramètres de confidentialité.

A vous de jouer ! Par exemple en ce qui me concerne, j'ai largement restreint la diffusion des informations pour mes contacts professionnels afin de ne pas les bombarder de mes actualités personnelles qui ne les intéressent pas.

N'hésitez pas à réagir sur ce tutoriel, est-il assez détaillé, y voyez-vous des erreurs, des confusions ? Avez-vous réussi à configurer votre compte avec succès grâce à ces explications ?

mercredi 25 février 2009

La crise financière pour les nuls

EXCELLENTE vidéo expliquant comment la crise des sub-primes s'est déroulée et pourquoi elle a engendré une crise économique.

La vidéo est très bien faite, avec une narration simple et efficace, un peu d'humour et une réalisation très aboutie.
Cela faisait longtemps que je n'avais pas posté... mais cela va revenir petit à petit, en effet je termine mon mi-temps dans très peu de temps. Je publierai un billet ici pour présenter le chantier titanesque que j'ai entrepris depuis un peu plus d'un an. A suivre...