alf a écrit 255 commentaires

  • [^] # Re: heeuuu

    Posté par  . En réponse au journal Sortie de biniou 0.1.1. Évalué à 1.

    à mon humble avis, la concentration de fichiers illégaux n'est pas aussi importante que tu le dis : hé ouais, le porno, c'est légal :)
    Bon y'a aussi des ng d'humours, de fonds d'écrans, etc.
    C'est légal, tant que les ayant droit des fichiers distribués ont donné leur autorisation...
  • # Problème de programmation C

    Posté par  . En réponse au message warning: cast from pointer to integer of different size. Évalué à 2.

    1) Quand on écrit des liens URL dans les messases de linuxfr, il faut faire attention à détacher toute ponctuation du lien; la parenthèse fermante et le point accolés à ton lien le rendent invalide ( http://linuxfr.org/forums/14/16571.html ).

    2) Il s'agit d'un problème de programmation C. Je n'ai pas réussi à voir les sources (d'après le rapport de compilation, c'est le plugin VC qui plante, je ne l'ai pas trouvé sur le site); mais le message est clair: les gens qui ont codé ce plugin ont, à plusieurs moments, fait un cast d'une valeur de type pointeur vers un type entier qui n'est pas assez grand.
    En pratique, ça peut ressembler à:
    float f = 5.0f;
    float *p = &f
    int i;
    i = (int) p;

    La conversion entre un pointeur et un type entier est, au sens de la norme C, implementation-defined, ce qui veut dire que le résultat d'une telle conversion peut varier d'une plate-forme à une autre.

    En particulier, le domaine de valeurs d'un type pointeur peut ne pas entrer dans le domaine de valeurs d'un type entier arbitraire; il peut y avoir plus de valeurs possibles pour un float* que pour un int sur une machine, pour reprendre mon exemple (je ne sais pas si ça existe, c'est juste un exemple de ce qui peut arriver), donc il y aura une perte d'information possible; d'où l'avertissement que t'envoie ton compilateur.

    La solution propre serait de ne pas faire de cast entre valeur de type pointeur et un type entier. Cela augmenterait largement la portabilité du code. Mais, si cela est trop difficile, ou risque de casser une interface quelconque (ce qui montrerait, AMHA, une erreur de conception assez grosse), il y a une autre solution: utiliser un type entier adapté à ce genre de choses. La norme C99 définit les types optionels intptr_t et uintptr_t (7.18.1.4 du n1124.pdf) qui sont faits exactement pour ça... La norme garantit que, quand l'implémentation les fournit, les conversions void* -> [u]intptr_t -> void* se font sans perte(*).

    Par ailleurs, les tailles (ou plus précisément les domaines de valeurs) des types pointeurs ne sont pas contraintes, ce qui fait qu'un pointeur void* n'a pas forcément la même taille qu'une pointeur sur int*, par exemple... Il faut donc faire attention à ne caster que du void* vers les [u]intptr_t.

    (*) Plus précisément, la norme ne garantit qu'une comparaison entre le résultat de la conversion void* -> [u]intptr_t -> void* et la valeur de départ renverra une égalité. (i.e. p == (void*)(intpre_t) p , si p est de type void*).
  • # Ce n'est pas tout à fait ça, mais...

    Posté par  . En réponse au message linux sur partition FAT et USB. Évalué à 0.

    ...http://imil.net/nlk/ permet de booter un NetBSD sur une clé USB en VFAT. Note que ce projet en est encore à ses débuts (merci GCU-Squad).
    En ce qui concerne Linux, je ne suis pas au courant...
  • [^] # Re: meuh

    Posté par  . En réponse au journal Shake : secouez vos fichiers, c'est pour leur bien !. Évalué à 0.

    Ok. Evidemment, si tu ne travailles pas sur des chaînes terminées par '\0', ça a plus de sens.

    Au passage, une rapide recherche me dit que memmem() a été ajoutée à la libc de NetBSD 3.0 (http://netbsd.gw.com/cgi-bin/man-cgi?memmem+3+NetBSD-3.0 ) et qu'elle existe dans celle de FreeBSD (par contre, pour connaître la version de FreeBSD à partir de laquelle elle a été implémentée, je te laisse chercher).
  • [^] # Re: meuh

    Posté par  . En réponse au journal Shake : secouez vos fichiers, c'est pour leur bien !. Évalué à 0.

    Corollaire, est-ce que memmem est utilisable sous *BSD[1] ?

    strstr() est C ISO et fait quasiment la même chose; pourquoi ne pas l'utiliser ? POSIX doit aussi définir des fonctions de recherche de chaînes, il me semble, mais je ne les ai pas en tête.
  • [^] # Re: meuh

    Posté par  . En réponse au journal Shake : secouez vos fichiers, c'est pour leur bien !. Évalué à 2.

    strdupa(3) n'existe pas sous *BSD mais en C99 c'est un peu inutile puisqu'on peut utiliser des tableaux de taille inconnue à la compilation sur la pile (il fait l'alloca(3) tout seul).

    Les tableaux de longueur variable (ou variable-length arrays, VLA) sont en effet une nouvelle fonctionnalité du C99, mais il faut noter que le support de GCC pour cette fonction est broken, dixit http://gcc.gnu.org/gcc-4.1/c99status.html . A utiliser avec prudence, donc...

    Si l'implémentation de malloc() est telle que les perf sont mauvaises, pourquoi ne pas utiliser un gestionnaire de mémoire intermédiaire ? La glibc implémente "obstacks" ( http://www.gnu.org/software/libc/manual/html_node/Obstacks.h(...) ). Une recherche rapide ("memory pool C") me donne aussi http://www-128.ibm.com/developerworks/linux/library/l-memory(...) qui donne plein de liens, dont la bibliothèque Apache http://apr.apache.org/docs/apr/group__apr__pools.html . Ca serait sûrement beaucoup plus portable que alloca ou strdupa().
  • [^] # Re: double simple-quote

    Posté par  . En réponse au message spool avec oracle. Évalué à 0.

    Ta première solution est correcte : il faut bien doubler les apostrophes qui apparaissent dans des commandes SQL, ainsi que dans les commandes PL/SQL d'Oracle. La deuxième est plus lourde, mais devrait marcher aussi; je ne pense pas que la troisième marcherait (la guillemet n'est pas un caractère délimiteur de chaînes de caractères, même sous Oracle, à ce que j'en sais).
  • [^] # Re: ansi

    Posté par  . En réponse au message ltoa : n'a pas été déclaré dans cet horizon.. Évalué à 0.

    Pas forcément besoin de sprintf() si tu veux juste travailler en base 10; mais il est vrai qu'il est préférable de réutiliser la bibliothèque standard dès que possible (on perd (peut-être) un peu en perf ce qu'on gagne (sûrement) en robustesse).
    Pour éviter les débordements de tampon, tu peux aussi utiliser snprintf() (ou faire un malloc() de la bonne taille).

    Sinon, si tu aimes réinventer la roue: http://mail.gnome.org/archives/gtk-app-devel-list/2004-Septe(...)
    ou http://www.jb.man.ac.uk/~slowe/cpp/itoa.html
  • [^] # Re: [HS] Mais j'en ai un peu marre ....

    Posté par  . En réponse à la dépêche Une pile Wi-Fi améliorée pour le noyau Linux ?. Évalué à 0.

    Désolé si mon dernier post t'a blessé. Je vois tellement de fautes plus ou moins volontaires, ou carrément de "langage sms" sur internet (fora, blogs ou autres) et ailleurs (au boulot...) que je finis par réagir un peu vite... et oublie parfois de prendre des gants, et de penser que la personne à l'autre bout de l'internet a peut-être réellement des problèmes d'orthographe, et non une flemme doublée d'un j'm'en-foutisme du genre "pourkoi ecrire bien si on compend se que j'écrit" (le deuxième cas me semblant plus répandu que le premier, au moins dans certains fora).

    Tu dis que ton mémoire est pour la fin de l'année dernière; dans ce cas, tes professeurs ont dû le lire depuis, non ? (ou alors c'est moi qui ai raté un truc) Je vais voire ça, ça m'a l'air intéressant...

    PS: et dire que tout cette discussion a commencé avec la sortie d'une pile WiFi pour Linux... ;)
  • [^] # Re: [HS] Mais j'en ai un peu marre ....

    Posté par  . En réponse à la dépêche Une pile Wi-Fi améliorée pour le noyau Linux ?. Évalué à 1.

    question philosophique aussi : [ Il manque une majuscule au début de la phrase. ]

    Pourquoi utiliser des anglissisme, ce serait mal ? [ "anglicismes", un c, et un s final pour le pluriel. ]
    Pourquoi il faudrais se démarquer en tant que français. [ Il faut un "t" à "faudrais", un point d'interrogation à la fin d'une phrase interrogative, et l'inversion du sujet. ]

    Moi il y a un truc qui me fait bien plus chier que les anglissime [ idem anglicismes], c'est que sur notre terre [ majuscule ? ] il y a une quantitée [ sans e final ] incalculable de langues et j'en comprend [ "je n'en comprends" ] presque aucune à une ou deux exeptions [ "exceptions", avec un "c" ] près. Je trouverai ça [ Un "s" au conditionnel, à moins que tu ne parles au futur, mais j'en doute. ] si chouette si je pouvait [ avec un "s" ] aller nimporte [ Avec l'apostrophe ] où et pouvoir parler aux gens. On a déja pleins [ "Plein" est invariable, sans "s". ] de barrières entre les pays, alors bon sang, quand il y a des mots qui pourrait [ Au pluriel, "pourraient". ] être identiques dans plusieurs langues, pourquoi diable se vanter de s'empresser à les rendre incompréhenssible [ "incompréhensibles", un seul "s" au milieu et un à la fin. ] aux étrangers ?

    Moi je suis pour les anglissisme [ Et de trois...] , et pareil pour les autres langues si il y a [ Il faut éluder: "S'il y a". ] un mot qui existe pas [ "n'existe pas" ] en français quel [ "quelle" ] est l'utilitée [ sans "e" ] de le franciser ?
    A part dire moi je suis fier d'être français [ Des guillemets autour d'une citation ne seraient pas de trop... ], de parler français et surtout de pas parler étranger,["de ne pas" ] hé ben je vois pas moi... ["je ne vois pas"

    Et je n'ai pas signalé les erreurs de ponctuations...
    Je suis pour que les gens parlent plusieurs langues, mais au moins qu'ils les parlent (et écrivent) bien ! Ou, au moins, du mieux qu'ils le peuvent...
  • [^] # Re: tu prends des risques là ?

    Posté par  . En réponse au journal American dream. Évalué à 1.

    En fait le seul point un peu complexe c'est sur l'impératif, on écrit "mange !", et c'est la deuxième personne du singulier et c'est sans "s".

    Et une mère donnant du pain à son enfant, lui disant: "manges-en !", tu en penses quoi ? ;)
    (Pour ceux qui n'auraient pas suivi: impératif présent d'un verbe du premier groupe à la deuxième personne du singulier, et j'ai bien mis un "s" pour la liaison.)

    Par contre si on écrit "maintenant, tu manges !" aussi sur un ton impératif et tout, je crois que c'est juste du présent simple en fait, donc le "s" est là...

    Parfaitement (et c'est le présent simple de l'indicatif, pour être pécis).

    Gros pinaillage d'exception tordue mis à part, je suis tout à fait d'accord avec toi; ça m'irrite les yeux et les neurones quand je vois des fautes d'orthographe ou de grammaire (tout en sachant que j'ai un problème personnel avec le subjonctif, il faudrait que je relise mon Bescherelle), ou du franglais.
  • [^] # Re: tu y es presque ... à coté

    Posté par  . En réponse au message Lancer deux (ou plusieurs) distributions. Évalué à 1.

    En relisant mon premier post, je me rends compte que je n'étais pas clair, en fait...

    Je suis tout à fait d'accord avec toi, la seule méthode pour faire ce qu'il veut, c'est la virtualisation. Je notais juste qu'en dehors de Xen et Qemu, qui sont des technologies de virtualisation "génériques" (peut-on dire "portables" dans cette situation ?), il existait aussi une techno "pure Linux" comme UML qui faisait ce qu'il veut (faire tourner un Linux au-desus d'un Linux).

    D'ailleurs, même si le problème (fondamental) de l'accès concurrent aux ressources par les 2 (ou n) noyaux ne se posait pas, et UML mis et part, il resterait que le noyau Linux est fait pour tourner directement au-dessus du matériel, pas en tant que processus au-dessus d'un autre noyau (ou même en thread supplémentaire d'un noyau existant).

    D'où les différentes solutions qui existent déjà:
    - patcher Linux pour qu'il tourne comme un processus utilisateur au-dessus de Linux (UML);
    - créer une plate-forme intermédiaire sur laquelle on pourrait faire fonctionner parallèlement plusieurs noyaux adaptés à cette nouvelle plate-forme (Xen);
    - émuler une architecture matérielle en mode utilisateur sur laquelle un noyau non patché peut tourner (Qemu, et plein d'autres).

    Il est possible que d'autres solutions existent (quoiqu'à première vue je ne vois pas d'autres méthodes que les 3 que j'ai citées), mais je suis d'accord que chroot/kexec ne semble pas pouvoir y arriver.
  • [^] # Re: Gni?

    Posté par  . En réponse au journal L'opendocument décroche l'iso. Évalué à 1.

    Non: les documents de l'ISO sont payants. En farfouillant la FAQ de l'ISO [1], voilà:
    2.21 Les normes ISO ne sont pas gratuites, pourquoi ?
    L'élaboration, la publication et la diffusion des normes ISO sont onéreuses. Il faut par conséquent trouver de l'argent pour les financer. Le système en vigueur qui demande aux utilisateurs de payer pour les normes qu'ils utilisent, permet non seulement de contribuer au soutien du processus d'élaboration, mais il garantit aussi, et surtout, l'équilibre entre les intérêts en jeu, notamment entre les secteurs gouvernementaux, privés et le public en général.


    Et, en passant [2]:
    Tous droits réservés. Le matériel publié sur ISO Online est sujet aux mêmes conditions en matière de droits d’auteur que les publications de l’ISO et son emploi est conditionné par l’acceptation, par l’utilisateur, des conditions de l’ISO en matière de droits d’auteur régissant les publications de l’ISO, telles qu’énoncées ci-dessous. Toute utilisation du matériel concerné, y compris sa reproduction intégrale ou partielle vers un autre site Internet, requiert l’autorisation écrite de l’ISO.

    Toutes les publications de l’ISO sont protégées par le droit d’auteur. Par conséquent, sauf prescription différente, aucune partie d’une publication de l’ISO ne peut être reproduite ni utilisée sous quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie et les microfilms, sans l’accord écrit de l’éditeur.

    Toute demande à cet effet doit être adressée au Secrétariat central de l'ISO


    Note que les groupes de travail des normes possèdent les droits sur les brouillons des normes qu'ils élaborent, alors que l'ISO a les droits sur la norme en elle-même. C'est ce qui permet d'avoir des brouillons de la norme ISO C disponibles en ligne (tous les groupes de travail n'agissent pas forcément ainsi, note).

    [1] http://www.iso.org/iso/fr/faqs/faq-general.html
    [2] http://www.iso.org/iso/fr/xsite/copyright.html
  • [^] # Re: .

    Posté par  . En réponse au message installation freenet, probléme. Évalué à 1.

    Je ferais la même chose.

    La doc de freenet http://www.freenethelp.org:14741/MaxDirectMemorySize explique qu'il s'agit d'un paramètre optionel pour ajuster les performances.
  • # www.faismesdevoirs.com

    Posté par  . En réponse au message po compris projet. Évalué à 2.

    Bah non, ici c'est linuxfr.org...

    Quel est le point qui vous bloque ? La compréhension du sujet, l'algorithme à utiliser, les structures de données, l'implémentation ? Où en êtes-vous rendus ?

    Si vous avez des questions précises, posez-les et on essayera de vous répondre au mieux, en corrigeant vos erreurs si on en voit ; sinon peu de gens auront envie de faire TOUT votre travail à votre place.

    Et, par ailleurs, après avoir feuilleté le sujet, ce problème ne devrait pas être insurmontable pour un étudiant en filière informatique en fin de deuxième année... Un peu de courage, que diable !

    Pour finir, est-il interdit de poser des questions à vos professeurs quand vous êtes bloqués, ou si une partie du cours vous est difficile ? A voir le commentaire
    Si vous n'arrivez pas à programmer la totalité de ce qui est demandé, surtout pas de découragement ; un travail personnel inachevésera largement plus apprécié qu'un travail fini mais copie conforme de celui des voisins !
    j'ai l'impression que ces profs ne sont pas méchants... Ils ne vous jettent pas quand vous allez les voir, non ?
  • [^] # L112-5 du code de la propriété intellectuelle

    Posté par  . En réponse au message Enregistrer de la radio diffusée en streaming, légal ou pas?. Évalué à 1.

    Disclaimer: Ce qui suit est du droit français; pour les francophones non-français, merci de préciser si votre situation est différente, ça m'intéresse ;)

    Concernant l'audio-visuel, il y a le fameux droit à la copie privé (un peu chahuté ces temps-ci).
    Ce droit n'existe pas que dans le cadre de l'audiovisuel (cf. plus bas le L112-5 2°).

    Concernant les site Web c'est idem : à moins qu'il y ait une mention explicite de l'auteur, le contenu lui appartient, donc pas le droit de copier (et diffuser).
    Idem en effet, le support web n'a pas de législation différente concernant le CPI à ma connaissance; seul le type d'oeuvre (texte, photo, vidéo...) est important.

    Il y a une tolérance de niveau "droit de citation" je crois.
    Exact: L112-5 3°.

    http://legifrance.gouv.fr/WAspad/VisuArticleCode?commun=CPRO(...)
    CODE DE LA PROPRIETE INTELLECTUELLE (Partie Législative)
    [...]
    Chapitre II : Droits patrimoniaux
    [...]
    Article L122-5

    Lorsque l'oeuvre a été divulguée, l'auteur ne peut interdire :
    1º Les représentations privées et gratuites effectuées exclusivement dans un cercle de famille ;
    2º Les copies ou reproductions strictement réservées à l'usage privé du copiste et non destinées à une utilisation collective, à l'exception des copies des oeuvres d'art destinées à être utilisées pour des fins identiques à celles pour lesquelles l'oeuvre originale a été créée et des copies d'un logiciel autres que la copie de sauvegarde établie dans les conditions prévues au II de l'article L. 122-6-1 ainsi que des copies ou des reproductions d'une base de données électronique;
    3º Sous réserve que soient indiqués clairement le nom de l'auteur et la source :
    a) Les analyses et courtes citations justifiées par le caractère critique, polémique, pédagogique, scientifique ou d'information de l'oeuvre à laquelle elles sont incorporées ;
    b) Les revues de presse ;
    c) La diffusion, même intégrale, par la voie de presse ou de télédiffusion, à titre d'information d'actualité, des discours destinés au public prononcés dans les assemblées politiques, administratives, judiciaires ou académiques, ainsi que dans les réunions publiques d'ordre politique et les cérémonies officielles ;
    d) Les reproductions, intégrales ou partielles d'oeuvres d'art graphiques ou plastiques destinées à figurer dans le catalogue d'une vente judiciaire effectuée en France pour les exemplaires mis à la disposition du public avant la vente dans le seul but de décrire les oeuvres d'art mises en vente.
    Un décret en Conseil d'Etat fixe les caractéristiques des documents et les conditions de leur distribution.
    4º La parodie, le pastiche et la caricature, compte tenu des lois du genre.
    5º Les actes nécessaires à l'accès au contenu d'une base de données électronique pour les besoins et dans les limites de l'utilisation prévue par contrat.


    PS: tiens, c'est marrant, la formulation du 4°... "compte tenu des lois du genre." Ils veulent faire référence à des textes législatifs particuliers pour ces 3 cas, ou c'est une manière de dire que "par sa nature, la parodie ne peut exister sans droit de citation" (formulation personnelle) ?
  • [^] # Re: tu y es presque ... à coté

    Posté par  . En réponse au message Lancer deux (ou plusieurs) distributions. Évalué à 1.

    Note aussi que, dans le cas précis du noyau Linux, il existe User-Mode Linux, pour faire tourner directement un Linux au-dessus d'un Linux.
    Le site du projet: http://user-mode-linux.sourceforge.net/
    Un tuto pour Debian que je viens de trouver: http://www.debian-administration.org/articles/48
  • [^] # Re: En cas de doute, Légifrance...

    Posté par  . En réponse au message Enregistrer de la radio diffusée en streaming, légal ou pas?. Évalué à 0.

    Plus simplement, je dirais que, s'il était interdit de procéder à des enregistrements privés d'émissions diffusées sur des radio streaming en accès public, ce devrait être interdit aussi pour les "vraies" radio, ou la télévision, i.e. interdiction d'enregistrer la télé avec ton magnéto, par exemple... or, aux dernières nouvelles, la plupart des pays l'autorisent encore.
    Le seul point à vérifier, c'est que la source est légale; si elle ne l'est pas, l'enregistrer devraît être illégal (enfin bon, je ne suis pas avocat à la cour, donc mes élucubrations sont à prendre avec des pincettes et legifrance sous le coude).
  • # Un essai en sql propre...

    Posté par  . En réponse au message Problème de jointure multiple. Évalué à 3.

    SELECT A.*, B.MET_ID,B.MET_LIB, H.FCT_ID, C.FCT_LIB
         , D.CT_ID,D.CT_LIB,J.CT_VALIDE
         , E.TYP_ID,E.TYP_LIB, F.NOTFCT_VAL, I.SER_LIB
    FROM   COLLABORATEURS A 
           LEFT OUTER JOIN LI_COL_MET G
              ON A.COL_ID=G.COL_ID
           LEFT OUTER JOIN METIERS B
              ON G.MET_ID=B.MET_ID
           LEFT OUTER JOIN LI_COL_FCT H
              ON A.COL_ID=H.COL_ID
           LEFT OUTER JOIN FONCTION C
              ON H.FCT_ID=C.FCT_ID
           LEFT OUTER JOIN SERVICE I
              ON A.SER_ID = I.SER_ID
           INNER JOIN LI_COL_CT_FCT F
              ON (A.COL_ID = F.COL_ID AND F.MET_ID = B.MET_ID)
           INNER JOIN COMPETENCES_TECH D
              ON F.CT_ID  = D.CT_ID
           INNER JOIN LI_MET_TYP_CT J
              ON (J.CT_ID  = D.CT_ID AND J.MET_ID = G.MET_ID)
           INNER JOIN TYPE_CT E
              ON J.TYP_ID = E.TYP_ID
    ORDER BY A.COL_NOM ASC 
           , C.FCT_LIB ASC
           , E.TYP_LIB ASC
           , J.CT_VALIDE DESC
           , D.CT_LIB ASC;
    
    Note que les conditions de jointure dans ta requête de départ
    (a.col_id=g.col_id(+) and g.met_id=b.met_id(+))
    et
    f.col_id=a.col_id and f.met_id=b.met_id
    se contredisent : la première fait qu'on peut garder, pour la table B, des lignes "vides" (jointures externes), alors que la deuxième impose que b.met_id soit non nul... Tu peux imposer directement une jointure interne entre B et G, au lieu d'une jointure externe, tu pourrais gagner un peu en perf, et surtout en cohérence... et, du coup, aussi une jointure interne entre A et G. Par ailleurs, les "SELECT table.*" sont à proscrire en règle générale (à l'exception, peut-être, d'applications du genre phpPgAdmin):
    1. quelqu'un qui arrive après devra regarder le schéma complet de la table pour connaître toutes les colonnes que tu appelles ainsi
    2. Oracle te renvoie toutes les colonnes, alors que tu n'en as peut-être pas besoin -> perte de perf
    3. si tu changes le schéma de la table (ajout de colonnes), alors la requête les enverra aussi (cf. 2)
    4. Oracle doit déterminer lui-même la liste des colonnes -> perte de perf par rapport à une requête où tu listes explicitement les colonnes.
  • [^] # Re: GNU - FAQ and HOWTO

    Posté par  . En réponse au message Legislation pour la propriété de logiciel. Évalué à 1.

    Le terme "copyright" et ce qu'il recouvre fait partie du droit en vigueur aux USA, il vaut mieux (comme tu l'as fait) utiliser le terme "droit d'auteur". Chaque juridiction ayant ses particularités sur les questions de propriété intellectuelle, et les questions légales étant souvent complexes, il faut de préférence se renseigner auprès de juristes spécialistes de ces domaines.
    Pour ce qui est du droit français concernant la paternité de l'oeuvre, il existe le "droit moral", cf. http://fr.wikipedia.org/wiki/Droit_moral pour un début d'information. Selon cet article (je n'ai pas vérifié les articles de loi officiels):
    Enfin, selon l'article L 121-1 al. 2 du CPI, le droit moral est perpétuel, imprescriptible et inaliénable. Ainsi, il ne peut pas être cédé et il peut être exercé par l'auteur lui-même, ou par ses ayants-droit, sans limitation de durée.

    Pour respecter le droit moral de l'auteur d'une ½uvre entrée dans le domaine public, il suffit de citer le nom de l'auteur et le titre de l'½uvre utilisée.


    Pour ce qui est des licences logicielles, bah c'est pareil, certaines choses peuvent dépendre de la juridiction (étonnant, non ?). Par exemple, la licence libre CeCILL a été créée par des organismes français pour être à la fois compatible avec la GPL et respecter le droit français ( http://fr.jurispedia.org/index.php/Licence_CeCILL_(fr) pour plus d'informations) (*).


    (*) Je ne prétend pas qu'elle résoud ces problèmes, je ne suis pas juriste spécialisé en propriété intellectuelle; je ne veux pas non plus lancer un troll GPL <> CeCILL. Je veux juste signaler qu'il peut être difficile pour un non initié de s'y retrouver dans des textes de loi...
  • [^] # Re: En même temps...

    Posté par  . En réponse au journal Le logiciel libre, ça n'existe pas!. Évalué à 1.

    ...rien qu'en arrivant sur la page on a une idée d'où on est tombé : Une énorme pub pour le numéro de racket^M^Mrenseignments avec deux gars qui danse sur du Véronique et Davina

    Bah alors, t'as oublié de configurer ton AdBlock ?
  • [^] # Re: s/alex/axel/

    Posté par  . En réponse au message Pour alex à 20:40:51 sur la tribune. Évalué à 0.

    En complément, la doc Oracle pour la version 9i indique bien les point-virgule comme obligatoires pour toutes les commandes que j'ai regardées...
  • [^] # Re: s/alex/axel/

    Posté par  . En réponse au message Pour alex à 20:40:51 sur la tribune. Évalué à 1.

    J'ai pas trouvé de document officiel décrivant le SQL, si vous en avez je suis preneur !

    Il est vendu par l'ISO au prix de CHF 352,00 (je te laisse faire la conversion dans ta devise locale) sur la page:
    http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetai(...)

    Sinon, il me semble effectivement que la norme demande un point-virgule à la fin de chaque commande. Un paquet d'implémentations acceptent des codes sans le point-virgule, mais j'en ai vu qui le demandent (pour être précis, Sql*Plus, un client Oracle). Je ne connais pas le statut officiel, n'ayant pas de copie de la norme à disposition.
  • # Jointure externe

    Posté par  . En réponse au message Traduction de requêtes Oracle vers PostgreSQL. Évalué à 1.

    Pour le premier pas, d'après ce que j'ai compris (d'après quelques docs), il est équivalent de faire une jointure gauche :

    Exactement.

    En citant le lien que tu donnes toi-même:
    Outer Joins work as follows:

    select a.field1, b.field2
    from a, b
    where a.item_id = b.item_id(+)

    where the (+) indicates that, if there is no row in table b that matches the correct item_id, the match should still happen, with an empty row from table b. In this case, for example, for all rows in table a where there is no matching row in b, a row will still be returned where a.field1 is correct, but b.field2 is null.

    En français, il s'agit d'une jointure externe. Ce qui signifie que si tu as, dans ta table A:
    item_id | field1  
    ------------------
    1       | 'aze'
    2       | 'rty'

    et dans la table B
    item_id | field2  
    ------------------
    1       | 13

    La requête renverra
    field1 | field2  
    -----------------
    'aze'   | 13
    'rty'   | NULL

    I.e. la requête prend toutes les lignes de la table dont le champ ne porte pas le (+) dans la requête et, pour chacune:
    - si aucune ligne dans l'autre table ne correspond (aucune ligne de B n'a d'item_id égal à celui de la ligne de A concernée), alors on utilise une "ligne vide" pour B (toutes les colonnes de B seront à NULL);
    - si au moins une ligne de B correspond, le résultat de la requête aura autant de lignes.

    D'après cela, tu comprends pourquoi placer le (+) à gauche ou à droite de la condition de jointure change les résultats...

    La syntaxe avec le (+) est une "extension" au SQL fournie par Oracle; l'équivalent en pur SQL normalisé est:
    select a.field1, b.field2
    from a left outer joint b on a.item_id = b.item_id


    Voir http://sqlpro.developpez.com/cours/sqlaz/jointures/ pour plus d'information sur les jointures (paragraphe 2.3 pour les jointures externes). Plus généralement, le site de Sqlpro est ma référence pour tout ce qui est SQL portable (sinon, voir la doc de ton implémentation pour les spécificités).
  • [^] # Re: Quelle est la question ?

    Posté par  . En réponse au message question. Évalué à 1.

    Il me semble que le livre détaillant la norme du c++ n'est pas librement disponible en téléchargement.

    C++ est défini au niveau de l'ISO. Les normes éditées par l'ISO sont leur propriété, et ils ont décidé de ne pas les laisser en téléchargement gratuit. Elles peuvent néanmoins être achetées, en version papier ou électronique, en différents endroits et pour des prix sûrement très variés(il faut chercher un peu, je ne sais pas où exactement).

    Celà dit, le groupe de travail qui définit la norme C++ distribue peut-être des documents sur leur site http://www.open-std.org/JTC1/SC22/WG21/ . Pour le langage C, le groupe de travail distribue les brouillons, pour lesquels ils possède les droits. Peut-être le WG21 le fait-il aussi ?