Différences entre les versions de « Site web »

De VoWiki
Aller à la navigation Aller à la recherche
Ligne 149 : Ligne 149 :
=== Synchronisation des fichiers HTML et PDF générés depuis un serveur de fichier vers un serveur web ===
=== Synchronisation des fichiers HTML et PDF générés depuis un serveur de fichier vers un serveur web ===


''sync_a_file'':
''sync_files'':


  #!/bin/sh
  #!/bin/sh
   
   
  DST=user@host:/path/    # TODO: mettre le vrai path ici
  SRC_DIR=...                # TODO: mettre le vrai path ici
DST_DIR=user@host:/path/    # TODO: mettre le vrai path ici
   
   
  ### CHECK COMMANDS ###
  ### CHECK COMMANDS ###
Ligne 162 : Ligne 163 :
  ### CHECK ARGS ###
  ### CHECK ARGS ###
   
   
if [ $# -ne 1 ] ; then echo "usage: $0 <SRC_DIR>" ; exit 1 ; fi
  if [ ! -d "$SRC_DIR" ] ; then echo "$SRC_DIR: directory not found." ; exit 1 ; fi
SRC=$1
  if [ ! -d "$DST_DIR" ] ; then echo "$DST_DIR: directory not found." ; exit 1 ; fi
  if [ ! -d "$SRC" ] ; then echo "$SRC: directory not found." ; exit 1 ; fi
  if [ ! -d "$DST" ] ; then echo "$DST: directory not found." ; exit 1 ; fi
   
   
  ### SYNC ###
  ### SYNC ###
   
   
  echo "Synchronizing ${SRC} to ${DST}"
  echo "Synchronizing ${SRC_DIR} to ${DST_DIR}"
  rsync -r -L -v -e ssh --delete ${SRC} ${DST}
  rsync -r -L -v -e ssh --delete ${SRC_DIR} ${DST_DIR}


Options utilisées pour ''rsync'':
Options utilisées pour ''rsync'':

Version du 31 octobre 2015 à 15:36

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:

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


convert_odt:

#!/bin/sh

SRC_DIR=...          # TODO: écrire ici le chemin vers le répertoire contenant les fichiers source

### CHECK COMMANDS ###

# 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; }

### CHECK COMMANDS ###

for FILE in "${SRC_DIR}"
do
    sync_a_file $FILE
done

À améliorer (CSS personnalisé, etc.)

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:

#!/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