Karotz Bootstrap JQuery CGI Template

161 views
Skip to first unread message

Wizz.cc

unread,
Oct 14, 2012, 4:19:54 AM10/14/12
to karo...@googlegroups.com

Objectif : installer un template Bootstrap+JQuery pour le serveur web du Karotz et accéder à tout son système au travers des scripts cgi en Python et Shell. Ce template sera une excellente base pour le développement web autour du Karotz.

+ une base de simulateur de télécommande pour déclencher les applications hébergés directement depuis son navigateur (il reste plusieurs points à approfondir : passage des paramètres des appz, arrêt de l'appz par kill, etc...)

Une fois connecté en telnet sur le Karotz
Installation sous /usr/www - ou le répertoire racine du serveur httpd

# cd /usr/www
wget http://karotz.wizz.cc/wizz_www.tar
# tar xvf wizz_www.tar

Vérification et ajustement des droits si besoin
# chmod -R og-w *
# chmod -R +x cgi/bin

Se connecter à l'aide son navigateur sur l'ip du Karotz :

35niavlys

unread,
Oct 14, 2012, 4:26:27 AM10/14/12
to karo...@googlegroups.com
J'ai une petite erreur :

-bash-4.1#  tar xvf wizz_www.tar
./
./inc/
./inc/js/
./inc/js/wizz.js
tar: invalid tar magic

Wizz.cc

unread,
Oct 14, 2012, 5:46:27 AM10/14/12
to karo...@googlegroups.com
oups ! ça devrait être mieux ;-)

en cgi le shell répond assez vite, le python un peu plus lent...
reste à creuser l'histoire des params à passer aux appz pour le lancement par la VM
dès que tu trouves...

@+

35niavlys

unread,
Oct 14, 2012, 6:53:11 AM10/14/12
to karo...@googlegroups.com
C'est bon, beau travail :)
Ça va me motiver pour faire plus de recherche sur le fonctionnement interne et pour ajouter des quelques fonctions
Par contre petite erreur :
# chmod -R +x cgi-bin
et non
# chmod -R +x cgi/bin

Merci encore Wizz

Wizz.cc

unread,
Oct 14, 2012, 6:59:11 AM10/14/12
to karo...@googlegroups.com
on a désormais une super base pour les web dév...

normalement les droits sont mis d'office mais sait-on jamais...


Vérification et ajustement des droits si besoin
# chmod -R og-w *

Vincent PRUVOST

unread,
Oct 14, 2012, 2:49:46 PM10/14/12
to karo...@googlegroups.com

Hello tous

 

Super boulot !

Par contre, il doit y avoir un soucis pour ce qui est du lancement des applis via la page web que je ne comprends pas très bien.

Il semble que la gestion des variables ne fonctionnent pas. En effet, le lancement d’une appli via un bouton me donne un warning systématique

WARNING: main.js:8: TypeError: Cannot read property 'decompte' of undefined

Evidemment, ca n’est pas toujours la même variable, mais le résultat est toujours le même.

Par contre, une appli qui n’a pas de définition de variable se lance bien.

 

Sinon, c’est vrai que ca évolue bien… J’aimerais avoir plus de temps… mais en ce moment, c’est pas l’idéal ;-)

 

De : karo...@googlegroups.com [mailto:karo...@googlegroups.com] De la part de Wizz.cc
Envoyé : dimanche 14 octobre 2012 12:59
À : karo...@googlegroups.com
Objet : [karotzdev] Re: Karotz Bootstrap JQuery CGI Template

Wizz.cc

unread,
Oct 14, 2012, 5:31:45 PM10/14/12
to karo...@googlegroups.com
Salut Vince,
C'est justement ce que j'indiquais dans le post...
J'ai mis à dispo un template sur la base de Boostrap+JQuery+CGI avec qques exemples de boutons, de scripts .sh et python, et en prime un début de télécommande...
A chacun de développer ensuite selon ses besoins et ses envies.

+ une base de simulateur de télécommande pour déclencher les applications hébergés directement depuis son navigateur (il reste plusieurs points à approfondir : passage des paramètres des appz, arrêt de l'appz par kill, etc...)
Pour l'histoire des variables à passer au VM, faut creuser un peu le debug... Le premier qui trouve la solution l'indique aux autres ;-)
Comme toi, c'est le temps qui nous manque...
@+
Wizz.cc

PlaneteDomo

unread,
Oct 15, 2012, 3:31:42 AM10/15/12
to karo...@googlegroups.com
Salut Wizz.cc,

Je n'ai pas encore eu le temps de te féliciter pour tout ton travail.

Donc : BRAVO !!!!!

Encore merci, franchement, c'est TOP !

Mickael

Wizz.cc

unread,
Oct 17, 2012, 6:16:00 AM10/17/12
to karo...@googlegroups.com
Salut Mickael,

Pas de quoi ;-)
ça redonne un petit coup de fouet aux dév...

@+
Wizz.cc

Rodolphe Franceschi

unread,
Oct 31, 2014, 6:02:27 AM10/31/14
to karo...@googlegroups.com
Bonjour,

Je suis tombé sur la même erreur 'Cannot read property' lors du lancement en ligne de commande. La seule solution est d'investiguer sur le Karotz sur le fonctionnement de la KarotzVM. J'ai identifié le script (binaire) /usr/karotz/bin/controller comme étant celui qui se connecte aux serveurs Violet et en réception ne les programmes et les configurations.

J'ai modifié le script /usr/yaffs_start.sh pour lancer le controller principal "à l'ancienne" et regarder ce que la log donne avec la ligne de commande "/usr/karotz/bin/controller 2>&1 > /tmp/controller.log".


Vous trouverez http://depot.exvoto.org/karotz/packcontroller.zip le dump complet de 30 minutes d'utilisation du controller Karotz. 

Il semble que le controller se connecte au serveur Karotz, et ce dernier:
- Vérifie si les apps sont à jour
- Les télécharge (si elles ne sont pas synchronisées)
- Envoie la configuration de toutes les App (à travers des variables 'configInstance')
- Envoie le schedule de chaque app, je veux dire toutes les 5 minutes, toutes les 3 heures..... Cela se voit dans la variable 'scheduleApp'
- Mets à jour l'heure
- et autres...


Je travaille sur la possibilité de charger ces variables d'une manière extérieure (globale surement, ou pré inclusion) avant le lancement manuel de l'application (en ligne de commande).


En gros, voici les parties intéressantes selon moi:

config {
  configapp {
    apiKey: "1cedc104-f8b0-11df-8f63-0019d145fb1e"
    version: "0.9.3"
    name: "Mon Podcast"
    deployment: "hosted"
    callback: ""
    author: "Karotz by Violet"
    access: "button"
    access: "http"
    access: "led"
    access: "multimedia"
    access: "tts"
    configInstance {
      interruptible: true
      awake: true
      name: "config"
      uuid: "59df5b70-a8ae-4447-bd1e-189b3ae47df9"
      params {
        key: "awake"
        value: "true"
      }
      params {
        key: "interruptible"
        value: "true"
      }
      params {
        key: "permanentTriggerActivator"
        value: "false"
      }
      params {
        key: "scheduledDateTriggerActivator"
        value: "false"
      }
      params {
        key: "scheduledTriggerActivator"
        value: "false"
      }
      params {
        key: "url"
        value: "http://www.perdu.com"
      }
    }
  }
}



scheduleConfig {
  scheduleApp {
    apiKey: "53bb36f4-2391-466c-98a5-e5f8aa54215e"
    instance: "config"
    schedule {
      schedulePeriodic {
        period: 60
        delta: 3
      }
    }
  }
  scheduleApp {
    apiKey: "bd4f6fe4-3839-11e0-bdd5-001fc63cfdff"
    instance: "config"
    schedule {
      schedulePeriodic {
        period: 10800
        delta: 540
      }
    }
  }
  scheduleApp {
    apiKey: "cddd23fe-d135-41ee-9b93-a276d2222b98"
    instance: "config"
    schedule {
      schedulePeriodic {
        period: 10800
        delta: 540
      }
    }
  }
  scheduleApp {
    apiKey: "75d840ac-1e28-49bd-86a8-fa89f3e314e5"
    instance: "config"
    schedule {
      scheduleDate {
        year: -1
        month: -1
        day: -1
        hour: -1
        minute: 0
        second: 0
      }
    }
  }
  scheduleApp {
    apiKey: "09a0ad85config {
  configapp {
    apiKey: "1cedc104-f8b0-11df-8f63-0019d145fb1e"
    version: "0.9.3"
    name: "Mon Podcast"
    deployment: "hosted"
    callback: ""
    author: "Karotz by Violet"
    access: "button"
    access: "http"
    access: "led"
    access: "multimedia"
    access: "tts"
    configInstance {
      interruptible: true
      awake: true
      name: "config"
      uuid: "59df5b70-a8ae-4447-bd1e-189b3ae47df9"
      params {
        key: "awake"
        value: "true"
      }
      params {
        key: "interruptible"
        value: "true"
      }
      params {
        key: "permanentTriggerActivator"
        value: "false"
      }
      params {
        key: "scheduledDateTriggerActivator"
        value: "false"
      }
      params {
        key: "scheduledTriggerActivator"
        value: "false"
      }
      params {
        key: "url"
        value: "http://www.perdu.com"
      }
    }
  }-1ffc-4ece-b4c3-9bf4cfba777a"
    instance: "config"
    schedule {
      scheduleDate {
        year: -1
        month: -1
        day: -1
        hour: -1
        minute: 0
        second: 0
      }
    }
  }
  scheduleApp {
    apiKey: "46d55bc4-f7d1-11df-8c26-0019d145fb1e"
    instance: "config"
    schedule {
      schedulePeriodic {
        period: 10800
        delta: 540
      }
    }
  }
  scheduleWakeup {
    dayweek: 5
    wakeuphour: 7
    wakeupminute: 0
    sleephour: 23
    sleepminute: 50
  }
  scheduleWakeup {
    dayweek: 1
    wakeuphour: 7
    wakeupminute: 0
    sleephour: 23
    sleepminute: 50
  }
  scheduleWakeup {
    dayweek: 6
    wakeuphour: 10
    wakeupminute: 0
    sleephour: 23
    sleepminute: 50
  }
  scheduleWakeup {
    dayweek: 0
    wakeuphour: 10
    wakeupminute: 0
    sleephour: 23
    sleepminute: 50
  }
  scheduleWakeup {
    dayweek: 4
    wakeuphour: 7
    wakeupminute: 0
    sleephour: 23
    sleepminute: 50
  }
  scheduleWakeup {
    dayweek: 2
    wakeuphour: 7
    wakeupminute: 0
    sleephour: 23
    sleepminute: 50
  }
  scheduleWakeup {
    dayweek: 3
    wakeuphour: 7
    wakeupminute: 0
    sleephour: 23
    sleepminute: 50
  }
  time: 1414743976435
  gmt: "Europe/Paris"
Reply all
Reply to author
Forward
0 new messages