Rúbrica d'Avaluació: Pràctica Matrix/Synapse amb Docker
Informació de la Pràctica
Títol: Servidor de Missatgeria Matrix amb Docker
Tipus: Pràctica individual
Durada estimada: 4-6 hores
Qualificació màxima: 10 punts
Criteris d'Avaluació
1. Personalització del Projecte (1,5 punts)
Criteri
Excel·lent (1,5)
Notable (1,0)
Acceptable (0,5)
Insuficient (0)
Nom i cognom en configuracions
Totes les aparicions de NOMCOGNOM substituïdes correctament (docker-compose.yml, homeserver.yaml, noms contenidors, server_name, admin email, noms d'usuaris)
1-2 aparicions sense substituir
3-4 aparicions sense substituir
Més de 4 aparicions sense substituir o còpia literal
Server name i identificadors
Server name, admin email, database names i usernames personalitzats correctament amb nom real
Només 2-3 elements personalitzats
Només 1 element personalitzat
Cap personalització
Usuaris creats
Mínim 3 usuaris amb noms que inclouen el cognom de l'estudiant (joan.garcia, maria.garcia, admin.garcia)
2 usuaris personalitzats correctament
1 usuari personalitzat
Usuaris genèrics (user1, test, etc.)
Sala de xat personalitzada
Nom de sala inclou nom complet de l'estudiant i tema relacionat ("Projecte Joan García", "Equip García")
Nom de sala amb només cognom
Nom de sala genèric amb cognom
Sala sense personalització
Penalitzacions:
- -0,5 punts si detecta còpia literal de l'exemple
- -1,0 punts si no hi ha cap personalització real
- -0,3 punts per cada usuari genèric sense personalitzar
2. Configuració de Synapse (2,0 punts)
Criteri
Excel·lent (2,0)
Notable (1,5)
Acceptable (1,0)
Insuficient (0-0,5)
Fitxer homeserver.yaml
YAML ben format, server_name correcte, database PostgreSQL configurat, registration habilitada, públic registration deshabilitada després de crear usuaris
Configuració correcta amb 1-2 paràmetres per defecte
Configuració funcional però diversos paràmetres no optimitzats
YAML amb errors de sintaxi o configuració incorrecta
Base de dades PostgreSQL
PostgreSQL configurat correctament amb credencials personalitzades, base de dades inicialitzada, connexió funcional
PostgreSQL funcional amb credencials per defecte canviades
PostgreSQL funcional amb credencials per defecte
PostgreSQL no configurat o connexió fallida
Ports i xarxa
Ports 8008 (HTTP) i 8448 (Federation) exposats, xarxa bridge definida, networking entre contenidors funcional
Ports correctes, xarxa per defecte
Només port 8008 exposat
Ports mal configurats
Usuaris administradors
Almenys 1 usuari admin creat amb register_new_matrix_user, credencials segures, evidenciat a captures
Admin creat amb credencials acceptables
Admin creat amb credencials febles
No hi ha usuari admin o no pot accedir
3. Docker Compose (1,5 punts)
Criteri
Excel·lent (1,5)
Notable (1,0)
Acceptable (0,5)
Insuficient (0)
Estructura del fitxer
docker-compose.yml ben estructurat, versionat, noms de serveis personalitzats, volums i xarxa definits
Estructura correcta amb petits errors de format
Estructura bàsica funcional
Errors de sintaxi YAML o estructura incorrecta
Volums
Tots els volums necessaris muntats correctament (synapse data, PostgreSQL data, logs), permisos adequats
1 volum mal configurat
Diversos volums mal configurats
Volums crítics no muntats, dades es perden en reinicis
Variables d'entorn
Variables d'entorn ben definides (SYNAPSE_SERVER_NAME, SYNAPSE_REPORT_STATS, POSTGRES_PASSWORD personalitzada)
Sala i missatges funcionals, 1-2 funcions addicionals
Només sala i missatges bàsics
Funcionalitat mínima o errors
Múltiples clients
Evidència d'ús de mínim 2 clients diferents (web, desktop, mòbil) o múltiples sessions
2 sessions del mateix client
Només 1 sessió
Cap evidència de múltiples sessions
6. Captures de Pantalla (1,5 punts)
Criteri
Excel·lent (1,5)
Notable (1,0)
Acceptable (0,5)
Insuficient (0)
Completes
Totes les 6 captures obligatòries presents (docker ps, sala Element amb E2EE, verificació dispositius, llistat usuaris SQL, logs Synapse, panell configuració)
5 captures presents
4 captures presents
Menys de 4 captures
Qualitat
Captures nítides, informació llegible, nom de l'estudiant visible on correspon (server name, usuaris, sala)
Captures acceptables amb alguna informació poc clara
Captures borroses però reconeixibles
Captures il·legibles
Contingut rellevant
Cada captura mostra exactament el que es demana amb evidència clara (icona cadenat, emojis verificació, output SQL)
1-2 captures mostren informació parcial
Diverses captures amb contingut incomplet
Captures no corresponen al demanat
Evidència de personalització
Nom de l'estudiant clarament visible a múltiples llocs (server name, usuaris, sala, database name)
Nom visible en la majoria d'elements
Nom visible només en alguns llocs
Nom de l'estudiant no visible
7. Respostes a Qüestions (1,0 punts)
Criteri
Excel·lent (1,0)
Notable (0,7)
Acceptable (0,4)
Insuficient (0-0,2)
Qüestió 1: Matrix vs XMPP
Comparativa completa amb mínim 4 diferències tècniques ben argumentades (protocols, E2EE, federació, format dades)
3 diferències correctes
2 diferències correctes
1 o cap diferència, o incorrectes
Qüestió 2: Federació
Explicació detallada del concepte de federació, com funciona entre homeservers, avantatges/desavantatges, exemple pràctic
Explicació correcta del concepte bàsic
Explicació superficial
Explicació incorrecta o absent
Qüestió 3: Seguretat E2EE
Explicació tècnica d'Olm/Megolm, diferència amb TLS, gestió de claus, verificació d'identitat, limitacions
Explicació correcta dels conceptes principals
Explicació bàsica d'E2EE
Explicació incorrecta o genèrica
Distribució: 0,33 punts per qüestió, fins a 1,0 total
8. Documentació i Presentació (1,0 punts)
Criteri
Excel·lent (1,0)
Notable (0,7)
Acceptable (0,4)
Insuficient (0-0,2)
Estructura del PDF
Document ben organitzat amb totes les seccions requerides, portada professional, índex, seccions numerades
Document organitzat, totes seccions presents
Document amb seccions en desordre o alguna absent
Document desorganitzat o seccions importants absents
Fitxers de configuració
docker-compose.yml i homeserver.yaml inclosos complets al PDF amb format llegible (blocs de codi)
Fitxers inclosos amb format acceptable
Fitxers inclosos però poc llegibles
Fitxers no inclosos
Comandes utilitzades
Llistat complet de comandes Docker i SQL utilitzades amb explicació del que fan
Comandes llistades amb explicació bàsica
Comandes llistades sense explicació
Comandes no documentades
Reflexió final
Reflexió personal de 200-300 paraules, honesta sobre dificultats (E2EE, PostgreSQL, networking), aprenentatges identificats, millores proposades
Reflexió de longitud adequada però genèrica
Reflexió massa breu (<150 paraules) o superficial
Reflexió absent o copiada
Ortografia i format
Document sense errors ortogràfics ni gramaticals significatius, format professional i coherent
1-3 errors menors, format acceptable
Diversos errors, format inconsistent
Molts errors, document descuidat
Exercicis Opcionals (Fins a +1,0 punt extra)
Exercici
Puntuació
Exercici 1: Pont (bridge) amb Telegram o WhatsApp configurat
+0,4 punts
Exercici 2: Jitsi Meet integrat per videoconferències
+0,3 punts
Exercici 3: Reverse proxy amb Nginx i certificat SSL (auto-signat acceptable)
+0,3 punts
Nota: La puntuació extra NO pot superar 10 punts en total
Penalitzacions Específiques
Infracció
Penalització
Còpia detectada (mateix server name, usuaris idèntics, mateixos GUIDs de sala)
-10 (qualificació 0)
Ús de NOMCOGNOM literal sense substituir pel nom real
-2,0 punts
Contrasenyes per defecte sense canviar (postgres, synapse)
-1,0 punts
E2EE no activada a la sala principal
-1,5 punts
Cap verificació de dispositius realitzada
-1,0 punts
Contenidors no s'inicien (docker-compose up -d falla)
-3,0 punts
PostgreSQL no funcional (Synapse usa SQLite per defecte)
-1,5 punts
Captura de pantalla obligatòria absent
-0,25 punts per captura
Entrega fora de termini
-0,5 punts per dia (màxim 3 dies)
Format diferent de PDF
-0,5 punts
Usuaris no personalitzats (user1, test, admin genèrics)
-0,3 punts per usuari
Criteri de Superació
Aprovat (5,0): Mínim 5,0 punts
Notable (7,0): Mínim 7,0 punts
Excel·lent (9,0): Mínim 9,0 punts
Requisits mínims per aprovar:
- Contenidors Synapse i PostgreSQL funcionals
- Mínim 2 usuaris creats amb noms personalitzats
- 1 sala de xat funcional (amb o sense E2EE)
- Element accessible i connectat al homeserver
- Captures de pantalla mínimes (4 de 6)
- Document PDF lliurat amb configuracions
Observacions Finals
Originalitat: Es comprovarà que el treball és individual mitjançant:
Verificació de server_name únic
Comparació de noms d'usuaris entre estudiants
Anàlisi de GUIDs de sales (han de ser diferents)
Comparació de reflexions personals
Funcionalitat: El criteri més important és que el sistema funcioni correctament. Una configuració senzilla però operativa obté més puntuació que una molt elaborada però no funcional.
Encriptació: E2EE és un concepte clau de Matrix. Entendre'l i implementar-lo correctament és essencial per obtenir una bona qualificació.
Federació: Encara que no es demana connectar amb altres homeservers públics, és important comprendre el concepte de federació i com Matrix es diferencia d'altres sistemes centralitzats.
Seguretat: Es valora positivament canviar totes les contrasenyes per defecte, utilitzar credencials fortes i documentar consideracions de seguretat.
Rúbrica Simplificada (Resum)
Aspecte
Punts
Pes
Personalització correcta amb nom/cognom
1,5
15%
Configuració Synapse funcional
2,0
20%
Docker Compose correcte
1,5
15%
Encriptació E2EE implementada i verificada
2,0
20%
Client Element funcional
1,0
10%
Captures de pantalla completes
1,5
15%
Respostes a qüestions
1,0
10%
Documentació i presentació
1,0
10%
TOTAL
10,0
100%
Exercicis opcionals (extra)
+1,0
+10%
Consells per Aconseguir Excel·lent
Prova abans de lliurar: Assegura't que pots connectar-te amb múltiples usuaris des de diferents clients
Verifica E2EE: Comprova que la icona de cadenat apareix i que la verificació d'emojis funciona
Personalitza tot: Cada element configurable (server name, usuaris, sala, database) ha de tenir el teu nom
Documenta amb detall: Explica cada pas, especialment els problemes trobats i com els vas resoldre
Entén els conceptes: No et limitis a copiar comandes, investiga què fan i per què són necessàries
Prova la persistència: Reinicia els contenidors i comprova que les dades (usuaris, missatges) es mantenen
Consulta logs: Si alguna cosa falla, docker logs synapse-NOMCOGNOM et donarà pistes valuoses
Reflexió honesta: Escriu sobre les teves dificultats reals, no sobre el que creus que volem llegir
Data de creació: Gener 2025
Versió: 1.0
Autor: Curs M0375 - Serveis de Xarxa i Internet