Tags:
create new tag
, view all tags

Création d'une news sans passer par l'interface

1. Généralité

1.1 Emplacement

Le serveur de news est hébergé sur la machine cdsweb. L'ensemble des fichiers se trouvent dans le répertoire "/home/cdsweb/fusionnews".

Les fichiers de news se trouvent dans le sous-répertoire "fusionnews/news". Leur nom a la forme news.N.php. N est un nombre unique.

Il y a aussi un fichier contenant la table des matières : toc.php.

Il vaut mieux ne pas toucher aux autres fichiers existant dans ce sous-répertoire (fonts et index.html) et ne pas y créer d'autres fichiers.

Les images doivent être dans le sous-répertoire "fusionnews/uploads".

1.2 Droits d'accès

Les fichiers de news doivent appartenir à l'utilisateur:group "httpd:www-data". Les droits d'accès de chacun de ces fichiers doit être "-rw-r--r--". Le fichier toc.php doit avoir le même propriétaires, et les droits d'accès "-rw-r--r--".

Les images (dans le sous-répertoire uploads) doivent avoir les mêmes droits que les fichiers news.

2. Formats

2.1 Format d'un fichier de news

Un fichier de news contient 2 lignes, la 1re est toujours la même, la 2e contient tous les détails de la news. En fait, il peut y avoir d'autres lignes, mais elles sont pour les commentaires. Le format de ces autres lignes ne sera pas décrit ici.

1re ligne :

La 2e ligne contient l'information, séparé par la suite des 3 caractères pipe, inférieur et pipe ( |<| ). Voici un exemple de ligne :

short|<|long|<|creator|<|subject|<|description|<|1,2,3|<|1207032163|<|0|<|11|<|

Voici la description de chacun des champs :

  • short, obligatoire :représente le texte court de la news, celui qui sera affiché dans la liste des news.
  • long, optionnel : représente le texte long de la news. Si ce texte existe, il y aura un lien à la fin du texte court pour afficher une page contenant ce texte long.
  • creator, obligatoire : le login du créateur de la news.
  • subject, obligatoire : le titre de la news.
  • description, optionnel : s'affiche (par exemple) au moment où l'on s'abonne au flux RSS. Si ce champ n'est pas rempli, c'est la valeur du champ "short" qui sera affiché.
  • catégorie(s), obligatoire : la liste des numéros de catégorie auquelle appartient la news, séparé par des virgules. Il faut au moins une valeur. Voir ci-dessous la liste des catégories.
  • la date de création des news, obligatoire : le nombre de secondes depuis le 1er janvier 1970. Les news sont présentées à l'écran dans l'ordre donné par cette date. Les news les plus récentes sont en tête de liste.
  • 0 : obligatoire, c'est le nombre de commentaires validés pour cette news.
  • N, obligatoire : le numéro de la news. Ca doit être la même valeur que celle qui est dans le nom du fichier (news.N.php). Ce numéro n'est pas utilisé pour trier les news.

Lorsqu'un champ est facultatif, cela signifie que la valeur est vide, c'est à dire qu'il n'y a aucun caractère pour la représenter. Il faut toujours que les séparateurs soient présents.

2.2 Format de fichier contenant la table des matières

Le fichier contenant la table des matières contient une 1re ligne identique à la 1re ligne du fichier de news, puis une ligne par news. Les informations qui y figurent sont déjà toutes dans le fichier de news lui-même, et doivent être identiques à cell-ci. Voici la description d'une de ces lignes :

11|<|1207032163|<|creator|<|subject|<|1,2,3|<|

Voici la description de chacun des champs. Ils sont tous obligatoires.

  • N : le numéro de la news, que l'on retrouve dans le nom du fichier de la news.
  • date : la date de création de la news, en secondes depuis le 1er janvier 1970.
  • creator : le login du créateur de la news.
  • subject : le titre de la news.
  • catégorie(s) : la liste des catégories dans laquelle est classée la news, séparée par des virgules

2.3 Formattage du texte

Aucun champ n'a le droit de contenir les caractères suivants : <CR>, |, <, >, ", &.

Pour utiliser ces caractères dans du texte, il faut encoder ces caractères à la manière de HTML :

Caractère Code
<CR> &br;
| &#124;
< &lt;
> &gt;
" &quot;
& &amp;

Il vaut mieux se contenter des caractères non accentués. Sinon, il faut inclure les caractères accentués avec le format UTF-8.

Il est possible de mettre en forme le texte en utilisant les balises BBCode suivantes, qui ressemble beaucoup à du HTML, ou encore à ce qui est utilisé dans un Wiki. En général, il faut mettre le texte entre la balise de début et celle de fin. Pour certain cas, il faut de plus donner une valeur à l'argument (pour les liens et les emails par exemple).

Nom Code
gras [b][/b]
italique [i][/i]
souligné [u][/u]
barré [s][/s]
indice [sub][/sub]
exposant [sup][/sup]
ombré [shadow=red,left,1][/shadow]
brillant [glow=red,2,1][/glow]
couleur [color=red][/color]
font [font=verdana][/font]
taille [size=16][/size]
alignement [align=left][/align]
tt [tt][/tt]
trait horizontal [hr]
texte qui défile [move][/move]
citation [quote][/quote]
flash [flash=200,200][/flash]
image [img]uploads/image.png[/img]
email [email=username@site.com][/email]
hyperlien [url=http://www.url.com][/url]
liste [list][*]text1[*]text2[*]text3[/list]

Les smileys ont été désactivés.

3. Autres informations

3.1 La liste des catégories

Nom Numéro
General 1
Aladin 2
Simbad 3
Vizier 4

4. Outils de création de news

4.1 Utilisation de l'outil

Un serveur aserver a été démarré sur la machine cdsweb. Il offre le service nommé 'createnews'. Voici comment l'utiliser :

cat <fichier> | aclient cdsweb 1649 putmp \; createnews \; rmtmp

Vous pouvez aussi préférer l'écriture suivante :

cat <fichier> | aclient cdsweb 1649 'putmp ; createnews ; rmtmp'

Les blancs autour des points-virgules semblent nécessaire.

Ce service lance le shell createNews.sh qui se trouve dans le même répertoire que fusionnews. Les options de createNews sont :

Option Nom long Descritpion
-h --help Affiche l'aide puis termine.
-n --no-news Ne crée pas une vrai news, mais affiche le texte généré sur la sortie standard.
-s --show-html Ne crée pas une vrai news, mais affiche le HTML de la news sur la sortie standard.
-V --version Affiche la version de createNews puis termine.

4.2 Format du fichier d'entrée

Le fichier donné en entrée du service createnews est un fichier texte, contenant des mots clés en début de ligne, ayant toujours % comme premier caractère. L'ordre des mots clés n'est pas imposé. Les mots clés possibles sont :
Mot clé Description Obligatoire
%Creator C'est le username du créateur de la news. Le nom doit être défini dans fusionnews. Oui
%Categories C'est le numéro de la catégorie dans laquelle la news est publiée. S'il y a plusieurs catégories, il faut les séparer par une virgule, sans mettre aucun blanc. Oui
%Title C'est le titre (le sujet) de la news. Oui
%Short C'est le texte court de la news. Il peut avoir plusieurs lignes. Il peut y avoir du texte sur la même ligne que le mot clé. Les lignes suivantes ne commencent pas par le mot clé. La fin du texte est signifiée par un nouveau mot clé ou bien la fin du fichier. Pour séparer les paragraphes, il faut laisser une ligne vide. Oui
%Long C'est le texte long de la news. Il peut avoir plusieurs lignes. Il peut y avoir du texte sur la même ligne que le mot clé. Les lignes suivantes ne commencent pas par le mot clé. La fin du texte est signifiée par un nouveau mot clé ou bien la fin du fichier. Pour séparer les paragraphes, il faut laisser une ligne vide. Non
%Description C'est la description de la news. Elle apparaît rarement. Si elle n'est pas donnée, le texte "Short" est utilisé pour remplacer la description lorsqu'elle est utilisée. Non

4.3 Exemple de fichier d'entrée

%Creator    question
%Categories 1,3
%Title      Elle souffle
%Short
Ceci est le texte
court de la news.

%Long
Ici nous avons donc
un texte plus long.

Et voici un 2e paragraphe
qui contient des caracteres
potentiellement dangereux :
<, |, >, " et &.

C'est un champ optionnel.

%Description Ceci est la description de la news.  C'est un champ optionnel.

-- PascalWassong - 01 Apr 2008

Topic revision: r7 - 2008-04-28 - PascalWassong
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback