1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

NoAir : logiciels pour connaitre la programmation de la chaîne en ligne

Discussion dans 'La chaîne' démarrée par Cyril, 3 Avril 2009.

  1. Cyril

    Cyril Administrateur Membre de l'équipe

    Inscrit le :
    11 Octobre 2007
    Messages :
    3 619
    Lieu:
    Paris
    Qu'est-ce que NOAIR ?

    NoAir est un système qui permet à Nolife de mettre à disposition la grille des programmes à venir. Grâce à NoAir, vous pouvez savoir ce qui va passer à l'antenne, avec des horaires les plus précis possibles.

    Remerciements
    La version actuelle de NoAir n'aurait pu voir le jour sans l'aide de Media & Broadcast Technologies qui a développé une partie de la passerelle permettant de croiser les informations issues de Phoenix avec celles de nos propres logiciels.


    Comment faire pour utiliser NoAir ?

    Si vous êtes juste téléspectateur, il faut utiliser un des sites ou des logiciels développés pour accéder à NoAir. En voici une liste non-exhaustive :

    Nolife (officiel)

    noair4adsltv pour adsl TV

    AndroLife de sexart_nolife_59 (pour Android)
    cracrayol (nécessite Adobe Air)
    françois_6po (flux RSS)
    Galad (pour Windows Vista)
    Kurty (nécessite Java)
    NoAir (pour iPhone, appli gratuite sur l'AppStore)
    nolife (pour Windows Phone)
    oxmoz_ : pynoair (GNU/Linux, ligne de commande)
    SoTV (iOS/Android, payant)
    s4tori (web)


    Le guide des programmes sur ma box affiche n'importe quoi, alors que NoAir indique la bonne émission, comment ça se fait ?

    Actuellement, les box (freebox et cie) ne récupèrent que des infos d'une grille type que Nolife doit fournir plusieurs semaines à l'avance. L'interconnexion avec NoAir n'est pas possible. NoAir a d'ailleurs été développé pour pallier à ce problème de guide de programmes qui n'affichaient pas les bonnes informations. Une évolution de cette situation n'est pas à l'ordre du jour, les FAI ne désirant pas recevoir des informations plus précises concernant Nolife.

    Je suis développeur, je peux développer mon client NoAir ?

    Tout à fait : cf ci-dessous pour les spécifications.



    ------------------------------------------------------------------------------------

    Si vous êtes développeur et que vous voulez développer votre client NoAir, voici les spécifications du bouzin.

    NoAir est en fait constitué d'un logiciel de notre côté qui s'interface avec la playlist de la régie de diffusion. Ce logiciel génère un fichier XML récupéré par les clients NoAir qui le moulinent comme ils veulent.

    Du point de vue légal :
    - Vous avez le droit d'utiliser les données du fichier XML comme bon vous semble
    - Merci d'indiquer dans votre client que vous n'êtes pas affilié à Nolife
    - Indiquez également l'adresse du site web officiel de Nolife : http://www.nolife-tv.com
    - Merci de ne pas intégrer la lecture des vidéos de Nolife Online dans votre client NoAir sans passer par l'interface web de Nolife Online. De façon générale, ne développez pas de lecteur accédant directement aux vidéos de Nolife Online sans notre accord.

    Du point de vue technique :
    - Autant que possible, merci de limiter les accès au fichier XML. Conservez une version en cache que vous ne mettez à jour qu'au maximum toutes les ~15mn afin d'éviter de trop taper sur notre serveur.
    - De même si vous affichez les screenshots des émissions, merci d'essayer de développer un système de cache.


    Spécifications du fichier XML au 12/07/2013

    L'URL du fichier est http://www.nolife-tv.com/noair/noair.xml (fichier Unicode)
    Le flux NoAir est aussi disponible au format XMLTV (avec moins d'informations) : http://www.nolife-tv.com/noair/noair_xmltv.xml

    La racine XML est un élément <NoAir> dont le seul attribut est le numéro de version (version actuelle : 1.2.1). Un changement dans le premier ou le deuxième chiffre signifie que la compatibilité peut être brisée.

    Les fils sont ensuite des éléments <slot>, un par "pas" de programmation, ayant les attributs suivants :
    date = Date de diffusion du pas
    dateUTC = Date de diffusion du pas en heure universelle (GMT). Utilisez celle-ci plutôt que l'autre, si votre plateforme de développement vous permet facilement de travailler avec des heures UTC !
    title =Titre de l'émission
    sub-title = Sous-titre
    description = En gros, concaténation de title + sub-title. À préférer plutôt que de faire la concaténation vous-même car le formatage est optimisé (pour certaines émissions, description!=title+sub-title)
    detail = Détail du contenu de l'émission
    leveltype = entier donnant le "niveau de visibilité" du programme. NoAir ne contient que des programmes de visibilité 110 (magazines/fictions principaux), 100 (rubriques, etc) et 90 (vidéoclips). En interne nous avons d'autres niveaux inférieurs qui ne sont pas dans le flux Noair (autopromos, jingles, publicités...)
    color = Couleur du logo Nolife (le logo antenne en haut à gauche varie en fonction du thème de l'émission). Valeurs possibles : white/red/blue/green/yellow/pink/noel/white_pixel/red_white/purple_pixel/pink_pixel (par défaut si la couleur n'est pas connue, considérez que c'est "white"). Noel est un logo rouge/vert spécial Noël et 'white_pixel' est le logo pixellisé utilisé par exemple pour Nochan.
    csa = Recommandation CSA pour ce pas. Valeurs possibles (entier) : 0 (tous publics), 10, 12, 16. Les pictogrammes du CSA sont disponibles sur www.csa.fr et le CSA demande qu'ils soient visible dans la liste des programmes.
    url = URL du fil correspondant sur le forum. Anciennement, URL de la page de description de la famille d'émission.
    screenshot = URL d'un screenshot global de la famille d'émission
    NolifeOnlineURL = URL de l'émission sur Nolife Online, si disponible. ATTENTION : Ne pas faire apparaître de lien vers Nolife Online si la date actuelle n'est pas située dans la fourchette NolifeOnlineStart/NolifeOnlineEnd (cf ci-dessous), sinon le lien sera brisé.
    NolifeOnlineStart = Date de début de disponibilité de l'émission sur Nolife Online.
    NolifeOnlineEnd = Date de fin de disponibilité de l'émission sur Nolife Online.
    NolifeOnlineShowDate = Date de tri de l'émission sur Nolife Online. Correspond peu ou prou à sa première date de diffusion.
    AdditionalScreenshot = URL vers le screenshot de l'émission sur Nolife Online
    Online_ExternalURL = URL vers un service online externe à Nolife qui propose l'émission en ligne lorsqu'elle n'est pas disponible sur Nolife Online.
    premierediff = vaut 1 s'il s'agit de la première diffusion du programme concerné, 0 sinon.
    type = indique le type de l'émission ('Critique', 'Magazine', 'Clip'...)
    id_mastershow = identifiant unique d'émission, permettant par exemple de retrouver toutes les diffusions de l'émission dans le flux NoAir.
    HD = vaut 1 si l'émission est nativement en HD. (note : la diffusion de Nolife sera en HD dans les prochains mois, pour l'instant les émissions HD sont downscalées) [nouveau v1.2.1 - 12/07/2013]

    Quelques dernières notes :

    - Pour plus de lisibilité, je recommande de prévoir dans l'interface de votre client de pouvoir "replier" les plages de clips (leveltype=90)
    - Les émissions de leveltype 110 sont les plus importantes, à mettre en avant (ex. gras)
    - Les dates sont au format "yyyy/MM/dd HH:mm:ss" en heure française (GMT+2 l'été, GMT+1 l'hiver)
    - Merci d'indiquer les recommandation CSA dans votre client
    - Bien que la date de diffusion comporte des secondes, il n'est pas pertinent de les afficher (déjà c'est pas très utile, ensuite il peut y avoir un décalage de +/-30s selon la façon dont le téléspectateur reçoit la chaîne).
    - La durée du pas n'est pas indiquée dans NoAir. C'est un choix de notre part, car comme expliqué plus haut, il y a des jingles, publicités, parfois des surprises, qui ne sont pas indiquées dans NoAir. Nous n'avons pas voulu dévoiler précisément les heures de diffusion de ces programmes.
    Vous pouvez consulter le client Noair officiel de Nolife pour voir un exemple de présentation !

    Voilà. Merci encore à vous tous !

    Cyril
     
    Dernière édition: 22 Juin 2014
    4 personnes aiment votre message.
  2. Anon

    Anon Véritable ancien

    Inscrit le :
    18 Avril 2008
    Messages :
    3 411
    y aurait pas un problème avec les dates ? (à moins que je sois très fatigué :p)
     
    1 personne aime cela.
  3. maneki

    maneki Véritable ancien

    Inscrit le :
    11 Octobre 2007
    Messages :
    3 318
    Lieu:
    Bruxelles
    tu ne vois pas male xD je vois aussi des date du 9
     
    1 personne aime cela.
  4. Cyril

    Cyril Administrateur Membre de l'équipe

    Inscrit le :
    11 Octobre 2007
    Messages :
    3 619
    Lieu:
    Paris
    Hohoho ! Mon doigt avait rippé et avait tapé "yy" au lieu de "dd". C'est maintenant corrigé :D
     
    1 personne aime cela.
  5. cracrayol

    cracrayol Vieux d'la vieille

    Inscrit le :
    11 Octobre 2007
    Messages :
    5 216
    Lieu:
    Toulouse
    Intérréssant...

    Je pense qu'en qq heures je pourrait sortir un petit truc en PHP + MySQL afin de pouvoir en faire une utilisation online (avec stockage du xml dans un mysql afin d'éviter les requetes et une réactualisation toute les heures.

    Je pourrais aussi essayer de faire un petit flash (et du coup multi plateforme) qui aurai le même fonctionnement (ren gros récup du XML en local et réactualisation programmé), et du coup ca me permettrait de tester les connaissances acquises dans la formation Flash/AS3/Haxe que j'ai eu ce mois-ci ^^ (voir, pourquoi pas en Flex ^^)
     
    1 personne aime cela.
  6. cracrayol

    cracrayol Vieux d'la vieille

    Inscrit le :
    11 Octobre 2007
    Messages :
    5 216
    Lieu:
    Toulouse
    Après 3 heures, voila ce que j'ai obtenu avec Flex. Le fichier est au format AIR et nécessite Adobe AIR pour pouvoir être installé/utilisé.

    Adobe AIR : http://get.adobe.com/fr/air/
    NoAir : http://cracrayol.free.fr/public/divers/nolife/NoAir.air

    Une fois Adobe AIR installé, il suffit de télécharger le fichier NoAir.air, et de double cliquer dessus. Suivez ensuite les (quelques) instructions d'installation et voila, c'est installé.
    Pour le supprimer, il suffit d'aller dans Ajout/Suppression de programmes.
    Pour ce qui est des mises à jour, il suffit de faire comme pour l'install, la mise a jour se fera automatiquement.

    Adobe AIR étant dispo sous Windows, Mac et Linux, ce programme est compatible "normalement" (a tester donc) avec ces 3 systèmes.

    [UPDATE] : Nouvelle version (sobrement nommé 0.2). Voici les changements :
    • Ajout d'une icône de programme (vite fait sous GIMP ^^)
    • Modification du dossier d'installation
    • Modification du dossier des icônes de menu
    • Création d'un XML en local lors du 1er lancement/réactualisation. Ce fichier est lu lors du lancement afin d'éviter de trop nombreuses requêtes.
    • Cosmétique : Agrandissement de la fenetre du programme - Remplacement du tableau par un DataGrid simple - Colonnes aux bonnes dimensions

    TODO List ^^ :
    • Ajout d'un filtrage
    • Remplacement du code type par la bonne description
    • Colorisation des lignes
    • Réactualisation programmée
    • Focus automatique sur le programme en cours (ou alors mise en valeur)
    • Un petit "A Propos" ^^
    • Réduction en icône système
    • Affichage programme réduit/complet

    Bon allez... au dodo ^^
     
    Dernière édition: 4 Avril 2009
    1 personne aime cela.
  7. lonewolf

    lonewolf Très ancien

    Inscrit le :
    11 Octobre 2007
    Messages :
    2 765
    Je vois pas trop l'interet d'un logiciel installable, je pensais que AIR etait un systeme web.
    Sinon cracrayol, j'ajouterais:
    _Modification de l'appli AIR pour qu'elle soit en mode "restrictif" (la, elle me dit que je lui donne acces a toute la machine, c'est bof et surtout, totalement inutile)
    _Systeme de cache XML: L'appli sauvegarde en local le XML et va le recuperer toutes les 12h.

    Je serais plutot d'avis de faire un bete PHP que j'heberge sur mon site (je testerais le temps d'execution quand meme) avec un systeme d'affichage simple mais efficace (je suis pas trop doue en visuel html)

    Je vais essayer de prendre mon courage a deux mains et faire ca cet aprem si j'ai la motivation ;)
     
    1 personne aime cela.
  8. Sengan

    Sengan Pop'n Moderator

    Inscrit le :
    22 Octobre 2007
    Messages :
    12 764
    Lieu:
    sous le bureau
    Comme le dit Lonewolf, c'est pas vraiment la peine de donner un accès illimité à la machine à l'application...

    Sinon, c'est déjà du beau boulot, j'ai hâte de voir ce que ça va donner une fois que tu auras appliqué les ajouts que tu prévois de faire ^^
    Et si je puis me permettre ça serait bien que la grille suive l'agrandissement vertical de la fenêtre au lieu de rester aux dimensions par défaut et qu'il y ait un espace vide en bas de la fenêtre de l'appli :)
     
    1 personne aime cela.
  9. lonewolf

    lonewolf Très ancien

    Inscrit le :
    11 Octobre 2007
    Messages :
    2 765
    bon je voulais voir DOM en php, donc j'ai fait un truc rapide en une petite heure
    noair - PHP version

    J'utilise les couleurs fournies dans le XML pour l'affichage, ce qui m'oblige a mettre le fond en noir car certaines couleurs sont blanches. Je suis pas trop graphiste mais faudrait un truc plus propre - enfin pas tout noir quoi, sombre oui mais pas noir.

    Pour le moment, le fichier XML est en dur mais a terme, je rajouterais un systeme de download auto des que le fichier stocke en local est trop vieux.

    Suggestions bienvenues, je peux filer le code PHP (qui fait meme pas 100 lignes) pour ceux qui veulent voir.
     
  10. Alex Pilot

    Alex Pilot Être de lumière Membre de l'équipe

    Inscrit le :
    11 Octobre 2007
    Messages :
    15 241
    Voilà !
    J'ai rafraichi la page.
    Pour info, la playslit de 19h (celle du J-Top) n'est pas encore faite, donc, tout ce qu'il y a d'indiqué après 19h ne sera pas diffusé.
     
    1 personne aime cela.
  11. francois_6po

    francois_6po Très ancien

    Inscrit le :
    11 Janvier 2008
    Messages :
    2 604
    Lieu:
    Paris 13ème
    Personnellement je me dis que faire un fichier rss à partir de ce fichier xml serait pas mal. Ca permettrait d'inclure le dit flux dans n'importe quel lecteur rss.

    Je vais voir si j'arrive à goupiller un truc dans ce genre...
     
    1 personne aime cela.
  12. cracrayol

    cracrayol Vieux d'la vieille

    Inscrit le :
    11 Octobre 2007
    Messages :
    5 216
    Lieu:
    Toulouse
    AIR sert surtout a créer des RIA installable sur le bureau. Si c'est pur faire des applis web, autant utiliser Flash directement.

    D'après ce que j'ai lu, si je veut pouvoir écrire/lire des ficheirs en local, je suis obligé d'être en illimité. Par contre, le fait que, dans l'appli, je stock les fichier dans un dossier spécial et non pas dans le dossier de l'application limite des droits accordé a ce fichier dans l'application (si j'ai bien compris). Mais bon, je vais quand même regarder encore un peu.

    J'ai prévu de le faire. Et de toute facon, avec la version actuelle, tant que tu clic pas sur rafraichir, il utilise la version locale du XML.

    Vu comment cyril a expliqué le truc, il avait l'air de plutot vouloir une sorte de widget/ programme qui puisse consulté offline avec un xml local.
     
  13. lonewolf

    lonewolf Très ancien

    Inscrit le :
    11 Octobre 2007
    Messages :
    2 765
    Je vois pas l'interet d'en faire un programme en client lourd.
    Je suis plus dans l'idee que c'est plus efficace d'en faire du PHP, avec un affichage html ou RSS, comme le suggere francois_6po. Pire, on pourrait tout faire en XML/XSLT avec l'embellissement cote client plutot que d'analyser le XML cote serveur.

    Sachant que la chaine nolife *necessite* Internet pour fonctionner, ca me parait plus efficace d'utiliser du PHP, qui va marcher partout, sans bidule a rajouter sur le systeme.

    Apres, c'est juste mon avis cracrayol, si ca te fait plaisir de jouer avec AIR, je vois pas pourquoi tu t'en priverais ;)
     
  14. francois_6po

    francois_6po Très ancien

    Inscrit le :
    11 Janvier 2008
    Messages :
    2 604
    Lieu:
    Paris 13ème
    De toute façon, je me dis que la multiplication des solutions possible multiplie la facilité d'accès à l'information pour les utilisateur :)
     
  15. lonewolf

    lonewolf Très ancien

    Inscrit le :
    11 Octobre 2007
    Messages :
    2 765
    ca reste refaire la roue encore et encore :)

    bon sinon un autre test, derive de l'original noair, prog en cours et les 4 prochains.

    Techniquement, ma premiere solution me suffirait perso, donc a part rajouter des controles d'integrite et ajouter le systeme de cache XML, je vois pas quoi modifier, a part ameliorer le visuel. Et pour ca, il faut un specialiste HTML, ce que je ne suis pas: N'hesitez pas a reprendre le HTML, l'ameliorer visuellement et le publier/me le fournir, je me ferais un plaisir de l'integrer ;)

    En attendant, je vais me faire un peu de GTA4 :)
     
  16. Aelthan

    Aelthan Membre expérimenté

    Inscrit le :
    26 Juillet 2008
    Messages :
    113
    Lieu:
    Alsace, lande sauvage et austère
    Dites, je veux pas faire de mauvais esprit, mais ça risque pas justement de griller le J-Top ou les surprises à l'avance ou y'a une astuce ?
     
    1 personne aime cela.
  17. Alex Pilot

    Alex Pilot Être de lumière Membre de l'équipe

    Inscrit le :
    11 Octobre 2007
    Messages :
    15 241
    Normalement, c'est censé être fait pour ne pas spoiler le J-Top ni Ami Ami Idol.
    On verra ce soir si ça marche... :p
     
  18. Krzys

    Krzys Membre expérimenté

    Inscrit le :
    7 Avril 2008
    Messages :
    145
    Lieu:
    Lille
    Si je peux faire une petite suggestion sur le format du fichier XML, afin d'économiser de la bande passante : remplacer les noeuds fils par des attributs, et faire sauter l'attribute "range" qui n'est qu'un compteur:

    A la place de :

    <slot range="233">
    <date>2009/04/04 21:49</date>
    <description>Mon souvenir - KUSUMOTO Kozo (LITE)</description>
    <leveltype>100</leveltype>
    <color>blue</color>
    </slot>

    Avoir:

    <slot date="2009/04/04 21:49" description="Mon souvenir - KUSUMOTO Kozo (LITE)" leveltype="100" color="blue" />

    De cette manière, pour avoir le titre du 17eme slot, il suffit de faire "/NoAir/slot[17]/@description", au lieu de "/NoAir/slot[range='17']/description"


    Egalement, je ne sais pas si c'est possible, mais pourquoi ne pas inclure, quand il s'agit d'un clip, un lien href vers la page du site nolife qui contient les infos du genre titre, auteur, image, etc... : http://www.nolife-tv.com/images/clips/CJ_N0618.jpg

    Cela permettrait de savoir quel clip va arriver si on ne se rappele plus exactement du titre.

    Si l'id "CJ_N0618" est la clé primaire de chaque clip, elle peut suffir si on sait comment construire une URL pour avoir des infos dessus...

    Edit: ah oui, et c'est toujours une bonne idée d'ajouter qqpart un attribut 'version' pour que les clients puissent facilement s'adapter en cas de changement futur du format:

    <NoAir version="1.0">...

    Comme cela si un client voit passer une version "2.0" il peut afficher un message d'erreur clair "Nouveau format, veuillez mettre a jour le client", plutot qu'une sombre erreur de parsing.

    Apres, pour le refresh, si le XML est un fichier sur le disque du serveur, le client pourrait d'abord envoyer une requete HEAD en HTTP pour vérifier si la date du fichier n'a pas changé depuis le dernier coup. Et si oui, seulement faire la requete GET... ?
     
    Dernière édition: 4 Avril 2009
    1 personne aime cela.
  19. Alex Pilot

    Alex Pilot Être de lumière Membre de l'équipe

    Inscrit le :
    11 Octobre 2007
    Messages :
    15 241
    Tiens, en regardant ce que vous avez fait, je viens de m'apercevoir que je me suis complètement planté sur la prog de Nerdz / Flanders.
    Je vais corriger ça et mettre à la jour le lien XMS.

    Ca sert déjà à quelque chose !!
     
  20. cracrayol

    cracrayol Vieux d'la vieille

    Inscrit le :
    11 Octobre 2007
    Messages :
    5 216
    Lieu:
    Toulouse
    Je viens de mettre une nouvelle version en place (la 0.3)

    Changelog :
    • Affichage par défaut du programme en cours et des 2 programmes précédents/suivants (avec une actualisation de la liste toute les minutes via le XML local)
    • Ajout d'une checkbox pour afficher le programme complet (et désactive du coup l'actualisation toute les minutes si cochée)
    • Ajout d'un icône en SystemTray/Dock (n'affiche qu'un menu simple si clic-droit pour le moment)
    • Ajout d'un paramètre de réactualisation automatique du XML (toute les 2 heures par défaut)
    • Remplacement du code type par la bonne description
    • Cosmétique : Rajout d'un petit dialogue lors de l'initialisation de l'appli et lors du téléchargement du XML

    TODO List (si j'arrive à les faire ^^) :
    • Ajout d'un filtrage
    • Colorisation des lignes
    • Focus automatique sur le programme en cours (ou alors mise en valeur)
    • Un petit "A Propos" ^^
    • Réduction en icône système
    • Système simple d'alerte
    • Flash d'installation assisté (si AIR n'est pas présent, lance l'install de celui-ci, puis lance l'install du programme)
    • Modifier la taille des composants lors du redimensionnement de la fenêtre
    • Historique des programmes

    Adobe AIR : http://get.adobe.com/fr/air/
    NoAir : http://cracrayol.free.fr/public/divers/nolife/NoAir.air

    Merci de rapporter les bugs si vous en trouvez
     
    Dernière édition: 4 Avril 2009