Site de recherche : Animeskan

Proposez vos idées pour contribuer à l'amélioration du site.

Re: Site de recherche : Animeskan

Messagepar charlock » 16 Juil 2018 20:41

Une mise à jour, ça faisait longtemps !

Ca fait plus d'un an que j'y pense, mais j'ai enfin trouvé la combinaison temps/motivation pour apporter cette évolution : la possibilité de générer des liens permanents qui permettent d'accéder directement à des résultats de recherche.

Exemple : avant, pour obtenir la liste des plus longues séries OAV, je devais vous indiquer de copier/coller une requête barbare dans l'interface de recherche. Maintenant cette recherche est enregistrée, je peux donc vous fournir un lien qui permet d'y accéder directement : http://animeskan.free.fr/?qid=5

Autre exemple avec les collaborations franco-japonaises : http://animeskan.free.fr/?qid=6

A chaque nouvelle recherche que vous faites, soit par le formulaire soit en mode SQL, vous pouvez vous aussi choisir de l'enregistrer via le bouton "Obtenir le lien permanent" afin d'en faire profiter tout le monde :)
Image
Avatar de l’utilisateur
charlock
Visiteur
 
Messages: 83
Enregistré le: 04 Déc 2015 22:19

Re: Site de recherche : Animeskan

Messagepar Denis_73 » 01 Jan 2019 01:59

Bonjour charlock,

Merci d'avoir partagé votre travail, le site Animeskan permet de chercher autrement.
J'aurais juste une petite requête si toutefois elle est réalisable et que votre emplois du temps vous le permet.
Serait-il possible d'ajouter deux champs relatifs à la sections avis des visiteurs :
- le premier indiquant le nombre de votes
- le second la moyenne des votes
Merci d'avance et bravo pour Animeskan.
Merci aussi à ceux qui font vivre Animeka. C'est vraiment un site incontournable.
Denis_73
 
Messages: 4
Enregistré le: 01 Jan 2019 01:50

Re: Site de recherche : Animeskan

Messagepar charlock » 01 Jan 2019 12:52

Bonjour Denis, merci pour ton message, ça me fait très plaisir de voir qu'il y au moins une personne qui utilise Animeskan ^^

Concernant ta demande, je viens de regarder : j'ai malheureusement bien peur que ça me soit "impossible" (ou en tout cas bien compliqué).
La raison est simple : toutes les infos récupérées dans Animeskan sont issues du code source des pages Web des fiches Animeka, or il n'y a dans ces fiches aucune information textuelle sur les votes, uniquement une image, comme celle-ci par exemple :
Image
Après, analyser les images pour en extraire des textes ce n'est sans doute pas impossible, mais je n'ai jamais tenté de faire ce genre de chose.

Sinon pour info ces derniers jours je réfléchissais aussi à une évolution pour améliorer la visibilité du site, en partant du constat qu'il est sous-utilisé par rapport aux services qu'il pourrait rendre. En fait j'ai beaucoup de mal à le faire connaitre, alors qu'à ma connaissance il n'existe aucun équivalent au monde pour faire ce genre de recherche.
Du coup je réfléchis potentiellement à un changement de nom ("Animeskan" n'étant pas forcément super parlant), ou autres pistes...
Image
Avatar de l’utilisateur
charlock
Visiteur
 
Messages: 83
Enregistré le: 04 Déc 2015 22:19

Re: Site de recherche : Animeskan

Messagepar Denis_73 » 01 Jan 2019 17:45

Bonjour Charlock,

Avant que je découvre animeskan, j'utilisais le script suivant qui listait les derniers animés et qui permettait de trier les animés par note et moyenne. Ce script ne marche plus depuis le passage d'animeka de http à https je pense.
Voici le code :

Code: Tout sélectionner
// ==UserScript==
// @name        animeka_derniers_animes
// @description Liste des derniers animes avec votes, moyennes et genre. Possibilité de trier et d'alimenter la liste.
// @author      turtpaw
// @namespace   https://userscripts-mirror.org/scripts/show/154676
// @version     1.3
// @grant      GM_getResourceText
// @grant      GM_addStyle
// @grant      GM_xmlhttpRequest
// @include     http://www.animeka.com*
// @include     http://www.animeka.org*
// @include     http://animeka.com*
// @include     http://animeka.org*
// @require     https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
// @require     http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js
// @resource   cnewCSS http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css
// ==/UserScript==
var lisLie = document.getElementById("date");
lisLie.innerHTML='[<a href="http://www.animeka.com/animes/derniers_animes.html" class="tooltip1" title="Derniers animes ::\
Générer une liste des derniers animes entrés." style="font-weight:bold;">Derniers animes</a> ]' + lisLie.innerHTML;
if(/\/animes\/derniers_animes\.html/g.test(document.location.href)){
    document.title=('Derniers animes');
    var imgLoa = '<div id = "indLoaA" style="width:300px;padding:1px;background-color:white;border:1px solid black;\
text-align:center"><div id="indLoaB" style="width:0px;background-color:#8AE65C;height:5px"></div></div>';
    var elemT = document.getElementById("rightpanel");
    elemT.innerHTML = '<img id="imgApe" style="position:absolute;z-index:5;left:480px"><div id="monDiv" style="width:820px;margin:5px;">\
<input type="submit" value="Ajouter" id="ajInp" disabled> au tableau les <select size="1" id="ajSel">\
<option value="50">50</option><option value="100">100</option><option value="200">200</option>\
<option value="500">500</option><option value="1000">1000</option></select> animes précédents.<img id="aniImg">\
<div style="height:6px;">'+imgLoa+'</div><table id="maTable" width=796></table>\
<canvas id="myCanvas" width="342" height="32" style="display:none;"></canvas></br>\
</br>(Le total peut être inférieur à la requête car certaines fiches sont manquantes.)</div>';
    $('#maTable').dataTable( {
        "iDisplayLength": -1,
        "sScrollY": "500px",
        "sDom": "frtiS",
        "bDeferRender": true,
        "bAutoWidth": false,
        // "iDisplayLength": 25,
        "aaSorting": [[4,'desc']],
        "aoColumns": [ {"sWidth": "32px", "sContentPadding": "00", "sTitle": "Votes"},
                      {"sWidth": "30px", "sContentPadding": "00", "sTitle": "Moye."},
                      {"sTitle": "Titre"}, {"bSortable": false, "sWidth": "280px", "sTitle": "Genre"},
                      {"sWidth": "30px", "sTitle": "Id"} ],
        "oLanguage": {"sInfo": "Total : _TOTAL_ animes","sSearch": "Chercher :",
                      "sInfoFiltered": " - sur _MAX_ non filtrés"}
    });
    var newCSS = GM_getResourceText ("cnewCSS");
    var cosCSS = newCSS.replace(/\.\.\//g,"http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/");
    GM_addStyle (cosCSS+"table.dataTable {table-layout: fixed;}table.dataTable th {text-align: center;}\
#maTable_previous, #maTable_next{padding-top: 3px}");
    //document.getElementById("leftpanel").removeChild(document.getElementById("sponsor"));
    var arrDat = new Array(9);
    var nbFor = 25;
    var curAni=0;
    var ajSel = document.getElementById("ajSel");
    document.getElementById("ajInp").onclick=function(){
        nbFor = parseInt(ajSel.options[ajSel.selectedIndex].value);
        document.getElementById("indLoaA").style.display="block";
        document.getElementById("ajInp").disabled = true;
        golgo(curAni);
    };
   
    berserk(0);
}
function berserk(i) {
    if(i>=4){alert("Dernier anime non trouvé.");return;}
    $.get('http://www.animeka.com/index.html', function(data) {
        var doc = document.createElement("div");
        doc.innerHTML = data;
        var derAni = doc.getElementsByClassName("sub")[5].getElementsByClassName("tooltip2")[i].href;
        $.get(derAni, function(data) {
            var doc = document.createElement("div");
            doc.innerHTML = data;
            if (doc.getElementsByClassName("animeslegendimg")[0].href!="undefined"){
                kenshin(/[\d]+/.exec(doc.getElementsByClassName("animeslegendimg")[0].href)); 
            } else berserk(i++);
        });
    });
}
function kenshin(aniId){
    var ctx = document.getElementById('myCanvas').getContext('2d');
    var img = new Image();
    img.src = "http://www.animeka.com/animes/"+aniId+".png";
    img.addEventListener('load', function() {
        ctx.drawImage(img, 0, 0, 342, 32, 0, 0, 342, 32);
        for (i=0; i<=9; i++){arrDat[i] = ctx.getImageData(110+i*25,12+3,6,4).data;}
        golgo(aniId);
    }, false);
}
function cobra(i){
    var w = i*parseInt(document.getElementById("indLoaA").style.width)/nbFor;
    document.getElementById("indLoaB").style.width=w+"px";
}
function golgo(aniId){
    for (i=0; i<nbFor; i++){ fraggles(aniId-i,i);}
}
function fraggles(aniId,k){
    var aniLie = "http://www.animeka.com/animes/detail/id_"+aniId+".html";
    var xhr = $.get(aniLie, function(data) {
        var doc = document.createElement("div");
        doc.innerHTML = data;
        var aniTit = doc.getElementsByClassName("animestitle")[0].textContent;
        if(aniTit=="Aucune anime dans la catégorie.") return;
        //document.getElementById("ajInp").disabled = false;
        aniTit = '<a href="'+aniLie+'" target="_blank" onmouseover="\
var imgApe = document.getElementById(\'imgApe\');\
imgApe.style.display=\'block\';\
imgApe.src=\''+doc.getElementsByClassName("picture")[0].src+'\';\
var event = window.event || event;\
imgApe.style.top  = (event.pageY+1)+\'px\';imgApe.style.left  = (event.pageX+35)+\'px\';\
" onmouseout="document.getElementById(\'imgApe\').style.display=\'none\';">'+aniTit+'</a>';
        var aniGen = doc.getElementsByClassName("animestxt")[7];
        aniGen.removeChild(aniGen.firstChild);
        aniGen.removeChild(aniGen.lastChild);
        for (i=0;i<=aniGen.childNodes.length-1;i++){
            if(aniGen.childNodes[i].nodeType==3)aniGen.childNodes[i].nodeValue=", ";
            else aniGen.childNodes[i].target="_blank";             
        }
        xhr.abort();//pas certain de l'utilité
        aniGen = aniGen.innerHTML.toLowerCase();
        var ctx = document.getElementById('myCanvas').getContext('2d');
        var img = new Image();
[color=#0000FF]        img.src = "http://www.animeka.com/animes/"+aniId+".png";
        var votCha = "", moyCha = "";
        cobra(k);
        img.addEventListener('load', function() {
            ctx.drawImage(img, 0, 0, 342, 32, 0, 0, 342, 32);
            for (var i=0; i<=4; i++) {
                for (var j=0; j<=9; j++) {
                    if(scryed(ctx.getImageData(64+i*7,8+3,6,4).data, arrDat[j])) votCha += j;
                    if(scryed(ctx.getImageData(65+i*7,23+3,6,4).data, arrDat[j])) moyCha += j;
                }
            }
            if(moyCha.length>1 && moyCha!="10")moyCha=moyCha.slice(0,1)+"."+moyCha.slice(1,moyCha.length);
            if(votCha=="") {if(moyCha=="0") votCha="0"; else votCha="1";}
            //votCha = votCha||"0";
            $('#maTable').dataTable().fnAddData([votCha, moyCha, aniTit, aniGen, aniId],false);
            curAni = aniId;[/color]
            if(k>=nbFor-4){//en cas d'arrivée en désordre ou de return
                document.getElementById("indLoaB").style.width="0px";
                document.getElementById("indLoaA").style.display="none";
                document.getElementById("ajInp").disabled = false;
                $('#maTable').dataTable().fnDraw();
            }
        }, false);
    });
}
function scryed (x, y) {
    for (a=0;a<=x.length;a++) {
        if (x[a]==255 && x[a+1]==0 && y[a]==51 && y[a+1]==51) {a+=3; continue;}
        if (x[a] != y[a]) return false;
    }
    return true;
}


La partie suivante me semble être celle qui permet de récupérer les informations moyenne et nombre de votes.

Code: Tout sélectionner
    aniGen = aniGen.innerHTML.toLowerCase();
        var ctx = document.getElementById('myCanvas').getContext('2d');
        var img = new Image();
[color=#0000FF]        img.src = "http://www.animeka.com/animes/"+aniId+".png";
        var votCha = "", moyCha = "";
        cobra(k);
        img.addEventListener('load', function() {
            ctx.drawImage(img, 0, 0, 342, 32, 0, 0, 342, 32);
            for (var i=0; i<=4; i++) {
                for (var j=0; j<=9; j++) {
                    if(scryed(ctx.getImageData(64+i*7,8+3,6,4).data, arrDat[j])) votCha += j;
                    if(scryed(ctx.getImageData(65+i*7,23+3,6,4).data, arrDat[j])) moyCha += j;
                }
            }
            if(moyCha.length>1 && moyCha!="10")moyCha=moyCha.slice(0,1)+"."+moyCha.slice(1,moyCha.length);
            if(votCha=="") {if(moyCha=="0") votCha="0"; else votCha="1";}
            //votCha = votCha||"0";
            $('#maTable').dataTable().fnAddData([votCha, moyCha, aniTit, aniGen, aniId],false);
            curAni = aniId;[/color]
            if(k>=nbFor-4){//en cas d'arrivée en désordre ou de return
                document.getElementById("indLoaB").style.width="0px";
                document.getElementById("indLoaA").style.display="none";
                document.getElementById("ajInp").disabled = false;
                $('#maTable').dataTable().fnDraw();
            }
        }, false);
    });
}


Je ne suis pas assez compétent en développement pour t'en dire plus...
Voilà si ça peut aider sinon tant pis, Animeskan est déjà très bien comme ça.

Au sujet du changement de nom, je trouve que Animeskan est bien trouvé.
Au niveau de la visibilité, effectivement il faut chercher pour trouver.
Pour ma part, j'ai trouvé Animeskan en faisant une recherche sur google pour lister les animé d'Animeka qui m'a renvoyé vers le forum.

Encore merci
Denis_73
 
Messages: 4
Enregistré le: 01 Jan 2019 01:50

Re: Site de recherche : Animeskan

Messagepar charlock » 03 Jan 2019 08:53

Merci pour ce script, en le lisant rapidement je pense comme toi qu'il sert bien à lire les infos des images de votes.
Je ne pourrai pas l'utiliser directement car c'est apparemment du JavaScript (langage coté client donc, pour simplifier même si ce n'est pas 100% vrai), alors que moi j'utilise du PHP (côté serveur). Il faudrait donc que je trouve un équivalent en PHP.
Je regarderai, même si je ne peux pas te promettre que ça aboutira.
Image
Avatar de l’utilisateur
charlock
Visiteur
 
Messages: 83
Enregistré le: 04 Déc 2015 22:19

Re: Site de recherche : Animeskan

Messagepar zeus » 07 Jan 2019 01:57

Pour réparer ton script Denis il suffit probablement de rajouter le s de https dans les @include du début.
Avatar de l’utilisateur
zeus
Habitué
 
Messages: 195
Enregistré le: 26 Jan 2016 19:03

Re: Site de recherche : Animeskan

Messagepar Denis_73 » 07 Jan 2019 13:18

Bonjour zeus,
Merci pour l'info.
J'ai essayé mais cela ne fonctionne pas.
Le script fait appel à des jquery.dataTables et je pense qu'il y'a quelque chose qui bloque avec ses dernières.
Et puis sur le principe, il me semble qu"un site comme Animeskan sera toujours plus facile d'accès et plus pérenne qu'un script.
Denis_73
 
Messages: 4
Enregistré le: 01 Jan 2019 01:50

Re: Site de recherche : Animeskan

Messagepar charlock » 17 Jan 2019 09:06

Bonjour Denis, je sais déjà que je ne vais pas pouvoir regarder ça avant mars, mais je vais voir ce que je peux faire.
Merci en tout cas pour ton intérêt !
Image
Avatar de l’utilisateur
charlock
Visiteur
 
Messages: 83
Enregistré le: 04 Déc 2015 22:19

Re: Site de recherche : Animeskan

Messagepar Denis_73 » 09 Mar 2019 22:56

Bonsoir Charlock,
Je me disais que dans un premier temps, ça pourrais être sympa de voir l'image des votes dans une colonne dédiée sur le même principe que la colonne "img_url" qui présente les images des animés.
Qu'en pense tu ? ça risque peut être d’alourdir la base de donnée et de ralentir les requêtes ?
Merci
Denis_73
 
Messages: 4
Enregistré le: 01 Jan 2019 01:50

Re: Site de recherche : Animeskan

Messagepar charlock » 15 Mar 2019 19:44

Merci Denis pour ton intérêt renouvelé !
Pour info je compte bien essayer de faire quelque chose pour répondre au besoin que tu exprimes, mais actuellement il y a un petit souci sur le serveur qui héberge le site ; Animeskan reste pour l'essentiel fonctionnel, mais ça m'empêche provisoirement d'avancer. A suivre !
Image
Avatar de l’utilisateur
charlock
Visiteur
 
Messages: 83
Enregistré le: 04 Déc 2015 22:19

Re: Site de recherche : Animeskan

Messagepar charlock » 12 Avr 2019 22:48

Bonsoir,
Après quelques soucis techniques désormais (presque tous) résolus, le site est à nouveau (quasi ^^) pleinement fonctionnel, et avec deux nouveautés :
- changement des id pour se caler sur ceux d'Animeka, ce qui permet par exemple de lister les dernières fiches (à date du dernier scan) : http://animeskan.free.fr/?qid=4
- ajout d'un champ img_vote pour Denis ;) (case à cocher pour afficher ce champ en plus des autres)

EDIT 13/04/2019 : les derniers soucis sont corrigés, à mon sens Animeskan est à nouveau 100% opérationnel, voire même plus opérationnel qu'il ne l'a jamais été ! si malgré tout vous constatez un bug, merci par avance de me le signaler.
Image
Avatar de l’utilisateur
charlock
Visiteur
 
Messages: 83
Enregistré le: 04 Déc 2015 22:19

Précédente

Retourner vers Suggestions, Remarques et Propositions d'Aide

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron