posts 2020

This commit is contained in:
Paolo Asperti 2024-04-16 23:01:12 +02:00
parent 3e461f6f51
commit 9ce3952cb7
Signed by untrusted user: paspo
GPG Key ID: 06D46905D19D5182
13 changed files with 140 additions and 114 deletions

View File

@ -2,7 +2,6 @@
title: Videoconferenza con jitsi-meet e docker title: Videoconferenza con jitsi-meet e docker
author: paspo author: paspo
type: post type: post
draft: true
date: 2020-03-13T23:41:14+00:00 date: 2020-03-13T23:41:14+00:00
excerpt: Come creare un servizio di videoconferenza con jitsi-meet e docker excerpt: Come creare un servizio di videoconferenza con jitsi-meet e docker
url: /2020/03/14/jitsi-docker/ url: /2020/03/14/jitsi-docker/
@ -12,13 +11,15 @@ categories:
- Documentazione - Documentazione
- In evidenza - In evidenza
- Software - Software
--- ---
In questo periodo in cui la pandemia globale di COVID-19 ci ricorda quanto siamo fragili, le Persone riescono comunque a sorprenderci per la loro solidarietà: si moltiplicano infatti iniziative come <a href="https://solidarietadigitale.agid.gov.it/" target="_blank" rel="noopener noreferrer">questa</a>, in cui grandi aziende offrono gratuitamente alcuni servizi per semplificare la vita a chi sia obbligato a restare a casa.
In questo periodo in cui la pandemia globale di COVID-19 ci ricorda quanto siamo fragili, le Persone riescono comunque a sorprenderci per la loro solidarietà: si moltiplicano infatti iniziative come
[questa](https://solidarietadigitale.agid.gov.it/), in cui grandi aziende offrono gratuitamente alcuni servizi per semplificare la vita a chi sia obbligato a restare a casa.
Possiamo cogliere quest'occasione per rispondere alla crescente domanda di servizi di video conferenza online: in questa lista, infatti, ci sono anche aziende che offrono virtual machines idonee allo scopo. Possiamo cogliere quest'occasione per rispondere alla crescente domanda di servizi di video conferenza online: in questa lista, infatti, ci sono anche aziende che offrono virtual machines idonee allo scopo.
Vediamo come configurare una virtual machine appena creata per avere un servizio di videoconferenza personalizzato, gratuito e open-source, grazie a <a href="https://jitsi.org/" target="_blank" rel="noopener noreferrer">jitsi</a>. Vediamo come configurare una virtual machine appena creata per avere un servizio di videoconferenza personalizzato, gratuito e open-source, grazie a
[jitsi](https://jitsi.org/).
## Requisiti ## Requisiti
@ -29,103 +30,134 @@ Vediamo come configurare una virtual machine appena creata per avere un servizio
Prima di tutto bisogna accedere alla nostra virtual machine. A seconda del fornitore, potremmo avere accesso direttamente con l'utente root o con un utente diverso, ma con privilegi amministrativi. Prima di tutto bisogna accedere alla nostra virtual machine. A seconda del fornitore, potremmo avere accesso direttamente con l'utente root o con un utente diverso, ma con privilegi amministrativi.
Nel primo caso, accediamo con: Nel primo caso, accediamo con:
`ssh root@123.456.789.123<br /> ```sh
` ssh root@123.456.789.123
```
Dove con "123.456.789.123" si intende l'indirizzo IP della virtual machine. Dove con "123.456.789.123" si intende l'indirizzo IP della virtual machine.
Nel secondo caso, dopo esserci loggati, apriamo una shell di root, in modo da semplificare il resto del tutorial: Nel secondo caso, dopo esserci loggati, apriamo una shell di root, in modo da semplificare il resto del tutorial:
`ssh utente@123.456.789.123<br />
$ sudo -i<br /> ```sh
[sudo] password di utente:<br /> ssh utente@123.456.789.123
#<br /> $ sudo -i
` [sudo] password di utente:
#
```
Il comando "sudo -i" permette agli utenti abilitati di ottenere una shell di root, dopo aver inserito la propria password. Il comando "sudo -i" permette agli utenti abilitati di ottenere una shell di root, dopo aver inserito la propria password.
## Installare docker ## Installare docker
Fare riferimento a <a href="https://docs.docker.com/install/" target="_blank" rel="noopener noreferrer">questo link</a> per istruzioni dettagliate su come installare docker. Qui di seguito sono riportate le istruzioni per l'installazione su Debian. Fare riferimento a [questo link](https://docs.docker.com/install/) per istruzioni dettagliate su come installare docker. Qui di seguito sono riportate le istruzioni per l'installazione su Debian.
`# apt-get install \<br />
apt-transport-https \<br /> ```sh
ca-certificates \<br /> # apt-get install \
curl \<br /> apt-transport-https \
gnupg2 \<br /> ca-certificates \
software-properties-common<br /> curl \
# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -<br /> gnupg2 \
# add-apt-repository \<br /> software-properties-common
"deb [arch=amd64] https://download.docker.com/linux/debian \<br /> # curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
$(lsb_release -cs) \<br /> # add-apt-repository \
stable"<br /> "deb [arch=amd64] https://download.docker.com/linux/debian \
# apt-get update<br /> $(lsb_release -cs) \
# apt-get install docker-ce docker-ce-cli containerd.io<br /> stable"
` # apt-get update
# apt-get install docker-ce docker-ce-cli containerd.io
```
## Installare docker-compose ## Installare docker-compose
Anche in questo caso, c'è una guida più esauriente sul <a href="https://docs.docker.com/compose/install/" rel="noopener noreferrer" target="_blank">sito ufficiale</a>. Anche in questo caso, c'è una guida più esauriente sul [sito ufficiale](https://docs.docker.com/compose/install/).
`# curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose<br />
# chmod +x /usr/local/bin/docker-compose<br /> ```sh
` # curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
```
## Installazione ## Installazione
Prima di tutto, ci serve git: Prima di tutto, ci serve git:
`# apt install git<br />
` ```sh
# apt install git
```
Ora possiamo clonare il repository sul nostro server: Ora possiamo clonare il repository sul nostro server:
`# git clone https://github.com/jitsi/docker-jitsi-meet.git /srv/jitsi<br />
` ```sh
# git clone https://github.com/jitsi/docker-jitsi-meet.git /srv/jitsi
```
Otteniamo la configurazione di default: Otteniamo la configurazione di default:
`# cp /srv/jitzi/env.example /srv/jitsi/.env<br />
` ```sh
# cp /srv/jitzi/env.example /srv/jitsi/.env
```
Prima di ritoccare la configurazione, se vogliamo utilizzare Let'sEncrypt, dobbiamo fare una verifica: controlliamo che il nostro record DNS punti effettivamente all'indirizzo IP della virtual machine. Prima di ritoccare la configurazione, se vogliamo utilizzare Let'sEncrypt, dobbiamo fare una verifica: controlliamo che il nostro record DNS punti effettivamente all'indirizzo IP della virtual machine.
`# host jitsi.miodominio.com<br />
jitsi.miodominio.com has address <strong>123.456.789.123</strong><br /> ```sh
# ip a<br /> # host jitsi.miodominio.com
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000<br /> jitsi.miodominio.com has address 123.456.789.123
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00<br /> # ip a
inet 127.0.0.1/8 scope host lo<br /> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
valid_lft forever preferred_lft forever<br /> link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet6 ::1/128 scope host<br /> inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever<br /> valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000<br /> inet6 ::1/128 scope host
link/ether 08:00:27:bb:8b:fc brd ff:ff:ff:ff:ff:ff<br /> valid_lft forever preferred_lft forever
inet <strong>123.456.789.123</strong>/24 brd 123.456.789.255 scope global dynamic enp0s3<br /> 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
valid_lft 85711sec preferred_lft 85711sec<br /> link/ether 08:00:27:bb:8b:fc brd ff:ff:ff:ff:ff:ff
inet6 fe80::a00:27ff:febb:8bfc/64 scope link<br /> inet 123.456.789.123/24 brd 123.456.789.255 scope global dynamic enp0s3
valid_lft forever preferred_lft forever<br /> valid_lft 85711sec preferred_lft 85711sec
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default<br /> inet6 fe80::a00:27ff:febb:8bfc/64 scope link
link/ether 02:42:54:b7:8b:7a brd ff:ff:ff:ff:ff:ff<br /> valid_lft forever preferred_lft forever
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0<br /> 3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
valid_lft forever preferred_lft forever<br /> link/ether 02:42:54:b7:8b:7a brd ff:ff:ff:ff:ff:ff
` inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
```
Ovviamente i dati qui sopra sono solo un esempio, ma dovrebbero bastare a rendere l'idea: il primo comando ci dice come "risolve" jitsi.miodominio.com, mentre il secondo elenca gli indirizzi IP di tutte le interfacce di rete. Gli indirizzi IP devono coincidere. Ovviamente i dati qui sopra sono solo un esempio, ma dovrebbero bastare a rendere l'idea: il primo comando ci dice come "risolve" jitsi.miodominio.com, mentre il secondo elenca gli indirizzi IP di tutte le interfacce di rete. Gli indirizzi IP devono coincidere.
Ora passiamo a ritoccare il file di configurazione (potete usare l'editor che preferite, ovviamente): Ora passiamo a ritoccare il file di configurazione (potete usare l'editor che preferite, ovviamente):
`# nano /srv/jitsi/.env<br />
` ```sh
# nano /srv/jitsi/.env
```
Modificate in questo modo se NON UTILIZZATE Let's Encrypt: Modificate in questo modo se NON UTILIZZATE Let's Encrypt:
`HTTP_PORT=80<br />
HTTPS_PORT=443<br /> ```env
TZ=Europe/Rome<br /> HTTP_PORT=80
PUBLIC_URL="https://123.456.789.123"<br /> HTTPS_PORT=443
DOCKER_HOST_ADDRESS=123.456.789.123<br /> TZ=Europe/Rome
ENABLE_HTTP_REDIRECT=1<br /> PUBLIC_URL="https://123.456.789.123"
` DOCKER_HOST_ADDRESS=123.456.789.123
ENABLE_HTTP_REDIRECT=1
```
Viceversa, se UTILIZZATE Let's Encrypt: Viceversa, se UTILIZZATE Let's Encrypt:
`HTTP_PORT=80<br />
HTTPS_PORT=443<br /> ```env
TZ=Europe/Rome<br /> HTTP_PORT=80
PUBLIC_URL="https://jitsi.miodominio.com"<br /> HTTPS_PORT=443
DOCKER_HOST_ADDRESS=123.456.789.123<br /> TZ=Europe/Rome
ENABLE_LETSENCRYPT=1<br /> PUBLIC_URL="https://jitsi.miodominio.com"
LETSENCRYPT_DOMAIN=jitsi.miodominio.com<br /> DOCKER_HOST_ADDRESS=123.456.789.123
LETSENCRYPT_EMAIL=email@miodominio.com<br /> ENABLE_LETSENCRYPT=1
ENABLE_HTTP_REDIRECT=1<br /> LETSENCRYPT_DOMAIN=jitsi.miodominio.com
` LETSENCRYPT_EMAIL=email@miodominio.com
ENABLE_HTTP_REDIRECT=1
```
Chiaramente l'email indicata deve essere un'email valida. Chiaramente l'email indicata deve essere un'email valida.
Ora possiamo far partire il servizio: Ora possiamo far partire il servizio:
`# cd /srv/jitsi ; docker-compose up -d`
```sh
# cd /srv/jitsi ; docker-compose up -d
```
Il servizio sarà raggiungibile all'URL "https://123.456.789.123" con un certificato autofirmato; se invece avete abilitato Let's Encrypt, sarà raggiungibile all'URL "https://jitsi.miodominio.com". Il servizio sarà raggiungibile all'URL "https://123.456.789.123" con un certificato autofirmato; se invece avete abilitato Let's Encrypt, sarà raggiungibile all'URL "https://jitsi.miodominio.com".
Da qui potete creare quante "stanze" volete, senza bisogno di nessun account: basta inoltrare il link ai destinatari. Da qui potete creare quante "stanze" volete, senza bisogno di nessun account: basta inoltrare il link ai destinatari.

View File

@ -2,25 +2,22 @@
title: Progetto a supporto della Didattica a Distanza title: Progetto a supporto della Didattica a Distanza
author: Paolo Finardi author: Paolo Finardi
type: post type: post
draft: true
date: 2020-04-25T14:59:33+00:00 date: 2020-04-25T14:59:33+00:00
url: /2020/04/25/progetto-a-supporto-della-didattica-a-distanza/ url: /2020/04/25/progetto-a-supporto-della-didattica-a-distanza/
featured_image: /wp-content/uploads/2020/04/dad_02.jpg featured_image: dad_02.jpg
classic-editor-remember: classic-editor-remember:
- classic-editor - classic-editor
categories: categories:
- In evidenza - In evidenza
- News - News
--- ---
Il **Bergamo Linux Users Group**, insieme al <a href="https://www.fablabbergamo.it/" target="_blank" rel="noopener noreferrer"><strong>FabLab Bergamo</strong></a>, ha deciso di aderire al progetto **#TUTTINRETE** promosso da <a href="https://www.facebook.com/millerespiribergamoemonza/" target="_blank" rel="noopener noreferrer"><strong>Mille respiri per Bergamo e Monza Brianza</strong></a>.
Il **Bergamo Linux Users Group**, insieme al [**FabLab Bergamo**](https://www.fablabbergamo.it/), ha deciso di aderire al progetto **#TUTTINRETE** promosso da [**Mille respiri per Bergamo e Monza Brianza**](https://www.facebook.com/millerespiribergamoemonza/).
Lobiettivo è dotare le famiglie in difficoltà di un computer portatile o di un tablet, in modo tale da permettere ai ragazzi di accedere ai sistemi di **Didattica a Distanza** . Lobiettivo è dotare le famiglie in difficoltà di un computer portatile o di un tablet, in modo tale da permettere ai ragazzi di accedere ai sistemi di **Didattica a Distanza** .
Per la precisione ci occuperemo del ricondizionamento di PC o tablet donati da privati ed aziende installando tutto ciò che serve. Per la precisione ci occuperemo del ricondizionamento di PC o tablet donati da privati ed aziende installando tutto ciò che serve.
L'iniziativa è appena nata e non abbiamo ancora i dettagli logistici di come verrà gestita. Daremo tutti gli aggiornamenti sui nostri consueti canali di comunicazione: <a href="https://lists.linux.it/listinfo/bglug" target="_blank" rel="noopener noreferrer"><em>mailing list</em></a> e _newsletter_. L'iniziativa è appena nata e non abbiamo ancora i dettagli logistici di come verrà gestita. Daremo tutti gli aggiornamenti sui nostri consueti canali di comunicazione: [mailing list](https://lists.linux.it/listinfo/bglug) e _newsletter_.
Nel frattempo, se siete intenzionati a donare materiale, potete trovare maggiori informazioni sul sito del <a href="https://www.fablabbergamo.it/2020/04/23/tuttinrete/" target="_blank" rel="noopener noreferrer"><strong>FabLab</strong></a>. Nel frattempo, se siete intenzionati a donare materiale, potete trovare maggiori informazioni sul sito del [**FabLab**](https://www.fablabbergamo.it/2020/04/23/tuttinrete/).
<img decoding="async" class="spotlight" src="https://scontent-mxp1-1.xx.fbcdn.net/v/t1.0-9/s960x960/94030463_126384812346372_9052182397147152384_o.jpg?_nc_cat=110&_nc_sid=8024bb&_nc_ohc=htHAgzQ6DdkAX-3v1GB&_nc_ht=scontent-mxp1-1.xx&_nc_tp=7&oh=579fc9816131f422ecc95be5b23ee669&oe=5ECA9570" alt="Nessuna descrizione della foto disponibile." aria-busy="true" />

View File

@ -2,22 +2,23 @@
title: '#TUTTINRETE per la Didattica a Distanza' title: '#TUTTINRETE per la Didattica a Distanza'
author: Paolo Finardi author: Paolo Finardi
type: post type: post
draft: true
date: 2020-05-12T17:54:05+00:00 date: 2020-05-12T17:54:05+00:00
url: /2020/05/12/tuttinrete-per-la-didattica-a-distanza/ url: /2020/05/12/tuttinrete-per-la-didattica-a-distanza/
featured_image: /wp-content/uploads/2020/05/tuttinrete_750.jpg featured_image: tuttinrete_750.jpg
classic-editor-remember: classic-editor-remember:
- classic-editor - classic-editor
categories: categories:
- In evidenza - In evidenza
- News - News
--- ---
Come <a href="/2020/04/25/progetto-a-supporto-della-didattica-a-distanza/" target="_blank" rel="noopener noreferrer">già anticipato</a> poche settimane fa il **Bergamo Linux Users Group** ed il **FABLAB Bergamo** aderiscono al progetto **#TUTTINRETE** promosso da <a href="https://www.facebook.com/millerespiribergamoemonza/" target="_blank" rel="noopener noreferrer"><strong>Mille respiri per Bergamo e Monza Brianza</strong></a> in collaborazione con le Amministrazioni Comunali di Bergamo e Monza e con UCID Monza e Brianza.
Come [già anticipato](/2020/04/25/progetto-a-supporto-della-didattica-a-distanza/) poche settimane fa il **Bergamo Linux Users Group** ed il **FABLAB Bergamo** aderiscono al progetto **#TUTTINRETE** promosso da [**Mille respiri per Bergamo e Monza Brianza**](https://www.facebook.com/millerespiribergamoemonza/) in collaborazione con le Amministrazioni Comunali di Bergamo e Monza e con UCID Monza e Brianza.
Dopo alcuni incontri con gli organizzatori delle altre associazioni abbiamo raccolto le informazioni che ci servono e, come promesso, aggiorniamo tutti tramite i nostri consueti canali di comunicazione. Dopo alcuni incontri con gli organizzatori delle altre associazioni abbiamo raccolto le informazioni che ci servono e, come promesso, aggiorniamo tutti tramite i nostri consueti canali di comunicazione.
Lobiettivo è dotare le famiglie in difficoltà di un notebook o di un tablet, in modo da permettere ai ragazzi di accedere ai sistemi di **Didattica a Distanza (DAD)**. Considerare che questa modalità di insegnamento **probabilmente verrà utilizzata anche nei primi mesi del prossimo anno scolastico** quindi, il progetto non si esaurisce con il termine di quello corrente.<!--more--> Lobiettivo è dotare le famiglie in difficoltà di un notebook o di un tablet, in modo da permettere ai ragazzi di accedere ai sistemi di **Didattica a Distanza (DAD)**. Considerare che questa modalità di insegnamento **probabilmente verrà utilizzata anche nei primi mesi del prossimo anno scolastico** quindi, il progetto non si esaurisce con il termine di quello corrente.
<!--more-->
Di seguito diamo alcune informazioni utili, ma prima vorremmo chiedere l'aiuto di tutti, anche di chi non ha nessun dispositivo da donare. **Ognuno può essere utile anche solo condividendo o inoltrando il progetto sui propri canali social.** Di seguito diamo alcune informazioni utili, ma prima vorremmo chiedere l'aiuto di tutti, anche di chi non ha nessun dispositivo da donare. **Ognuno può essere utile anche solo condividendo o inoltrando il progetto sui propri canali social.**
@ -34,15 +35,15 @@ Il progetto copre le aree di **Bergamo** e **Monza Brianza**.
Chi ha del materiale da donare può aderire compilando il seguente modulo online: Chi ha del materiale da donare può aderire compilando il seguente modulo online:
<a href="https://docs.google.com/forms/d/e/1FAIpQLSe8o_U2Nc6DkVvqmB8yq_vB_KOFoFadNviWdwibQkLE8SEtgg/viewform" target="_blank" rel="noopener noreferrer">Modulo di adesione</a> [Modulo di adesione](https://docs.google.com/forms/d/e/1FAIpQLSe8o_U2Nc6DkVvqmB8yq_vB_KOFoFadNviWdwibQkLE8SEtgg/viewform)
e scaricando la seguente liberatoria che va consegnata insieme al materiale quando verrà ritirato e scaricando la seguente liberatoria che va consegnata insieme al materiale quando verrà ritirato
<a href="https://lombardia.ucid.it/monzabrianza/wp-content/uploads/sites/2/2020/04/Liberatoria-privati.pdf" target="_blank" rel="noopener noreferrer">Liberatoria per PRIVATI</a> [Liberatoria per PRIVATI](https://lombardia.ucid.it/monzabrianza/wp-content/uploads/sites/2/2020/04/Liberatoria-privati.pdf)
<a href="https://lombardia.ucid.it/monzabrianza/wp-content/uploads/sites/2/2020/04/Liberatoria-aziende1.pdf" target="_blank" rel="noopener noreferrer">Liberatoria per AZIENDE</a> [Liberatoria per AZIENDE](https://lombardia.ucid.it/monzabrianza/wp-content/uploads/sites/2/2020/04/Liberatoria-aziende1.pdf)
Per ulteriori approfondimenti contattare il numero 334 2409907 (anche con Whatsapp) dal lunedì al sabato dalle 09.00 alle 19.00, oppure scrivere una mail agli indirizzi millerespiriMB@gmail.com (per Monza) o millerespiriBG@gmail.com (per Bergamo) o un messaggio sulla <a href="https://www.facebook.com/millerespiribergamoemonza/" target="_blank" rel="noopener noreferrer">pagina facebook millerespiribergamoemonza</a>. Per ulteriori approfondimenti contattare il numero 334 2409907 (anche con Whatsapp) dal lunedì al sabato dalle 09.00 alle 19.00, oppure scrivere una mail agli indirizzi millerespiriMB@gmail.com (per Monza) o millerespiriBG@gmail.com (per Bergamo) o un messaggio sulla [pagina facebook millerespiribergamoemonza](https://www.facebook.com/millerespiribergamoemonza/).
### Alcuni dati ### Alcuni dati
@ -54,7 +55,7 @@ Ci sono già **300** richieste di famiglie che necessitano di questo servizio ma
### Stato del materiale da donare ### Stato del materiale da donare
I dispositivi che vengono donati al progetto devono essere _funzionanti_ e dotati dei relativi alimentatori. Come indicazione di massima, vanno bene per le attività di didattica a distanza PC portatili (non _netbook_; qui una <a href="https://it.wikipedia.org/wiki/Netbook" target="_blank" rel="noopener noreferrer">definizione</a>) e tablet prodotti dall'anno 2009 e successivi. Se doveste avere un notebook più vecchio, scriveteci (nei contatti sopra indicati) indicando le caratteristiche e valuteremo se sono idonei. I dispositivi che vengono donati al progetto devono essere _funzionanti_ e dotati dei relativi alimentatori. Come indicazione di massima, vanno bene per le attività di didattica a distanza PC portatili (non _netbook_; qui una [definizione](https://it.wikipedia.org/wiki/Netbook)) e tablet prodotti dall'anno 2009 e successivi. Se doveste avere un notebook più vecchio, scriveteci (nei contatti sopra indicati) indicando le caratteristiche e valuteremo se sono idonei.
### Nota di sicurezza dei dati personali ### Nota di sicurezza dei dati personali
@ -74,7 +75,3 @@ Sui notebook verranno installati:
* svariati altri software utili per la didattica tra cui Geogebra, Calibre, GIMP, Inkscape, Scribus, Minetest, VLC, ecc * svariati altri software utili per la didattica tra cui Geogebra, Calibre, GIMP, Inkscape, Scribus, Minetest, VLC, ecc
Concludiamo ribadendo ancora che **è importante l'aiuto di tutti!** Se potete donate, se non potete **FATE GIRARE LA VOCE** perchè **TUTTI HANNO DIRITTO ALLO STUDIO e NON DOBBIAMO LASCIARE INDIETRO NESSUNO!** Concludiamo ribadendo ancora che **è importante l'aiuto di tutti!** Se potete donate, se non potete **FATE GIRARE LA VOCE** perchè **TUTTI HANNO DIRITTO ALLO STUDIO e NON DOBBIAMO LASCIARE INDIETRO NESSUNO!**
&nbsp;
&nbsp;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB