ROUTEUR + NAS transferts données

Bonjour,

Je souhaites faire de mon Pi 3B+ un routeur wifi pour connecter les tablettes de la classe et transférer les contenus vidéos sur une clé USB branchée sur le PI. Est-ce possible de faire cela ?

Merci pour votre retour.

Jordane GUYONNET

hello,

oui !

plusieurs aspects
1/ le réseau : si tu veux connecter des tablettes sur ton RPI il te faudra :
. un programme pour gérer les connexion : hostapd
. un autre pour leur donner une adresse dans ce réseau : isc-dhcp-server

2/ l’application pour récupérer les fichiers
. un serveur web (apache , nginx ou autres ) sur l’interface wlan0 avec un répertoire ( upload) en écriture pour tout le monde sur ta clé usb

Dans le "document root’ de ce serveur :

  • un formulaire pour rechercher le fichier
  • un programme pour récupérer le fichier et le sauvegarder sur ta clé USB ( le paramètre action de la balise form )
    voir exemple en source

voilà en gros le principe de base… en gras les programmes utiles.
tu trouveras sur le web les paramétrages nécessaires pour le serveur web, hostapd et le dhcp

bonne bidouille !

SOURCE:

Exactement ce que bof à dit. Le service Web est la solution la plus simple à mettre en place.

Pour le Wifi, oui le Raspberry peut faire les connections, mais j’opterais plutôt pour un petit Routeur qui va surement mieux gérer les connexion si c’est pour une classe car j’imagine qu’il y aurait une trentaine d’élève, et que le fichier sera téléchargé en même temps.

En séparant les tâches, tu va gagner en performances et en fiabilité. La mise en route sera plus simple et rapide.

La gestion du Wifi et d’une forte demande Web et de transfert par le même appareil peut être une mauvaise gestion des performances car le CPU sera utiliser pour le traitement des deux. La puce Wifi sera sollicité pour initier et maintenir plusieurs liens. J’appréhende donc le ralentissement des liens réseau et une augmentation du latency dans le temps. L’antenne Wifi est aussi moins performante.

Alors en prenant un routeur Wifi, tu pourras gérer facilement le réseau; interface de gestion et l’assurance que ça marche. Le Raspberry serais alors sur ce réseau, en filaire idéalement, et sera configuré comme serveur Web simplement.

Utiliser le filaire permet d’avoir une vitesse de 100Mbps sur le réseau, tandis que via le Wifi, ce sera une vitesse variable, qui flirt avec le 54Mbps.

En installant la version gratuite de Virtualmin, tu pourras démarrer un service complet Web en exécutant un simple script. Je l’utilise depuis des années et il est présent sur tout mes serveurs (intranet et internet), car il permet de faire plus (gestion du système complet; hardware et logiciel).

Pour la clé USB, tu peux te créer un script qui vérifie si une clé est présente, et si oui, il copie ce qu’il y a dessus dans un dossier qui sera alors accessible dans un dossier géré par le service Web. Tu peux faire de la pas mal de choses pour faciliter l’accès, par ordre de complexité;

  1. [Config Apache + script Python] Activer le module d’index de Apache, qui va simplement lister les fichiers présent si aucun « index.html,… » est présent.
  2. [script Python] Avoir qu’un seul lien pour un fichier qui aurais toujours le même nom. Le script de copie va « overwrite » à chaque copie. Le nom par exemple est « cours.zip » ou un redirect créé dans le « index.html » pour pointer vers le fichier (encore la le script de copie peut le faire).
  3. [script Python intermédiaire] Le script va générer une liste des fichiers copiés et créer un fichier HTML de la liste. Le script peut contenir des filtrages pour tenir compte que de certains documents par exemple.
  4. [Apache + PHP + script Python avancé] Un site PHP avec un script de copie performant; Interface Web qui affiche dynamiquement les fichiers, soit pas navigation « explorateur » ou via un classement. Le script peut facilement créer des sous dossier pour des usages répété. L’accès au site peut ainsi être protégé, soit par un simple mot de passe, ou une gestion d’utilisateur. Le codage peut être géré via un CMS ou un code créé de toute pièce.

Après, c’est à toi de voir lequel de ces options répond le mieux à tes besoins.


Tu peux aussi regarder le support Samba (SMB), soit le partage de Windows, qui est compatible avec Windows*, MacOS** et Linux***. Non supporté sous Android (sauf avec une application, et ça reste limité).

*Depuis quelques temps, Windows ne supporte plus de manière automatique les versions 1 et partiellement le 2, il faut donc utilisé le 3 lors de la configuration du serveur. Le moyen de contourner cette limitation est de contacter le IP du système demandé. Par exemple vous entrez l’adresse \\192.168.0.111\ dans l’explorateur WIndows.

**MacOS supporte de manière limité le partage, certaines versions d’appareil et/ou de logiciel ne supporte pas ce service.

***Requière l’installation de packages. Peut être difficilement utilisable comme client. Selon les OS.

Mais l’avantage, c’est de naviguer comme si la clé USB serais présente dans l’appareil de l’élève.

Bonsoir,

Merci pour vos conseils ! Je crains que cela dépasse mes compétences malheureusement. Je vais tenter et vous tiens au courant de l’avancée !

Jordane

Bonjour,
Je suis bloqué au niveau de la partie « Apache ». Lorsque j’installe Apache, cela supprime mon point d’accès créé auparavant avec hostpad. Est-ce normal ?
Merci pour votre retour

Jordane

Si tu utilise le même port, oui, c’est normal, le port par défaut HTTP est 80 (et 443 en HTTPS). Alors si HostPad offre un service sur ce port, il sera « down », car un seul service peut être sur un port, alors change soit celui du Apache, soit celui de HostPad.

Ok merci je vais essayer ! Tu sais dans quelle ligne de configuration cela est ?