Tiger, Vos questions techniques et son utlisation [manu vous répond]

Pourrais-tu nous préciser comme ça se passe pour le mettre ailleurs ? Est-ce que tu le sors de la barre latérale pour le poser ailleurs ? Tout le monde sait que si l'on fait ça avec une icone de dossier ordinaire, l'icone est supprimée de la barre latérale et rien d'autre.

D'ailleurs, aucune copie d'écran ne montre l'icone d'un dossier dynamique dans une fenêtre du Finder hors de la barre latérale. Est-ce que même ça c'est protégé par la NDA ?
 
dans la demo de l'Apple Expo on voit des Smart Folder sur le bureau de l'ordi qui sert à la demo.

Pour ma part j'ai testé : tu le mets où tu veux
 
Tu ne veux pas dire comment tu fais ou tu n'as pas le droit de le dire ?
 
si ! si ! en fait c'est tout con : un smart folder est créé sur le disque : en fait j'ai pas penser a regarder où : mais si j'ouvre la fenêtre et que je deplace l'icone de la barre de titre, hop je le déplace ou je veux. Un smart Folder est comme un dossier : ça se manipule vraiment pareil !
 
Floppy a dit:
Pourrais-tu nous préciser comme ça se passe pour le mettre ailleurs ? Est-ce que tu le sors de la barre latérale pour le poser ailleurs ? Tout le monde sait que si l'on fait ça avec une icone de dossier ordinaire, l'icone est supprimée de la barre latérale et rien d'autre.

D'ailleurs, aucune copie d'écran ne montre l'icone d'un dossier dynamique dans une fenêtre du Finder hors de la barre latérale. Est-ce que même ça c'est protégé par la NDA ?
Il suffit de le glisser deposer dans le home ou dans un autre dossier. Par contre il est supprimé quand tu le sors du finder.
 
en fait pour être précis un smart folder n'est pas un dossier ! c'est une fenêtre de navigation ! axée sur d'autre critère que l'arborescance du disque mais qui affiche des documents/dossiers issus du resultat d'une recherche par métadata. Comme on a l'impression d'ouvrir un dossier : Apple a appelé ça un dossier intelligent. Mais il ne contient rien : c'est une sorte d'alias sophistiqué
 
Merci beaucoup pour vos réponses. :zen:
 
Yama a dit:
en fait pour être précis un smart folder n'est pas un dossier ! c'est une fenêtre de navigation ! axée sur d'autre critère que l'arborescance du disque mais qui affiche des documents/dossiers issus du resultat d'une recherche par métadata. Comme on a l'impression d'ouvrir un dossier : Apple a appelé ça un dossier intelligent. Mais il ne contient rien : c'est une sorte d'alias sophistiqué
Bon, mais dans le Terminal, ça apparaît comment ? comme un répertoire ou comme un fichier non navigable ? :confused:
 
sans doute comme une requete genre sql
http://www.apple.com/macosx/tiger/unix.html

Tiger also features command-line access to Spotlight for searching application metadata and enables many common UNIX utilities to handle HFS+ resource forks.
un bon gros serveur dynamique :)


-----
Pomme Option -
Pomme option )
 
'

Bon voilà un sujet bien intéressant, merci Manu. :cool: Je dois dire que cette histoire d'indexation m'intrigue beaucoup. Je ne comprends pas comment elle peut être d'une part aussi discrète et rapide (si on branche par exemple un disque dur externe rempli de document je vois pas comment Spotlight pourrait s'y référer instantanément, comment il peut éviter une longue indexation) et d'autre part comment cet index rempli d'une quantité énorme d'information (puisqu'il scanne apparemment l'intégralité des fichiers textes et PDF, ce qui fait beaucoup, beaucoup de mots à référencer) peut ne pas peser des tonnes en matière de place sur le disque dur. N'ayant pas eu de réponse de la part des démonstrateurs à l'Apple Expo, est ce que tu as pu creuser un peu cela Manu ?

'+
 
