Commit 780b03ec authored by Bertille Dubosc de Pesquidoux's avatar Bertille Dubosc de Pesquidoux
Browse files

Tentative de rendre l'information plus facilement accessible

parent b7e58405
......@@ -7,6 +7,8 @@ Ce projet vise à définir un modèle permettant aux différents CHATONS de déc
Ce projet de Tx n'a pas vocation à imposer un format aux CHATONS, simplement à proposer une des multiples approches. Ainsi, ce format est amené à évoluer, et à se faire approprier ou pas par les CHATONS.
Les derniers résultats du projet sont sur le site [chatons.picasoft.net](http://chatons.picasoft.net). Nous y avons aussi expliqué la démarche plus en détail.
## Le schéma
L'approche du JSON validé par un schéma aura été choisie. Chaque CHATONS propose un fichier JSON, valide selon le schéma présenté, qui contient les principales informations telles que :
......
......@@ -40,4 +40,7 @@ Ces informations sont alors agglomérées dans un unique fichier JSON, et
non pas une base de donnée plus classique, pour des raisons discutées
[ci-après](export.md).
[Dernière version de la liste des URL](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/liste/CHATONS_list.txt)
--------------------------------------
[Retour à l'accueil](index.md)
......@@ -8,9 +8,8 @@ Créer le fichier JSON
---------------------
Tout d'abord, il faut renseigner les informations de votre structure.
La liste de tous les champs possibles, des valeurs qu'ils peuvent
prendre et de leur sens est
[ici](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/schema/README.md).
Pour ce faire, vous pouvez consulter [la liste de tous les champs possibles, des valeurs qu'ils peuvent
prendre et de leur sens](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/schema/README.md).
Vérifier que le fichier respecte bien la convention adoptée
-----------------------------------------------------------
......@@ -43,7 +42,7 @@ GitLab](images/edit_banner.png)
Après un petit temps de chargement, un éditeur en ligne s'ouvre. Vous
pouvez alors ajouter en bas de la liste les deux lignes suivantes :
```
# [Nom de votre CHATON]
# [Nom de votre CHATON]
[URL du fichier]
```
......@@ -78,9 +77,8 @@ Réfléchissez au type de champ que vous voulez ajouter et à son
emplacement dans la hiérarchie.
Chaque champ est défini par une description, un type et des contraintes
éventuelles. Vous trouverez
[ici](https://json-schema.org/understanding-json-schema/index.html) un
tutoriel qui explique comment définir un champ. Par exemple, pour du
éventuelles. [Ce tutoriel](https://json-schema.org/understanding-json-schema/index.html)
explique comment définir un champ. Par exemple, pour du
texte libre, on définit le champ ainsi :
```
......
# Le crawler
## Fonctionnement
Le crawler est un outil permettant de centraliser des données json contenues dans des fichiers hébergés en ligne représentant chacun un Chaton, explicitant ses activités et ses services, afin de générer un gros fichier json qui sera à son tour exploité pour les recherches.
Le [fichier central](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/liste/CHATONS_list.txt) stocké sur le framagit contient une liste d'url. Le crawler essaie pour chaque url d'extraire le contenu et vérifie s'il s'agit bien d'un fichier json, que ce json est éventuellement valide selon un [schéma](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/schema/CHATONS_schema.json), que le Chaton décrit n'est pas déjà dans la liste, et une fois tous les critères de validité remplis, l'url est ajouté à une liste. Si l'option de mise à jour seulement est passé au crawler, celui-ci va rajouter les Chatons supprimés entre deux générations pour ne pas perdre d'information.
Le crawler est un outil permettant de centraliser des données json contenues dans des fichiers hébergés en ligne représentant chacun un Chaton, explicitant ses activités et ses services, afin de générer un gros fichier json qui sera à son tour exploité pour les recherches.
Le [fichier central](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/liste/CHATONS_list.txt) stocké sur le framagit contient une liste d'url. Le crawler essaie pour chaque url d'extraire le contenu et vérifie s'il s'agit bien d'un fichier json, que ce json est éventuellement valide selon un [schéma](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/schema/CHATONS_schema.json), que le Chaton décrit n'est pas déjà dans la liste, et une fois tous les critères de validité remplis, l'url est ajouté à une liste. Si l'option de mise à jour seulement est passé au crawler, celui-ci va rajouter les Chatons supprimés entre deux générations pour ne pas perdre d'information.
Enfin, un fichier [json final](http://chatons.picasoft.net/exports/chatons.json) est produit, le rendant utilisable pour [l'outil de recherche](http://chatons.picasoft.net/search/recherche.html). Tout le déroulement du processus est consigné dans un fichier de [log](http://chatons.picasoft.net/logs/log.txt).
## Utilisation
(Une documentation plus complète est disponible sur le [framagit](https://framagit.org/bertille/tx-collecte-chatons/-/tree/master/crawler))
(Une documentation plus complète est disponible sur le [Framagit](https://framagit.org/bertille/tx-collecte-chatons/-/tree/master/crawler))
Le crawler s'appelle en ligne de commande en précisant le fichier d'entrée, celui de sortie et celui du schéma.
```
......
Différentes solutions possibles pour interroger les données collectées
======================================================================
Ce site propose de manière statique de télécharger le JSON de tous les
Chatons. Il se trouve [ici](http://chatons.picasoft.net/exports/chatons.json).
[Ce site propose de manière statique de télécharger le JSON de tous les
Chatons](http://chatons.picasoft.net/exports/chatons.json).
Il est également possible d'interroger ce fichier
pour trouver un Chaton ou un service spécifique, par exemple, et de
......@@ -14,7 +14,7 @@ Une architecture avec serveur applicatif seulement
C'est la solution que nous avons choisie.
Nous avons développé [une page](http://chatons.picasoft.net/search/recherche.html)
Nous avons développé [un outil de recherche](http://chatons.picasoft.net/search/recherche.html)
qui charge le JSON dans le navigateur de l'utilisateur·ice et lui permet
d'effectuer une recherche. Pour l'instant, il n'est possible de chercher un
Chaton que sur la base de sa structure, des services qu'il propose, de son
......
......@@ -23,7 +23,7 @@ décrit ses activités. Il dépose ensuite ce fichier JSON sur son site et
ajoute l'adresse du fichier à un répertoire commun.
Lorsque les informations du Chaton changent, avec l'ouverture d'un
nouveau service pas exemple, il suffit d'éditer ce fichier. Les
nouveau service par exemple, il suffit d'éditer ce fichier. Les
modifications seront prises en compte automatiquement, sans avoir besoin
d'aller se connecter à un autre site.
......@@ -55,16 +55,20 @@ Voici les liens vers les dernières données obtenues :
- [Les logs](http://chatons.picasoft.net/logs/log.txt) (pour vérifier si votre Chaton est bien
inclus dans l'export par exemple)
Les sources
Les ressources
===========
Pour contribuer ou simplement regarder comment ça marche, vous pouvez
consulter notre dépôt git
[ici](https://framagit.org/bertille/tx-collecte-chatons). Il y a dedans
le schéma, la liste des URL, le code du crawler, les sources de ce site
et la documentation technique.
consulter [notre dépôt git](https://framagit.org/bertille/tx-collecte-chatons).
Il contient notamment :
- [le schéma](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/schema/CHATONS_schema-0.0.2.json)
- [sa documentation](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/schema/README.md)
- [la liste des URL](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/liste/CHATONS_list.txt)
- [le code du crawler](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/crawler/crawler.py)
- [les sources de cette documentation](https://framagit.org/bertille/tx-collecte-chatons/-/tree/master/documentation_source)
Ce site
=======
Son fonctionnement est expliqué [ici](site.md).
[Explications sur le fonctionnement de ce site](site.md).
......@@ -6,7 +6,9 @@ Dans ce projet Tx, chaque Chaton est décrit par un fichier json (voir par exemp
Afin de permettre à un outil de recherche de rechercher des informations dans des champs précis, il est nécessaire de standardiser les clés de ces champs : si `name`, `nom` ou `nom_chaton` représentent la même information, il faut que tous les chatons respectent les mêmes conventions.
## Le schéma
Pour ce faire, nous avons créé un *schéma*, lui aussi exprimé en langage json, qui explique quel champ est à utiliser pour quoi, et qui permet de *valider* un json décrivant un Chaton, garantissant que l'information est correctement formatée et sera utilisable par l'outil de recheche. Le schéma est disponible [ici](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/schema/CHATONS_schema-0.0.2.json), et indique par exemple qu'un fichier json décrivant un Chaton est valide s'il a obligatoirement un champ `name`, `url`, `status` et `structure`, que s'il propose des services alors ces derniers ont un champ `type` et éventuellement une `description`...
Pour ce faire, nous avons créé un *schéma*, lui aussi exprimé en langage json, qui explique quel champ est à utiliser pour quoi, et qui permet de *valider* un json décrivant un Chaton, garantissant que l'information est correctement formatée et sera utilisable par l'outil de recheche.
[Le schéma en question](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/schema/CHATONS_schema-0.0.2.json) indique par exemple qu'un fichier json décrivant un Chaton est valide s'il a obligatoirement un champ `name`, `url`, `status` et `structure`, que s'il propose des services alors ces derniers ont un champ `type` et éventuellement une `description`...
Pour commencer à décrire votre Chaton, un [template](https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/schema/exemples/template.json) vide est disponible sur le Framagit, ainsi que quelques [exemples](https://framagit.org/bertille/tx-collecte-chatons/-/tree/master/schema/exemples).
......
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Site de la TX Collecte CHATONS</title>
</head>
<body>
<h1>Bienvenue sur le site de la TX CHATONS</h1>
<head>
<meta charset="utf-8">
<title>Site de la TX Collecte CHATONS</title>
</head>
<body>
<h1>Bienvenue sur le site de la TX CHATONS</h1>
<div class="info">
<p>
<a href="http://chatons.picasoft.net/documentation">Cliquez ici pour explorer le projet.</a>
Les principales ressources du projet sont :
<ul>
<li><a href="http://chatons.picasoft.net/documentation">La documentation</a></li>
<li><a href="http://chatons.picasoft.net/schema/schema.json">Le schéma de fiche pour un Chaton</a></li>
<li><a href="https://framagit.org/bertille/tx-collecte-chatons/-/blob/master/schema/README.md">La documentation du schéma</a></li>
<li><a href="http://chatons.picasoft.net/documentation/contribuer/#ajouter-son-chaton">Le tutoriel pour ajouter son Chaton</a></li>
<li><a href="http://chatons.picasoft.net/exports/chatons.json">Le fichier regroupant tous les Chatons</a></li>
<li><a href="http://chatons.picasoft.net/search/recherche.html">L'outil de recherche d'un Chaton</a></li>
</ul>
</p>
</body>
</div>
</body>
</html>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment