shingo a écrit 342 commentaires

  • # Où est le framework ?

    Posté par  (site web personnel) . En réponse au message Calypso CMS. Évalué à 1.

    Pourquoi ne pas avoir utilisé un framework php ?

  • [^] # Re: Chapeau

    Posté par  (site web personnel) . En réponse au journal Code source d'X-Blaster Dominator disponible. Évalué à 1. Dernière modification le 03 février 2014 à 18:45.

    Merci, ça fait plutôt plaisir à lire. Pour la grammaire, c'est surtout que je me relis par forcément après avoir écrit, mais c'est vrai qu'un petit bouquin ne me ferait pas du mal.

    Oui, j'ai éprouvé plus de plaisir à développer sous Linux que Windows. Au départ, je voulais faire un jeu exclusivement pour Linux, mais trop d'amis voulait l'essayer sous Windows alors donc fallait rajouter un peu de code. Le problème avec Windows, c'est qu'il faut passer du temps à se documenter sur certaines fonctions qui ne sont pas tout le temps les mêmes entre Windows XP / 7 / 8.

    Par exemple, pour désactiver temporairement l'écran de veille, j'ai dû écrire ce code :

    #if defined _WIN32
            bool screensaver = false;
            if (!SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, 0, NULL, SPIF_UPDATEINIFILE)) {
                SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, NULL, SPIF_UPDATEINIFILE);
                screensaver = true;
            }  
    #endif
    
    #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
            SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED);
    #endif

    Alors que pour Linux il suffit simplement de créer cette fonction qui remet le compte à rebours à zéro :

    #ifdef __linux 
        void GamePadManager::fakeKey() {
            if (fakeKeyClock.getElapsedTime().asMilliseconds() - fakeKeyLastTime > 5000) {
                system("xscreensaver-command -deactivate > /dev/null");
                fakeKeyLastTime = fakeKeyClock.getElapsedTime().asMilliseconds();
            }
        }
    #endif
  • [^] # Re: C'est triste que les devs soient si mauvais commerciaux !

    Posté par  (site web personnel) . En réponse au journal Code source d'X-Blaster Dominator disponible. Évalué à 5.

    Le jeu a déjà été compilé et est disponible pour plusieurs distributions. J'ai déjà présenté le projets plusieurs fois sur linuxfr et je pense qu'aujourd'hui les gens préfèrent mettre la tête dans le source, enfin j'espère. Si les membres de linuxfr souhaitent toucher au jeu compilé c'est disponible sur le lien que j'ai donné.

    Alors peut-être que j'aurais dû faire un gros packaging avec d'un coté le source et de l'autre la version windows (binaire + installe) et celle de Linux (binaire + installe). Enfin comme je l'ai dis, je manque de temps pour m'occuper de tout correctement. Si vraiment des gens sont intéressés par le projets, je ferais en sorte de tout mettre en place pour que tout le monde soit content.

  • [^] # Re: Apprentissage du C++

    Posté par  (site web personnel) . En réponse au journal Code source d'X-Blaster Dominator disponible. Évalué à 10.

    Alors, pourquoi je suis passé du C# au C++. C'est assez simple, quand j'ai commencé mon apprentissage en programmation, le C# possédait pas mal davantage en plus d'avoir XNA pour le développement de jeux vidéo. Je me suis donc documenté et j'ai programmé tout le jeu en C#. Seulement voilà, je me suis confronté à une politique très fermé de Microsoft où il faut absolument avoir un abonnement chez eux pour accéder à certaines fonctions et publier le jeu sur le Xbox Live. Je n'ai pas du tout aimé cette limitation, et de plus XNA et le C# sont trop lourds. Impossible de porter correctement un projet XNA vers Linux, du moins au moment que je m'y attaquais, et il faut absolument posséder une machine répondant aux exigence de XNA en plus du framework .NET4. Chez plusieurs amis, le jeu ne pouvait se lancer car ils avaient leur installe du .NET4 corrompue et le jeu ne pouvait pas du tout fonctionner sur des pc trop anciens…

    J'en ai eu marre, j'ai cherché un langage qui me correspondait, j'ai trouvé le C++ avec SFML2. J'ai essayé Python, mais je trouve la syntaxe trop simple d'usage et j'avoue avoir du mal à m'y retrouver. Donc j'ai pris ArchLinux et Netbeans pour le développement. Au début j'avoue c'était difficile de m'y retrouver, car j'avais pas mal de choses à assimiler : apprendre à utiliser Linux en profondeur notamment la compilation, me documenter sur SFML2 et surtout apprendre à programmer en C++. Pendant une semaine je me suis un peu arraché les cheveux, mais bon au final j'ai appris énormément de choses qui me serviront plus tard. De plus, le jeu demande rien comme ressources et peut donc fonctionner sur des machines très anciennes.

    J’aurais aimé développé un jeu avec des meilleurs graphismes, mais cela demande bien trop de travaille. A la base, je voulais que chaque niveau possèdes des décors animés, mais bon ce n'est pas évident de trouver des graphistes motivés.

    Concernant mon parcours, disons que j'ai toujours été très attiré par la programmation. Je n'ai jamais vraiment créer quelque chose, mais je codais un peu en Delphi lorsque j'étais au collège et je sais régulièrement du PHP pour mes sites personnels. J'ai abandonné la programmation depuis plus de 15 ans, mais avec l'arrivé des nouveaux langages et des librairies comme XNA et SFML, ça ma donne envie de m'investir là dedans de nouveaux.

  • [^] # Re: Bien joué!

    Posté par  (site web personnel) . En réponse au journal Code source d'X-Blaster Dominator disponible. Évalué à 2.

    Merci :)

    Oui, tout est GPLV3. Un mode deux joueurs auraient été sympa, c'est faisable mais, du moins pas en écran séparé car l'espace de déplacement est bien trop petit pour deux vaisseaux. S'il fallait ajouter un mode deux joueurs, je pense que serait plus dans un style coopération où chaque joueur à une zone de combat qui lui est propre. Cela donnerait un niveau avec deux types de décors et des vagues différentes.

  • [^] # Re: Ok, mais de quoi s'agit-il ?

    Posté par  (site web personnel) . En réponse au journal Code source d'X-Blaster Dominator disponible. Évalué à 6.

    Oui désolé, je pensais que le jeu est un peu connu sur linuxfr. Pour les screenshots, on en trouve un peu partout sur Internet, idem pour les vidéos. Tu peux te rendre sur ce site pour avoir plus d'informations : http://injection-studio.com/games/x-blasterdominator/

  • [^] # Re: Évidemment

    Posté par  (site web personnel) . En réponse au journal Choix d'une licence open-source pour mon projet. Évalué à 1.

    Merci beaucoup, je vais regarder tout cela tranquillement.

  • [^] # Re: 2 licences.

    Posté par  (site web personnel) . En réponse au journal Choix d'une licence open-source pour mon projet. Évalué à 3.

    En effet, dans ce cas là, autant mettre les ressources en open-source. L'idée est d'ouvrir les portes, pas de me les fermer.

  • [^] # Re: Les goûts et les couleurs

    Posté par  (site web personnel) . En réponse au journal TMDBPHP ou comment créer des metas pour ses films avec MediaTomb. Évalué à 2.

    Ah les gouts et les couleurs ^

    Cependant, je t’accorde que certains films ne sont pas terribles et mériteraient d'être effacé. Cependant, la quasi-totalité de ma collection est constitué de films asiatiques, après faut aimer hein ^

  • [^] # Re: Détails sur l'application

    Posté par  (site web personnel) . En réponse au journal TMDBPHP ou comment créer des metas pour ses films avec MediaTomb. Évalué à 1.

    Salut ! Alors pour le moment, je n'ai pas eu le temps de créer un fichier README car le projet est trop jeune pour vraiment avoir une installation type d'autant plus qu'il faut modifier un peu les fichiers pour que le tout s'adapte à ce que tu veux. Mais je vais prochainement peaufiner le tout pour permettre à TMDBPHP de s'installer facilement et de façon générique.

    Si tu veux essayer TMDPHP, il te faut dans un premier temps MediaTomb, libjs (SpiderMonkey), apache2 et PHP5. L'idéal serait d'avoir le tout installé sur un serveur. La modification du script "import.js" requiert que libjs soit compilé avec l'argument JS_HAS_FILE_OBJECT=1. Le plus simple est de récupérer le source de la version 1.70 ou 1.80 de libjs sur le ftp de Mozilla : http://ftp.mozilla.org/pub/mozilla.org/js/ et de le compiler soit même.

    Ce qui nous donne :
    make -f Makefile.ref BUILD_OPT=1 JS_HAS_FILE_OBJECT=1 JS_THREADSAFE=1 DIST=/path/to/nspr

    Par la suite, il faudra copier libjs.a et libjs.so dans /usr/lib et le binaire js dans /usr/bin.

    Si tu as déjà SpiderMonkey installé tu peux essayer cela :

    root@dlink-A0296C:~# js
    js> var file = new File()
    js> 
    

    Pour répondre à ta question concernant un autoscan, cela est possible de l'ajouter mais, si je n'ai pas travaillé sur cette fonction c'est qu'il serait dommage de récolter des données sur un mauvais film. C'est le cas de XBMC qui récupère automatiquement les informations sur les films sans rien te demander, et du coup, tu peux te retrouver avec des jaquettes et info qui ne correspond pas du tout à ton film. Dans tous les cas, je vais créer un binaire qui pourra récupérer et enregistrer les données en ligne de commande accompagné d'un service pour ceux qui souhaitent que ça se fasse de manière automatique.

  • # En plein codage

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Histoire de vous tenir un peu au courant, je suis en train de créer une interface web en PHP / JQUERY afin de récupérer tous les meta-datas et le poster du film. Les informations sont stockés dans un fichier txt si besoin et incrustés dans le fichier. Je compte également écrire quelques scripts. Bien évidement, je mettrais le tout à disposition sur mon git. Donc je reviendrais vous en parler, enfin si ça intéresse du monde.

  • # J'ai réussie !!!

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Bonne nouvelle ! J'ai enfin réussi à compiler le tout sous Squeeze (c'est chaud quand même), mais j'ai réussi et ça a approfondie mes connaissances dans l'univers Linux. J'ai dû donc modifier des patch et adapter le code source afin que MediaTomb puisse se compiler correctement avec tous les supports dont j'ai besoin notamment le fameux file(). J'ai la dernière version de FFMPEG qui fonctionne très bien avec MediaTomb contrairement avec les paquets livrés sur le dépot officiel. Du coup, je peux récupérer les metas dans une vidéo ou lire un fichier qui contiendrait les données. En clair, je peux enfin organiser mon UPNP à ma sauce, trier par acteur etc. ! Oui c'est de la balle!

  • [^] # Re: Mediatomb

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Pour le moment je n'ai pas eu de résultat concluant puisque la version de FFMPEG fournie avec Debian Squeeze semble ne pas être compatible avec MediaTomb. J'ai dû donc tout compiler à la main et bien veillé à ce chaque fonctions soit activées. Alors que je pensais terminé après une nuit de compilation, je suis tombé sur un bug entre GCC 4.5 et la compilation de MediaTomb. Impossible de passer à une version supérieure, puisque je suis bridé par le kernel 2.6 fournie par Dlink avec le NAS. J'ai tout de même tenté de passer à Debian Wheezy, mais ça a cassé ma Squeeze, du coup on repart à zéro. Cette fois, je vais compiler une ancienne version de MediaTomb en espérant que ça fonctionne.

    Sinon, j'ai testé un peu les metada avec avconv et ffmpeg. Cela marche assez bien, je suis plutôt étonné. Le seul souci que j'éprouve, c'est incrustation de façon rapide aux des metas aux fichiers. La seule alternative que j'ai trouvé sans ré-encoder est de copier temporairement le nouveau fichier dans /tmp puis une fois terminé, écraser le fichier d'origine. Je trouve cela assez lourd, mais bon, au moins cela fonctionne.

    Entre deux compilation, j'ai commencé à écrire un code en PHP qui me permet de récupérer les metadatas des films histoire de tester un peu la chose. L'idée serait de manœuvrer ffmpeg avec PHP pour récupérer les informations depuis l'api de TheMovieDB, avec bien évidement un contrôle utilisateur qui permet d'accepter / modifier ou refuser les informations sur le film pour ensuite être incrusté dans le fichier. Cela m'offrirais un peu plus de souplesse que de traiter les films d'un coup, bien que ça pourrait se faire pendant les nuits avec un petit script qui s’exécuterait à des heures précises. Enfin, y a tellement de choses à faire une fois la machine en route…

  • [^] # Re: Mediatomb

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Ah bah si avec ffmpeg c'est possible, je vais pas me prendre la tête plus longtemps ^ !

    Oui MediaTomb en est parfaitement capable étant donné qu'il s'appuie justement sur ffmpeg pour récupérer les informations sur les vidéos et ffmpegthumbnailer pour générer les vignettes. Je vais faire un test et je vous tiens au courant.

  • [^] # Re: Mediatomb

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Oui c'est possible puisque j'utilise une base de données MYSQL pour MediaTomb, se serait une bonne alternative pour le coup.

  • [^] # Re: Mediatomb

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Ah malheureusement ce n'est pas possible. Mon NAS est un DLINK 320 et il n'y a aucune carte graphique, aucun port pour le clavier etc. C'est juste un boitier avec deux disques dur et un port Ethernet. Je travaille uniquement en ligne de commande via SSH… A moins qu"il existe une autre technique, je ne vois pas du tout comment faire.

  • [^] # Re: Mediatomb

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Si c'est possible, c'est sûr que je vais passer directement par cette solution. Pour le moment, je n'ai trouvé aucune information pour installer simplement XBMC en tant que serveur DLNA…

  • [^] # Re: ouais enfin non

    Posté par  (site web personnel) . En réponse au message Gros malin. Évalué à 2.

    D'ailleurs, en parlant d'Android… Je trouve ça dingue qu'on peut se choper des trojans, spywares etc. en installant des applications sur le store de Google…

  • [^] # Re: Mediatomb

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Oui, jusque là c'est du tout bon ! Le hic c'est que les vidéos, du moins mes films n'ont pas de metadata. A ma connaissance, il est impossible d’incruster des metas dans un fichier AVI. Je pensais que SpiderMonkey fonctionnait un peu comme le JavaScript avec la prise en charge de JQuery, ce qui m'aurait permis de récupérer les informations assez facilement depuis un fichier XML par exemple.

    Bref, j'ai dû pas mal de documenter, et j'ai découvert que la façon la plus simple serait d'exporter la base de données d'XBMC en fichier XML pour chaque film. Par la suite, je dois me débrouiller pour compiler SpiderMonkey avec la prise en charge de file object. J'ai réussi à faire cela, mais étrangement, MediaTomb pointe vers libmozjs et non libjs. Du coup, lorsque je lance la commande js, je peux parfaitement récupérer les éléments d'un fichier NFO de cette façon :

    var file = new File("Police Story.nfo");
    file.open("read", "text");
    var xml_array = file.readAll();
    
    la commande "xml[2]" renvoie : <title>Police Story</title>
    la commande "xml[3]" renvoie : <year>1973</year>
    

    De cette façon, je pourrais supprimer les note afin de récupérer la valeur, et ainsi organiser mon serveur UPNP par année, acteurs, genre etc.

    Sauf que pour le moment, il faudrait certainement que je compile par mes propres soins MediaTomb afin qu'il pointe vers libjs. Je suis quand même en train de compiler libmoz 1.7 en espérant qu'il prenne en charge file object.

  • [^] # Re: serveur DLNA

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    J'utilise un NAS DLINK 320 où il est possible d'installer Debian Squeeze via fun_plug. Il est compact et peu bruyant. Après avoir installé Debian Squeeze, je peux donc faire un peu ce que je veux. J'ai été impressionné du résultat que peu donner XBMC et il est clair que je vais dans peu de temps me fabriquer une machine qui le fera tourner exclusivement avec une télécommande. Dans la pratique, je pourrais utiliser la base de donnée d'XBMC pour créer mon interface web. Reste a voir si j'ai vraiment un intérêt à utiliser l'UPNP sur le NAS.

  • [^] # Re: serveur DLNA

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Je vais également essayer de regarder du coté de libupnp afin de créer mon propre serveur UPNP qui pourrait exploiter la base de donnée d'XBMC installée sur mon NAS pour organiser les fichiers, se serait vraiment le must je pense !

  • [^] # Re: serveur DLNA

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    C'est surement la meilleure solution ou du moins la plus simple. Le soucis c'est que je devrais laisser tout le temps le serveur multimédia tout le temps allumé en même temps que le NAS, en espérant que ça consomme pas trop de courant (remarque j'ai une carte mère VIA mini-pc qui traine)…

  • [^] # Re: Plex

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Merci, je pense que je n'ai pas le trop choix. J'aurais préféré utiliser quelque chose de libre, mais bon, l'essentiel c'est que ça fonctionne ^

  • [^] # Re: serveur DLNA

    Posté par  (site web personnel) . En réponse au message Serveur UPNP et les informations sur les films. Évalué à 1.

    Merci je vais aller regarder du coté d'un serveur DLNA. Je peux tenter d'installer XBMC, mais du coup est-il possible de le contrôler via un terminal ? Il ne va pas pomper trop de ressources ?

  • [^] # Re: script de déployment

    Posté par  (site web personnel) . En réponse au message Importer une table vers une autre table. Évalué à 2.

    Merci ! Je n'avais pas pensé au fameux script que je pourrais stocker sur le serveur. Se serait nettement plus simple et limite transparent.