Un moteur de recherche de code source OpenSource

Posté par . Modéré par Nÿco.
Tags :
0
9
nov.
2004
Communauté
Koders est un moteur de recherche indexant autant de code source OpenSource (GPL, LGPL, CPL...) que possible pour 16 langages de programmation différents.

Il permet d'effectuer une recherche par mot-clé, entre autres, de manière à rapidement trouver du code réutilisable.

Comme l'explique son fondateur, Koders dispose de robots parcourant le Web à la recherche de code source OpenSource et récupérable de manière anonyme, avant d'inclure celui-ci dans sa base de données.

Il est possible d'effectuer une recherche par mot-clé, langage ou licence. Koders joue sur l'exhaustivité et n'effectue bien évidemment aucun audit du code référencé. Ainsi, il peut être judicieux de rechercher du code appartenant à des projets reconnus pour se faire une idée a priori de la qualité de celui-ci.

Koders revendique actuellement le référencement de 125 000 000 de lignes de code. Si quantité ne rime pas nécessairement avec qualité, ce site pourra néanmoins permettre aux développeurs de gagner un temps certain en ayant la possibilité de trouver rapidement du code librement réutilisable.

Enfin, notons que Koders reconstitue si possible l'architecture des projets référencés sous forme d'arbre. Recherchez par exemple "gedit", puis cliquez sur l'hyperlien du projet.

Aller plus loin

  • # Il y aurait juste un probleme

    Posté par . Évalué à 10.

    Je ne voudrai pas dire de bêtise, mais une recherche sur certains mots pourrait être utilisée à des fins nefastes.

    Par exemple, faites une recherche sur 'mysql_connect' en langage PHP, vous trouverez toute une foule de comptes utilisateurs, mots de passes et même l'adresse du serveur mysql auquel le script ce connecte.
    Certes c'est une erreur d'ecrire son code comme ça, mais bon...

    Après pour que ce moteur de recherche devienne l'outil préféré des personnes malintentionnées, il n'y à qu'un pas !
    • [^] # Re: Il y aurait juste un probleme

      Posté par . Évalué à 9.

      Ah ouais quand meme :

      http://www.koders.com/?s=mysql_connect&_%3Abtn=Search&_%3Al(...)

      On en trouve quelques uns... Mais bon à mon avis les personnes malintentionnées ont pas attendu Koders pour choper des login / pass

      Mais faut bien reconnaitre que l'interface du moteur est bien faite, et que ca peut etre tres utile...
      • [^] # Re: Il y aurait juste un probleme

        Posté par . Évalué à 3.

        Oh non !
        Le mot de passe de la BD d'Exult est lisible sur la page que tu as cité.

        Quand je pense au boulot incroyable qu'ils font (un moteur libre pour le jeu Ultima 7), c'est presque comique de voir ce genre d'erreur de débutant.

        BeOS le faisait il y a 15 ans !

      • [^] # Re: Il y aurait juste un probleme

        Posté par (page perso) . Évalué à 1.

        Comment faut il le coder alors?

        parcequ'en faisant une recherche sur password, le résultat est pas loin d'être aussi terrible... donc meme en mettant ces variables dans un autre fichier ca change pas grand chose.

        si après il faut trouver des noms sans signification pour les variables login et password? genre foo et bar?

        D'ailleurs? où ce moteur recherche le code? comment récupère t'il le code php de site comme exult par ex? il est à dispostion quelquepart?
        • [^] # Re: Il y aurait juste un probleme

          Posté par (page perso) . Évalué à 10.

          euh non ...
          tu ne mets tout simplement pas tes login / pass dans du code accessible ...
          Généralement c'est un fichier de conf, et si ce fichier de conf est fourni en "sample" et bien
          - tu le renommes en config.php.sample (par exemple) ou conf.pl.sample ;)
          - tu vire les données réelles de ce fic de conf.
          • [^] # Re: Il y aurait juste un probleme

            Posté par (page perso) . Évalué à 2.

            C'est bien comme ca que je fait.

            Ce que j'avais raté c'est que c'est que le code répertorié est du code mis à disposition volontairement. Dans ce cas, effectivement, c'est une grossière erreur que de mettre ce code en libre accès.

            C'est le fait qu'il y ait du code provenant d'exult qui m'a mis le doute, je pensais que c'etait le code d'une page de leur site. Je comprenais d'ailleurs pas comment les robots de Koders avaient pu le récupérer.
          • [^] # Re: Il y aurait juste un probleme

            Posté par . Évalué à 2.

            Une autre solution... celle qui est utilisé par unix, c'est de ne mettre dans le code que des mots de passe cryptés. Pour comparer les mots de passe, tu crypte la chaine donné par l'utilisateur et tu compare les deux chaines cryptées. Le tout, c'est de ne pas donner l'algorithme de décryptage.
            • [^] # Re: Il y aurait juste un probleme

              Posté par . Évalué à 5.

              Le tout c'est surtout d'utiliser un algorithme qui ne _peut pas_ etre inverse(= a sens unique) genre MD5.

              Essayer de cacher l'algo c'est comme mettre une vache derriere un arbre, ca finit forcement par se voir.
    • [^] # Re: Il y aurait juste un probleme

      Posté par (page perso) . Évalué à 3.

      Par exemple, faites une recherche sur 'mysql_connect' en langage PHP, vous trouverez toute une foule de comptes utilisateurs, mots de passes et même l'adresse du serveur mysql auquel le script ce connecte.
      ...
      Certes c'est une erreur d'ecrire son code comme ça, mais bon...
      Tu l'as dit...

      De ce point de vue, on pourrait aussi reprocher à google de permettre une recherche avec le mot clef "password"...

      PS : pas mal comme outil, c'est amusant de voir après quelques recherches quelques bouts de code communs dans différents projets. hop, bookmark !
    • [^] # Re: Il y aurait juste un probleme

      Posté par . Évalué à 6.

      Ceci-dit, mettre du code disponible laissement apparaître en clair de telles info est un grave défaut de sécurité, avec ou sans moteur de recherche. Au contraire, il me semble qu'un tel outil devrait plutôt permettre de mettre facilement en évidence de tels défauts.

      Perso, je trouve ce moteur extrèmement intéressant. Exemple typique, tu écrit un petit programme basé sur un algorithme bien classique. Et qu'est-ce que tu fais dans de telle situation, en bon feignant qui se respecte (ce que j'ai fait récemment avec un bon vieux Runge Kutta par ex.) ? Le plus rapide: tu prends le numerical recipe, tu recopie et adapte le code a ta sauce, et tu te retrouves avec un prog dont la licence est... douteuse. Alors que là tu peux facilement trouvé un morceau de prog GPL qui va bien, sans avoir à faire un 'grep machin-truc *.c' sur tout tes fichiers sources que tu aurait sous la main.
      • [^] # Re: Il y aurait juste un probleme

        Posté par . Évalué à 10.

        Je suis du même avis quand à la recherche de bout de programme qui a forcément été implémenté à de nombreuses reprises...

        Je vois un autre immense intérêt. Lorsque je débute dans l'utilisation d'un language de programmation ou d'une librairie spécifique, j'ai souvent besoin d'exemples concrets quant à l'utilisation d'une fonction/procédure. On en trouve régulièrement la description détaillée mais les exemples sont parfois difficiles à trouver.
        • [^] # Re: Il y aurait juste un probleme

          Posté par . Évalué à 3.

          Le problème est la quantité de code absolument impossible à lire sans le recours à un certain nombre de substances hallucinogènes. Si les codeurs pensaient à documenter correctement leur travail/code/interfaces on passerait pas 36h à chercher à savoir comment fonctionne une p****** de fonction.

          Je veux bien que le logiciel libre permette de reprendre le travail de quelqu'un mais quand je vois la qualité du code et de la documentation associée qui va avec je commence à avoir des doutes sur cet argument.
      • [^] # Re: Il y aurait juste un probleme

        Posté par . Évalué à 0.

        Oui mais qui te dit que le code soit disant GPL qu'on te propose n'est pas pompé des NR ?
        Je me méfierai avant d'utiliser du code (algorithmique) sans connaître un minimum la personne qui l'a développé.
    • [^] # Re: Il y aurait juste un probleme

      Posté par . Évalué à 5.

      Je pense au contraire que la sécurité par l'obscurité (http://en.wikipedia.org/wiki/Security_by_obscurity(...)) est une mauvaise pratique de développement logiciel, quelque soit le modèle ou la licence... Dans le cas des logiciels libres, c'est non seulement une mauvaise idée mais c'est en plus inutile puisque le code est public.

      Le plus néfaste avec la méthode "obscure", c'est qu'elle procure une illusion de sécurité : ceux qui peuvent utiliser des informations sensibles savent aussi les obtenir, même si elles sont très bien cachées. Cacher ces informations protège du voleur occasionnel, du "cracker" de passage et ennuie l'utilisateur légitime mais le délinquant motivé (ou bien payé) arrivera à ses fins.
      • [^] # Re: Il y aurait juste un probleme

        Posté par . Évalué à 1.

        Et ça risque même de faire faire un bond en avant pour les logiciels toujours développés :
        Il traine tout de même 21,018 strcpy et 4,656 sscanf par exemple. (seuls ces exemples de buffer overflow me viennent à l'esprit à l'instant).
        • [^] # Re: Il y aurait juste un probleme

          Posté par . Évalué à 4.

          On peut utiliser correctement strcpy et sscanf sans laisser un buffer overflow...
          • [^] # Re: Il y aurait juste un probleme

            Posté par . Évalué à 1.

            Le meilleur moyen de ne pas mal utiliser une fonction qui a des problèmes potentiels, c'est encore de ne pas l'utiliser du tout !!!
            • [^] # Re: Il y aurait juste un probleme

              Posté par . Évalué à 1.

              Et le meilleur moyen de ne pas faire d'erreur du tout, c'est de pas programmer du tout. Je suis tout à fait d'accord que tout bon editeur de texte (Emacs? ;)) devrait demander 3 fois "Avez vous bien vérifié les paramètres passés?" avant d'accepter d'ajouter un strcpy (en tout cas, s'il ne le fait pas, c'est le cerveau du devellopeur qui doit tiquer)

              Il y a des milliers de situations ou l'usage de strcpy et sscanf se justifie complétement et est le plus approprié (quand on programme en C, bien entendu).
          • [^] # Re: Il y aurait juste un probleme

            Posté par (page perso) . Évalué à 2.

            http://www.koders.com/?s=gets&_%3Abtn=Search&_%3Ala=C&_(...)

            31,314 gets /o\
            Je ne sais pas csi c'est pareil dans tous les langagues, mais gcc me dit que warning: the `gets' function is dangerous and should not be used.
            • [^] # Re: Il y aurait juste un probleme

              Posté par . Évalué à 1.

              Une ligne trouvée au hasard:
              "gets the token of expression that is divided per " " */ printf("We are now processing the following instruction:\n"); printf("%s\n", tokenPtr); stringPtr = strstr(tokenPtr,"

              -------------------------------------> []
          • [^] # Re: Il y aurait juste un probleme

            Posté par . Évalué à 4.

            Certes mais plutot que de tester si le buffer est assez grand puis de faire un strcpy, autant faire un strncpy, comme ça on s'assure de la propreté du truc, même si jamais le test se retrouve désactivé suite à un patch ou que sais-je.
            Je suis partisant du ceinture-bretelles pour ce qui est de la sécurité d'un programme.
            • [^] # Re: Il y aurait juste un probleme

              Posté par . Évalué à 2.

              Ouch ! Si la chaîne de caractères source est plus longue que la taille passée en argument, strncpy n'ajoute pas de '\0' à la fin et t'es cuit ! Pour la sécurité c'est moyen...
              • [^] # Re: Il y aurait juste un probleme

                Posté par . Évalué à 4.

                Comme quoi, il faut parfois mieux utiliser un strcpy correctement, en prenant toutes les précautions qu'utiliser un strncpy n'importe comment en croyant bien faire... Ok pour les ceintures et les bretelles, mais il ne faut pas oublier le pantalon, sinon ça ne sert à rien ;-)
                • [^] # Re: Il y aurait juste un probleme

                  Posté par . Évalué à 0.

                  Ok pour les ceintures et les bretelles, mais il ne faut pas oublier le pantalon
                  Tant qu'il reste le slip, ça va, on peut toujours s'y accrocher !
                • [^] # Re: Il y aurait juste un probleme

                  Posté par . Évalué à 4.

                  Non il vaut mieux utiliser les fonctions strlcpy et strlcat : http://www.courtesan.com/todd/papers/strlcpy.html(...)

                  C'est bizarre la glibc si prompte a ajouter des extensions non standard dans tout les sens d'habite n'a toujours pas pensée à celles ci... Pourtant des fonctions de manipulation de chaîne de caractère non trompeuses et faciles a utiliser ca changerait dans la libc !
                  • [^] # Re: Il y aurait juste un probleme

                    Posté par . Évalué à 3.

                    Ouais,... enfin, on peut aussi utiliser une lib qui fournit les types de base et les fonctions qui vont avec : la glib par exemple :)
                    Dans, ce cas, on utilise des GString ou des gchar et g_string_assign () ou les g_str* ()...

                    Maintenant, on peut aussi tout refaire à la main tout seul comme un grand...
                    • [^] # Re: Il y aurait juste un probleme

                      Posté par . Évalué à 1.

                      La glib est interessante mais ne s'adresse pas du tout au même publique ! De plus si tu n'as pas envie de reinventer la roue a chaque fois... ne code pas en C :-)

                      Je parle uniquement de remplacer des fonctions de merdes (contre intuitives, pas optimisée etc) par des fonctions qui font la même chose mais qui sont intuitives donc secure !

                      C'est un des gros problème de la libc elle porte trop le poid de son histoire pour être utilisable de manière agréable.
                      • [^] # Re: Il y aurait juste un probleme

                        Posté par . Évalué à 4.

                        De plus si tu n'as pas envie de reinventer la roue a chaque fois... ne code pas en C :-)

                        !??!!? Je ne vois pas le rapport...
                      • [^] # Re: Il y aurait juste un probleme

                        Posté par . Évalué à 0.

                        La glib est interessante mais ne s'adresse pas du tout au même publique !


                        Pourquoi ? De quel public on parle ?

                        Sinon, je suis d'accord avec ton commentaire.
  • # toto

    Posté par . Évalué à 10.

    Et on peut annoncer une nette victoire de "foo" (13000) sur "toto" (550). "oops" (2700) se classe assez bien aussi. "oooops" (19) est un peu à la traîne...

    "sucks" termine devant "fuck", qui lui-même termine devant "merde".

    Bref, on apprend beaucoup de chose sur les développeurs.

    M

    ps : il y a 26 "prouts" référencés.
    • [^] # Re: toto

      Posté par (page perso) . Évalué à 3.

      Dans le genre recherches sans intérêt, donc indispensables, vous noterez le très beau score de 1 de "anticonstitutionnellement"...

      http://www.koders.com/?s=anticonstitutionnellement&_%3Abtn=Sear(...)
    • [^] # Re: toto

      Posté par . Évalué à -4.

      Je maintiens que le système de notation des commentaires est pourri. Qui ose dire que ce post est pertinent, et non inutile ?

      Désolé morfal, j'ai rien contre, m'enfin faut admettre que si on respectait les intitulés...
      • [^] # Re: toto

        Posté par . Évalué à 2.

        Pertinament humoristique ?

        Rigoureusement inutile donc absolument indispensable ?
    • [^] # Re: toto

      Posté par . Évalué à 4.

      "bar" fait encore mieux avec 14 521 résultats ;-)
      (quoi ? qui ne connait pas le couple foo/bar :D)

      Note : ce sont 26 "prout" qui sont référencés ;-)
    • [^] # Re: toto

      Posté par (page perso) . Évalué à 1.

      Au sujet de foo.
      Comment le traduisez-vous ?

      J'ai posé la question à un copain parlant correctement l'anglais et il m'a regardé avec des yeux ronds. C'est un terme apparament (?) utilisé en informatique uniquement.
      En francais brol a une signification, je ne vois pas pq foo n'en aurait pas.
    • [^] # Re: toto

      Posté par (page perso) . Évalué à 1.

      quant au plop, il est fort peu représenté... heureusement que dacode relève un peu le niveau.
    • [^] # Re: toto

      Posté par . Évalué à 5.

      "TODO" l'emporte : 28 500 réponses !
      Bon, ben y'a encore du boulot...
    • [^] # Re: toto

      Posté par (page perso) . Évalué à 2.

      http://www.koders.com/?s=goto&_%3Abtn=Search&_%3Ala=*&_(...)
      about 23,072 results found for 'goto'

      ha oui quand même ! :-/
      • [^] # Re: toto

        Posté par . Évalué à 6.

        Un goto bien placé vaut mieux que 10 lignes de code inutiles et sources d'erreur.

        Personne n'est obligé de mettre des goto partout dans son programme mais à l'inverse c'est un outil qui répond à un besoin.
        • [^] # Re: toto

          Posté par (page perso) . Évalué à 2.

          C'est quand même Dijkstra qui le dit !

          http://www.acm.org/classics/oct95/(...)

          Sinon une recherche dur goto + harmfull renvoie pas mal de résultats.
          • [^] # Re: toto

            Posté par . Évalué à 2.

            Tu sais même les gens bien disent des conneries. D'ailleur statistiquement même eux doivent en dire plus que de choses inteligentes.

            Pour être un peu serieux replace toi dans le contexte de l'époque... "Le goto c'est le mal" est une approche aussi stupide que d'en foutre partout et de produire du code incomprehensible. C'est un outil pratique qu'il faut utiliser avec justesse.
            • [^] # Re: toto

              Posté par (page perso) . Évalué à 1.

              Je préfère de loin la direction prise par python (et sûrement d'autres langages, mais je maîtrise plus python), qui ne propose pas de goto.
              Ceux-ci sont avantageusement remplacés par les instructions continue et break, ainsi que par les blocs else: exécutés en fin de boucle si celle-ci s'est entièrement exécutée.
              • [^] # Re: toto

                Posté par . Évalué à 3.

                C'est quoi un break hormis un goto avec du sucre syntaxique qui permet d'avoir un label implicite ?

                Si tu pars sur le "goto bark caca" faut aussi virer le break et le continue pour être cohérent. Donc tu dois toujours faire de joli boucle avec des boolean pour gerer les conditions d'arret et mettre de joli if pour le continue.

                Pour faire du traitement d'erreur dans un langage ne disposant pas d'exception je suis désolé mais je vois pas plus propre/lisible que les goto (cf linux par exemple).

                Je connais pas python par contre ce qu'ils proposent m'a l'air interessant je vais aller voir.
                • [^] # Re: toto

                  Posté par . Évalué à 5.

                  > C'est quoi un break hormis un goto avec du sucre syntaxique qui
                  > permet d'avoir un label implicite ?

                  Toutes les structures de contrôle sont du sucre autour de goto si tu vas par là. Prend un while par exemple, ça se compile en gros comme ça :
                  ...
                  WHILE:
                  - faire le test
                  - saut conditionnel vers ELIHW
                  - contenu de la boucle
                  - saut inconditionel vers WHILE
                  ELIHW:
                  ...
                  L'intérêt du break est le même que celui des autres instructions affectant le flot de contrôle : se passer du goto, tellement généraliste qu'il permet de faire des trucs infâmes, et ne donner accès qu'à des patterns de plus haut niveau, bien connus et maîtrisables.

                  > Pour faire du traitement d'erreur dans un langage ne disposant
                  > pas d'exception je suis désolé mais je vois pas plus propre/lisible
                  > que les goto

                  Moi non plus, mais je vois ça comme une lacune de ces langages. Attention, je dis pas non plus qu'il faudrait un mécanisme complet d'exceptions en C... Mais par contre, avoir juste un mécanisme de sorties multiples pour les blocs aurait été une bonne chose. En gros, un pattern implémentant la seule bonne utilisation des goto à être restée en plan, mais qui ne permettrait pas pour autant les autres bidouilles infâmes.
              • [^] # Re: toto

                Posté par . Évalué à 4.

                Je préfère de loin la direction prise par python (et sûrement d'autres langages, mais je maîtrise plus python), qui ne propose pas de goto.

                Mais yield permet certainement de joyeuses finesses.
                Comme de faire des microthreads :
                http://www-106.ibm.com/developerworks/linux/library/l-pythrd.html(...)

                La version Stackless de Python permet quant à elle les continuations, qui ne sont rien de plus qu'un goto avec un environnement attaché autour (et qui ne sont pas sans rappeler le célèbre COME FROM d'Intercal) :
                http://www.stackless.com/spcpaper.htm(...)
        • [^] # Re: toto

          Posté par . Évalué à 1.

          Rah, c'est avec des arguments comme ça qu'on finit par programmer en C !
          Non mais, je vous jure !

          ( ~~~~~~> { } discretos )
    • [^] # Re: toto

      Posté par . Évalué à 1.

      le gagant n'est pas "foo", mais "dummy" avec 14,393 réponses
  • # Premier utilisateur

    Posté par (page perso) . Évalué à 10.

    Et à qui va faire le plus plaisir ce genre de moteur de recherche ? A notre ami SCO bien sûr ! :)
  • # Licences opensources ???

    Posté par . Évalué à 4.

    Y'a pas la licence BSD dans la liste des licences possibles....

    "Attention chérie, a va troller"....
  • # Dommage... pas d'Objective-C

    Posté par . Évalué à 4.

    Pas mal du tout, ça peut être un outil très puissant...

    dommage qu'il ne propose pas l'Objective-C...
    • [^] # Re: Dommage... pas d'Objective-C

      Posté par . Évalué à 3.

      Tu peux leur envoyer un message pour leur faire remarquer. Je ne sais pas si c'est utile, mais je leur en ai envoyé un réclamant les makefiles et ils m'ont répondu dans la journée.
  • # .. et del.icio.us

    Posté par (page perso) . Évalué à 1.

    J'ajoute le lien dans mes bookmarks ... et je constate l'effet linuxfr sur del.icio.us ... 124 autres personnes ont fait le même bookmark et principalement hier (9-1/11) et aujourd'hui (9/11).

    Linuxfr n'a donc plus rien a envier à /. ^^
  • # Windows 2003 Server, ASPX, Microsoft-IIS/6.0, ...

    Posté par (page perso) . Évalué à 5.

    Un modele d'ouverture et de reutiliser de code OpenSource : http://uptime.netcraft.com/up/graph?site=http%3A%2F%2Fwww.koders.co(...)
  • # Code source Windows

    Posté par . Évalué à 2.

    A quand le code source de windows??? loool (oui je sais qu'on trouve de trés gros extrait sur le p2p...)

    Non plus serieusement, c'est géniale ce petit robot. Franchement on peut vraiment gagner du temps. A une condition, COMMENTEZ VOS CODES. Car bien souvent les programmeur ne commente pas leur code. Mais il ne pense pas que dans 6 mois, leur super trucs qu'ils ont trouvé pour coder une partie de leur logiciel serras incomprehenssible car il ne se souviendront plus de la supe astuce qu'ils on utilisé. Et si l'erreur venait du genie qu'ils avait eu à coder comme cela et ben il l'ont dans le...

    Alors pitié commentez pour eux qui debute (presque) comme moi.
    • [^] # Re: Code source Windows

      Posté par . Évalué à 3.

      Ce n'est pas seulement pour retrouver l'astuce alakon d'il y a un an. Ca c'est pas "tres" grave. Hier j'ai trouvé un projet tres bien, nommé Jaxe (un editeur XML). Par contre je le trouvais pas tres au point et j'y aurait bien fait 2/3 modifs.

      Je choppe les sources (en Java) et la : pas de doc du code ni de l'archi, code en franglais. Et bien c'est simple je vais pas passer 2 mois a essayer de comprendre comment ca marche donc ils ont peut etre perdu un contributeur....

      Si on veut que des gens rejoingnent un projet faut s'en donner les moyens, mais y'a pas grand monde de motivé pour comprendre a quoi servent les 250 classes du projet et comment tout ca fonctionne.
      • [^] # Re: Code source Windows

        Posté par . Évalué à 3.

        Ouaip, c'est un truc que je ne comprends toujours pas c'est qu'il semble que personne ne documente jamais l'architecture de son projet.

        Je n'ai jamais trouvé un seul petit diagramme (fonctionnel, de classes ou autres) qui explique comment le bouzin est censé fonctionner.

        Pour les nouveaux contributeurs, la méthode utilisée en général, ça doit être : « use the code ». Ensuite on passe sur IRC pour poser tout un tas de questions très utiles (où est-ce qu'on fait ça ? comment je change ça ? ...). Questions qui doivent finir par énerver quand même...

        Et ça, c'est pour les nouveaux contributeurs. Pour les anciens, je me demande comment ils font pour s'y retrouver ! Ils ne préparent pas avant ? Ils codent en direct ?
        Si c'est ça, c'est beau la confiance en soi... et merci bugzilla.
  • # Ça marche super ce truc !

    Posté par . Évalué à 1.

    Je me suis dit : comment qu'on utilise KABC (en C++/KDE) ?
    Je regarde dans Koders : KABC pas trouvé.
    Je cherche #include <kabc/addressbook.h> et il me sort...
    An internal error occurred. We are sorry for any inconvenience.
    Vous pouvez essayer #include tout seul ça marche
    Mais dès qu'il y a un truc qui ressemble à de la balise html, quedal !

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.