J'aimerais aussi savoir si il est possible d'accéder aux dossiers intelligents via la ligne de commande.
 
Salut.

Encore une question... (pauvre manu, il va avoir du boulot ;)).

Voici ce qu'on peut lire sur le site d'Apple concernant spotlight :
Spotlight analyse ainsi plus de 100 000 fichiers et affiche les résultats en moins de temps qu'il ne vous en a fallu pour saisir le mot à rechercher.
La technologie spotlight ne peut indéxer que 100 000 fichiers ?
Au dela de se nombre, les récherches s'éxecutent-elles sur un nombre restreint de fichiers ?

@+
iota
 
Tiger récupère pour Spotlight une technologie éprouvée et reconnue comme la plus efficace, le système de fichier de BeOS ! Apple a récupéré le principal développeur de la gestion de fichier il y a un peu plus d'un an il me semble.

Il s'agit d'une indexation de type base de données (SQL, Oracle...), la place occupée est minime et le temps d'accès suite à une requete de l'ordre de quelques centièmes de seconde.

Sur le principe l'indexation nécessite en effet d'être effectuée au préalable et meme si celle-ci est extremement rapide il faut le temps de lire l'ensemble du disque dur.

J'ignore si il y aura besoins de changer de format de fichier, un changement me semblerait logique meme si contraignant. Dès lors seuls les disques à ce format seraient indexables.


Pour ce qui est des dossiers intelligents, à l'ouverture de chaque dossier il effectue la requète préenregistrée et en affiche le résultat. La création d'un dossier intelligent entraine (actuellement et par défaut, c'est une option paramétrable) la création d'un raccourci dans la colonne de gauche de la fenetre (seul souci à mes yeux ce raccourci n'est pas éliminé automatiquement si l'original est effacé).
 
Je ne suis pas le mieux placé pour en parler (je n'ai pas Tiger) mais je ne pense pas qu'il soit nécéssaire de changer de systeme de fichier. Apple a étendu les possibilité d'HFS+ de façon très douce et efficace dernièrement (Journalisation, etc.) et je pense qu'ils continuent sur cette voie.
 
En fait la technologie utilisée dans Spotlight provient de plusieurs sources. Des travaux qui ont été faits sur l'optimisatiion des procédures d'accès (lecture:écriture) au système de fichiers, de l'organisation des fichiers eux mêmes, mais surtout de l'outil de recherche développé par Apple depuis un certain temps Search Kit.

Search Kit utilise le principe d'index inversé. Inversé parce que lorsqu'on pense à un index, on voit d'abord le document ensuite on extrait ce qu'il contient . Dans index inversé on part du contenu. Cela permet d'attribuer pour chaque terme son poids dans le document et donne une idée en fait de l'orientation du document.

Exemple si un mot voiture apparait fréquemment dans un document c'est que celui-ci parle d'automobile. On aura donc plus de chance d'y trouver tout ce qui traite de l'automobile.

Search Kit considère un document comme un panier de termes. Il dispose d'un parseur qui elimine tout ce qu'il ne considère pas comme étant des termes par exemple les signes de ponctuation, les adverbes (si, alors, et, encore, parfois, déjà, etc...).

Pour un document il crée un index c'est-àdire un tableau de tous ses termes et pour chacun son poids. lorsqu'un nouveau document est crée, il l'ajoute dans l'index en n'y rajoutant que des termes manquants dans l'index.

Ainsi plus on ajoute de documents moins on rajoute des termes dans l'index, car on a plus de chance de retrouver les termes du nouveau documents dans l'index.

En général l'index ne prend pas beaucoup de place.

Il peut donc être résidant en mémoire. On peut utiliser le principe des fichiers mappés pour l'accès à l'index. (voir le mapping que j'ai décrit dans un post où j'explique le fonctionnement du noyau de Mac OS X).

Search Kit supporte l'unicode, le codage japonais, etc..

Les documents différant les uns des autres par leur format, il faut avant de l'intégrer dans un index de Search kit, le décomposer en termes comme le veut Search Kit. pour cela, Apple dispose des plugins. Mais un développeur peut en fournir pour un format propriétaire.

A partir d'un index inversé, on peut aisément constituer un index vectoriel ou index normal qui associe chaque document aux termes qu'il contient.

On peut également constituer un index qui est une combinaison des deux.

Search Kit utilise ces index pour une recherche rapide et s'appui sur les optimisations et les récents travaux effectuées sur le système de fichiers de Mac OS X.
 
Le Gognol a dit:
'

Bon voilà un sujet bien intéressant, merci Manu. :cool: Je dois dire que cette histoire d'indexation m'intrigue beaucoup. Je ne comprends pas comment elle peut être d'une part aussi discrète et rapide (si on branche par exemple un disque dur externe rempli de document je vois pas comment Spotlight pourrait s'y référer instantanément, comment il peut éviter une longue indexation) et d'autre part comment cet index rempli d'une quantité énorme d'information (puisqu'il scanne apparemment l'intégralité des fichiers textes et PDF, ce qui fait beaucoup, beaucoup de mots à référencer) peut ne pas peser des tonnes en matière de place sur le disque dur. N'ayant pas eu de réponse de la part des démonstrateurs à l'Apple Expo, est ce que tu as pu creuser un peu cela Manu ?

'+
L'indexation permet, par nature, des requêtes très rapides, quasiment indépendantes de la taille des données. Par contre, il y a toujours des bémols :D, l'indexation elle-même, ça peut prendre un peu de temps (mais si elle est faite en continu, ça doit être transparent) et ça doit prendre de l'espace sur disque.

Manu dira si je me trompe.:D
 
olidev a dit:
D'après ce que j'avais vu quelque part, ils utilisent SQLite en interne pour stocker les données indexées, exact ?

oui, c'est a peu pres ca. Si tu comprends les differences entre SQL Lite et SQL, tu comprends les differences entre Spotlight et WinFS.
 
Non SQLite n'est pas du tout utilisé par Spotlight. les requêtes ne sont pas non plus transformées en SQL. Les index utilisés n'ont rien à voir à celles utilisées dans une base de données de type relationnelle. dans mon explication ci dessus il faut voir que finalement les termes utilisés dans un document représentent grossomodo 40% du document voire même nettement moins. j'ai oublié de signaler que les terme de grammaire (je, il, suis, est) ainsi que les verbes ne font pas partie des termes au sens Search Kit.

Ex : mon frère et moi regardions passer les voitures au bord de la seine tout en pêchant à la ligne.

les seuls termes sont : frère, voitures, bord, seine, ligne. donc 5 mots sur 19 soit moins de 25%

En outre en plus de la recherche par le contenu, on dispose de la recherche par metadata. Celle-ci dépend en général des infos sur la structure du document et donc de l'application qui les produit. C'est ainsi qu'Apple propose pour chaque appli un type de recherche.
Les développeurs proposeront les leur dans leurs applis.

Apple propose pour cela des apis très riches et très fournies qui permettent toute sorte d'opération (création d'index, ajout d'un document dans l'index, réponse à une requête, etc).

SQLite permettra à Apple d'implémenter Core data en utilisant une technologie longtemps utilisée et éprouvée dans EOF (WebObjects), et qui permet d'utiliser une SGBD relationnelle comme endroit de persistence des objets (objets au sens orienté objet)..

Ainsi si ton appli manipule des données de même structure et en grande quantité, tu peux les charger dans des objets cocoa par exemple à partir d'une table SQLite et les afficher dans un tableaux. Des apis EOF te permettent de gérer les modifications effectuées, les synchroniser (si plusieurs modifs concurrentes), etc.



il faut quand même pas oublier que Spotlight est le fruit de travaux qui ont commencé il y a très longtemps déjà avec V-Twin sous OS 8. La stabilité de Mac OS X, les technologies avancées qu'il propose ont rendu possible son implémentation. L'arrivée du 64 bits va encore améliorer pas mal de choses.