A Radio to Print

Workshop ESAAT Roubaix 11-14 décembre 2023

Toolkit

Télécharger le toolkit

Ce toolkit comprend

01-book_a-radio-to-print

La matrice paged.js / php pour la mise en place de l'édition

02-com_a-radio-to-print

La matrice paged.js pour la mise en place des supports de communication (affiche / flyer et post)

03-dispositifs_a-radio-to-print

Des exemples de programmes pour les dispositifs de captation

Documentation toolkit édition

Structure / Class

  • Chaque chapitre est une <section></section>, si l'on souhaite que le chapitre apparaisse dans le sommaire, il faut ajouter la class "chapter" à cette section
  • La class "page" permet de créer une page (saut de page après la page)
  • La class "page-right" permet de dire que cette page est toujours sur la page de droite la class "page-left" permet de dire que cette page est toujours sur la page de gauche
  • Les titres des chapitres doivent être des <h2> dans une <div> possédant la classe "chapter-title"

Class pour les images

Vous pouvez utilisez des classes pré-existantes pour les images:

  • .image-big => image à 100%
  • .image-medium => image à 2/3
  • .image-small => image à 1/3
  • .image-left-pos => positionne l'image à gauche
  • .image-right-pos => positionne l'image à droite
  • .image-top-pos => positionne l'image en haut
  • .image-bottom-pos => positionne l'image en bas

Contenu

Il est possible d'utiliser PHP pour afficher automatiquement le contenu image ou texte d'un dossier. Le fichier "utils.php" contient une fonction getFileList($dir), permettant de lister tous les fichiers contenus dans un dossier.

Images

Pour afficher toutes les images dans un dossier:

<?php $dir = getFileList("nom du dossier");
<!-- permet de lister les fichiers par ordre alphabétique -->
array_multisort(array_column($dir, "name"), SORT_ASC, $dir );
foreach ($dir as $file):?>
       <?php if($file['type'] == 'image/jpeg'):?>
        <figure>
              <img src="<?php echo $file['name']?>">
        </figure>
    <?php endif;?>
<?php endforeach;?>

Textes

Pour lire le contenu d'un fichier texte:

<?php $text = file_get_contents('dossier/nomdufichier.txt');?>
<p><?php echo $text;?></p>

Pour afficher le contenu de tous les fichiers texte dans un dossier

<?php $dirText = getFileList("nom du dossier");
<!-- permet de lister les fichiers par ordre alphabétique -->
array_multisort(array_column($dirText, "name"), SORT_ASC, $dirText );
foreach ($dirText as $file):?>
       <?php if($file['type'] == 'text/plain'):?>
        <article class="text">
            <p><?php echo $text;?></p>
        </article>
    <?php endif;?>
<?php endforeach;?>

Grille (aide au développement)

Il est possible d'afficher une grille de repère

Afficher la grille

Utiliser le raccourci: ctrl + b

Configurer la grille

  • aller dans main.js
  • changer ces valeurs tout en haut du fichier:
    • let nbOfColumns = 3; (défini le nombre de colonnes)
    • let gap = 5; (défini la gouttière)
  • Aller dans style-screen.css, dans .gui-column, changer le height avec la taille de la hauteur du (format - marges * 2)

Documentation Dispositifs

Automactic_scan

autoscan.sh est un script bash qui permet de lancer un scan toutes les X secondes.

  • Pour lancer le script: bash autoscan.sh
  • Pour changer l'intervalle:
    • Ouvrir le fichier: autoscan.sh
    • Configurer le scanner (ligne 6): PRINTER="hpaio:/net/OfficeJet_4650_series?ip=192.168.0.100"
    • Changer la valeur de l'intervalle (ligne 9): TIME=30 (en secondes)

Data-to-design

Data-to-design est un exemple de transformation de données en style css avec pagedjs

Screencapture

screencapture-osx.sh est un script bash pour macOS qui permet de prendre des captures d'écrans toutes les X secondes.

  • Pour lancer le script: bash screencapture-daemon.sh
  • Pour changer l'intervalle:
    • Ouvrir le fichier screencapture-daemon.sh
    • Changer la valeur: interval=20 (en secondes)
  • Pour changer la zone de capture:
    • Changer les valeurs ici: screencapture -t png -R 192,127,900,645 ${filename}.png
    • La première et la deuxième valeur étant le x et y du point d'origine, les 2 dernières valeurs sont la largeur et la hauteur de la zone de capture.

Speech-to-text

Ces 2 scripts Python permettent de retranscrire en direct la parole en texte Le script speech-to-text_photo.py permet de prendre une photo à chaque fois que certains mots sont pronocés (et reconnus)

Installation

  • Installer python 3 : https://www.python.org/downloads/
  • Installer les modules Python:
    • pip3 install sounddevice
    • pip3 install vosk
  • Lancer le script: python3 speech-to-text.py -m fr

Pour le script speech-to-text_photo.py, il faut installer en plus:

  • pip3 install pygame
  • pip3 install opencv-python
  • Lancer le script: python3 speech-to-text_photo.py -m fr

Webcam-flow

Ce script permet de prendre des photos, à intervalles réguliers, depuis une webcam
Pour changer l'intervalle, aller dans le fichier main.js et changer la valeur en millisecondes sur cette ligne: const interval = 5000; Les images s'enregistrent par défaut dans le dossier "images"