bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


Barra lateral

ASIX Administració de Sistemes Informàtics i Xarxes
Tots els mòduls del cicle
MP01 Implantació de sistemes operatius
Totes les UFs del modul
MP02 Gestió de bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Fonaments de maquinari
Totes les UFs del modul
MP06 Administració de sistemes operatius
Totes les UFs del modul
MP07 Planificació i administració de xarxes
Totes les UFs del modul
MP08 Serveis de xarxa i Internet
Totes les UFs del modul
MP09 Implantació d'aplicacions web
Totes les UFs del modul
MP10 Administració de sistemes gestors de bases de dades
Totes les UFs del modul
MP11 Seguretat i alta disponibilitat
Totes les UFs del modul
MP12 Formació i orientació laboral
Totes les UFs del modul
MP13 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP14 Projecte
Totes les UFs del modul
DAM Desenvolupament d’aplicacions multiplataforma
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Accés a dades
Totes les UFs del modul
MP07 Desenvolupament d’interfícies
Totes les UFs del modul
MP08 Programació multimèdia i dispositius mòbils
Totes les UFs del modul
MP09 Programació de serveis i processos
Totes les UFs del modul
MP10 Sistemes de gestió empresarial
Totes les UFs del modul
MP11 Formació i orientació laboral
Totes les UFs del modul
MP12 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP13 Projecte de síntesi
Totes les UFs del modul
MPDual Mòdul Dual / Projecte
DAW Desenvolupament d’aplicacions web
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació
Totes les UFs del modul
MP04 Llenguatge de marques i sistemes de gestió d’informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Desenvolupament web en entorn client
Totes les UFs del modul
MP07 Desenvolupament web en entorn servidor
Totes les UFs del modul
MP08 Desplegament d'aplicacions web
Totes les UFs del modul
MP09 Disseny d'interfícies web
Totes les UFs del modul
MP10 Formació i Orientació Laboral
Totes les UFs del modul
MP11 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP12 Projecte de síntesi
Totes les UFs del modul
SMX Sistemes Microinformàtics i Xarxes
Tots els mòduls del cicle
MP01 Muntatge i manteniment d’equips
Totes les UFs del modul
MP02 Sistemes Operatius Monolloc
Totes les UFs del modul
MP03 Aplicacions ofimàtiques
Totes les UFs del modul
MP04 Sistemes operatius en xarxa
Totes les UFs del modul
MP05 Xarxes locals
Totes les UFs del modul
MP06 Seguretat informàtica
Totes les UFs del modul
MP07 Serveis de xarxa
Totes les UFs del modul
MP08 Aplicacions Web
Totes les UFs del modul
MP09 Formació i Orientació Laboral
Totes les UFs del modul
MP10 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP11 Anglès
Totes les UFs del modul
MP12 Síntesi
Totes les UFs del modul
CETI Ciberseguretat en Entorns de les Tecnologies de la Informació
Tots els mòduls del cicle
CiberOT Ciberseguretat en Entorns d'Operació
Tots els mòduls del cicle
github_classroom_autograde

GitHub Classroom Autograde

GitHub Classroom Autograde ens permet testejar els repositoris pujats a una tramesa de GitHub Classroom.

Aquest article és per a professors que vulguin testejar automàticament les trameses dels alumnes.


Crear compte i inscriure alumnes

Primer de tot t'has de donar d'alta de Github Education i Github Classroom.

Després podràs crear una Github classroom.

Finalment, pots connectar els alumnes del teu Moodle amb Github Classroom.


Python Django

Per crear un autograde per a un projecte amb Django cal crear un test amb:

  • Setup command:
    cp .env.example .env ; sudo -H pip3 install -r requirements.txt ; cp .env.example .env || : ; python3 manage.py migrate
  • Run command (diversos exemples):
    • Per córrer els tests de Django (Firefox en mode headless):
      MOZ_HEADLESS=1 python3 manage.py test
    • Per testejar que el servidor es pot posar en marxa i serveix URLs:
      $(python3 manage.py runserver & sleep 5 ; killall python3) & sleep 2 ; curl localhost:8000/admin/login/

Amb Docker

Si hem dockeritzat l'app (veure Django docker) podem posar directament el Run command sense Setup command (docker ja està instal·lat a l'entorn de test de Github Actions):

  • Run command:
    docker-compose up -d --build ; sleep 5 ; curl localhost:8000/polls/

Per tal que l'autograde surti bé cal advertir els alumnes de que res compleixi:

  • El projecte Django ha d'estar a l'arrel i no en una subcarpeta (l'arxiu manage.py ha d'estar a l'arrel).
  • Cal posar un arxiu .env.example amb les variables d'entorn necessàries per poder fer una migració (es recomana utilitzar DATABASE_URL=sqlite:///db.sqlite3).
  • Cal crear algun test a test.py (veure Django test).


Java Gradle / Android Studio

En principi, posar en marxa els tests per a un projecte Java Gradle hauria de ser tan senzill com fer gradle test. Però si es tracta d'un projecte amb Android Studio no ho és tant, ja que necessita les SDK tools de Android i una versió concreta de Gradle.

Aquí tenim una pista de com configurar el workflow de Github Actions: https://github.com/android-actions/setup-android

Per posar el test en marxa, cal deixar buida la casella Setup command.

I posar aquesta línia de test a la casella Run command:

ANDROID_SDK_ROOT=/usr/local/lib/android/sdk ./gradlew test


Afegint MySQL als autotest

Si volem disposar d'una BD per als tests, caldrà fer diversos ajustos.

Al Marketplace de Github tenim de la possibilitat d'activar una BD MySQL en el Github Actions, i que es podrà emprar als tests.

La solució implica crear un starter workflow personalitzat dins la nostra organització, que activi la MySQL.

Per crear aquest starter workflow caldrà crear un repositori anomenat .github dins la nostra Github Organization i dins la carpeta workflow_templates.


Tests amb PHP i MySQL

Tens un repositori de plantilla a:

https://github.com/AWS2/php-mysql-world-test-template

Serveix per testejar els exercicis indicats a l'article PHP MySQL.

També podeu aprofondir en la confecció de tests a PHP test.

Per posar-ho en marxa et caldrà:

  1. Entrar a Github Classroom
  2. Crear roaster amb alumnes
  3. Crear nou Assignment.
  4. Utilitzar el repo template indicat més amunt com a plantilla.
  5. Afegir tests a Add Autograding Tests, en concret tenim 4 de preparats (les puntuacions so