Différences entre les versions de « Site web »

De VoWiki
Aller à la navigation Aller à la recherche
Ligne 89 : Ligne 89 :
  libreoffice --headless --convert-to pdf test.odt
  libreoffice --headless --convert-to pdf test.odt


Conversion ODT vers HTML:
Conversion ODT vers HTML (à améliorer : CSS personnalisé, etc.):


  libreoffice --headless --convert-to html test.odt
  libreoffice --headless --convert-to html test.odt




''convert_odt'':
''convert_files.sh'':


  #!/bin/sh
  #!/bin/sh
   
   
  SRC_DIR=...          # TODO: écrire ici le chemin vers le répertoire contenant les fichiers source
  SRC_DIR=./          # Écrire ici le chemin vers le répertoire contenant les fichiers source (ODT, ...)
DST_DIR=./         # Écrire ici le chemin vers le répertoire contenant les fichiers PDF et HTML générés
   
   
  ### CHECK COMMANDS ###
  ### CHECK COMMANDS ###
   
   
  # command -v will return >0 when the $i is not found
  # command -v will return >0 when the $i is not found
  command -v sync_a_file >/dev/null && continue || { echo "sync_a_file: command not found."; exit 1; }
  command -v libreoffice >/dev/null && continue || { echo "sync_a_file: command not found."; exit 1; }
   
   
  ### CHECK COMMANDS ###
  ### CONVERT FILES ###
   
   
  for FILE in "${SRC_DIR}"
  find ${SRC_DIR} -type f -iname "*.odt" -execdir libreoffice --headless --convert-to html --outdir ${DST_DIR} {} \;
  do
  find ${SRC_DIR} -type f -iname "*.odt" -execdir libreoffice --headless --convert-to pdf --outdir ${DST_DIR} {} \;
    sync_a_file $FILE
done
 
À améliorer (CSS personnalisé, etc.)


=== Conversion ReStructuredText vers PDF ===
=== Conversion ReStructuredText vers PDF ===

Version du 31 octobre 2015 à 16:00

AccueilNos Projets


Étude des besoins

  • communiquer les news avec le public (blog, facebook, twitter, RSS, Google+, Diaspora*, ...)
    • réalisations
    • articles et tutoriels
    • évènements
    • invitation aux séances de formations, etc.
  • communiquer les news avec les membres (galette)
    • infos administratives
    • infos techniques
    • demande d'aide
  • documentation pour le public et les membres (wiki)
  • documentation des projets centralisée et uniforme (wiki)
  • référentiel pour le code source et la CAD (voir la documentation) (github)
  • agenda partagé public (est-ce vraiment utile ?)
  • partage de fichiers entre membres (pydio)


Problèmes avec la configuration actuelle

  • le wiki est utilisé comme CMS à sens unique
  • le menu du blog est à refaire
  • manque de dynamisme sur le wiki et le blog
  • le forum est très peu utilisé
  • ...


Outils, usages potentiels, forces et faiblesses

  • blog
    • communication figée et chronologique
  • cms
  • wiki
    • documentation
    • sa liberté d'usage fait que ça peut vite devenir le chaos si on y prête pas attention...
  • serveur de fichier interne
    • parfait pour échanger des binaires (exe, solidworks, fichiers STL/gcode/..., multimédia, open/libreoffice, word, ...)
  • serveur FTP (vs Pydio) ?
  • forum
  • www.eventbrite.fr
    • pour gérer les inscriptions aux formations
  • IRC
  • calendrier comme google calendar (import/export ical)
  • twitter
  • facebook
  • google+
  • diaspora
  • google drive
    • préférer les framapad (etherpad) ou owncloud
  • git / svn
    • pour le partage de code source et de documentation texte (latex, ReStructuredText, Markdown, Docbook, HTML, Troff, ...), a usage interne et/ou vers le publique
  • https://framadate.org/ alternative à doodle
  • owncloud
  • blog statiques (fichiers Markdown + Git)

Les outils/formats à bannir:

  • word/exel : ce ne sont pas des formats ouverts, utiliser libreoffice/openoffice


TODO list


Documentation publique (wiki)

Organisation documenatation wiki odt rst latex.png

Conversion ODT (openoffice/libreoffice) vers PDF et HTML

Conversion ODT vers PDF:

libreoffice --headless --convert-to pdf test.odt

Conversion ODT vers HTML (à améliorer : CSS personnalisé, etc.):

libreoffice --headless --convert-to html test.odt


convert_files.sh:

#!/bin/sh

SRC_DIR=./          # Écrire ici le chemin vers le répertoire contenant les fichiers source (ODT, ...)
DST_DIR=./          # Écrire ici le chemin vers le répertoire contenant les fichiers PDF et HTML générés

### CHECK COMMANDS ###

# command -v will return >0 when the $i is not found
command -v libreoffice >/dev/null && continue || { echo "sync_a_file: command not found."; exit 1; }

### CONVERT FILES ###

find ${SRC_DIR} -type f -iname "*.odt" -execdir libreoffice --headless --convert-to html --outdir ${DST_DIR} {} \;
find ${SRC_DIR} -type f -iname "*.odt" -execdir libreoffice --headless --convert-to pdf --outdir ${DST_DIR} {} \;

Conversion ReStructuredText vers PDF

...

Conversion ReStructuredText vers HTML

...


Sphinx et readthedocs.org

...

Synchronisation des fichiers HTML et PDF générés depuis un serveur de fichier vers un serveur web

sync_files.sh:

#!/bin/sh

SRC_DIR=...                 # TODO: mettre le vrai path ici
DST_DIR=user@host:/path/    # TODO: mettre le vrai path ici

### CHECK COMMANDS ###

# command -v will return >0 when the $i is not found
command -v rsync >/dev/null && continue || { echo "rsync: command not found."; exit 1; }

### CHECK ARGS ###

if [ ! -d "$SRC_DIR" ] ; then echo "$SRC_DIR: directory not found." ; exit 1 ; fi
if [ ! -d "$DST_DIR" ] ; then echo "$DST_DIR: directory not found." ; exit 1 ; fi

### SYNC ###

echo "Synchronizing ${SRC_DIR} to ${DST_DIR}"
rsync -r -L -v -e ssh --delete ${SRC_DIR} ${DST_DIR}

Options utilisées pour rsync:

  • -e ssh : utilise SSH
  • -r : mode "récursif"
  • -L : déréférence les liens
  • -v : mode "verbeux"
  • --delete : supprime de $DST les fichiers qui ont été supprimés de $SRC depuis la dernière synchronisation

Synchronisation des fichiers HTML et PDF générés depuis un référentiel Git vers un serveur web

...

Automatisation avec Cron

Éditer la liste des taches cron avec la commande suivante:

crontab -e

Par exemple, pour synchroniser les fichiers toutes les heures:

0 * * * * /absolute/path/to/convert_and_sync.sh

ou pour synchroniser les fichiers tous les jours à 4h du matin:

0 4 * * * /absolute/path/to/convert_and_sync.sh

avec convert_and_sync.sh:

#!/bin/sh

convert_files.sh && sync_files.sh