bunam a écrit 372 commentaires

  • [^] # Re: et Objective-C?

    Posté par  . En réponse au journal swift 2 sera open source. Évalué à 7.

    Je crois qu'il est facile de confondre le langage Objective-C avec les classes/API qui font sa force et qui ne sont disponibles que sur Mac ou iOS.

  • [^] # Re: pure bash et un peu long

    Posté par  . En réponse au journal Lire de fichiers de configuration depuis un script shell. Évalué à 1.

    Je pense être le seul à répondre au problème : shell et config type ini ;p

  • # pure bash et un peu long

    Posté par  . En réponse au journal Lire de fichiers de configuration depuis un script shell. Évalué à -1.

    j'ai utilisé

    #
    # Copyright (c) 2009    Kevin Porter / Advanced Web Construction Ltd
    #                       (http://coding.tinternet.info, http://webutils.co.uk)
    # Copyright (c) 2010-2012     Ruediger Meier <sweet_f_a@gmx.de>
    #                             (https://github.com/rudimeier/)
    #
    # Simple INI file parser.
    #
    # See README for usage.
    #
    #
    
    function read_ini()
    {
        # Be strict with the prefix, since it's going to be run through eval
        function check_prefix()
        {
            if ! [[ "${VARNAME_PREFIX}" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]] ;then
                echo "read_ini: invalid prefix '${VARNAME_PREFIX}'" >&2
                return 1
            fi
        }
    
        function check_ini_file()
        {
            if [ ! -r "$INI_FILE" ] ;then
                echo "read_ini: '${INI_FILE}' doesn't exist or not" \
                    "readable" >&2
                return 1
            fi
        }
    
        # enable some optional shell behavior (shopt)
        function pollute_bash()
        {
            if ! shopt -q extglob ;then
                SWITCH_SHOPT="${SWITCH_SHOPT} extglob"
            fi
            if ! shopt -q nocasematch ;then
                SWITCH_SHOPT="${SWITCH_SHOPT} nocasematch"
            fi
            shopt -q -s ${SWITCH_SHOPT}
        }
    
        # unset all local functions and restore shopt settings before returning
        # from read_ini()
        function cleanup_bash()
        {
            shopt -q -u ${SWITCH_SHOPT}
            unset -f check_prefix check_ini_file pollute_bash cleanup_bash
        }
    
        local INI_FILE=""
        local INI_SECTION=""
    
        # {{{ START Deal with command line args
    
        # Set defaults
        local BOOLEANS=1
        local VARNAME_PREFIX=INI
        local CLEAN_ENV=0
    
        # {{{ START Options
    
        # Available options:
        #   --boolean       Whether to recognise special boolean values: ie for 'yes', 'true'
        #                   and 'on' return 1; for 'no', 'false' and 'off' return 0. Quoted
        #                   values will be left as strings
        #                   Default: on
        #
        #   --prefix=STRING String to begin all returned variables with (followed by '__').
        #                   Default: INI
        #
        #   First non-option arg is filename, second is section name
    
        while [ $# -gt 0 ]
        do
    
            case $1 in
    
                --clean | -c )
                    CLEAN_ENV=1
                ;;
    
                --booleans | -b )
                    shift
                    BOOLEANS=$1
                ;;
    
                --prefix | -p )
                    shift
                    VARNAME_PREFIX=$1
                ;;
    
                * )
                    if [ -z "$INI_FILE" ]
                    then
                        INI_FILE=$1
                    else
                        if [ -z "$INI_SECTION" ]
                        then
                            INI_SECTION=$1
                        fi
                    fi
                ;;
    
            esac
    
            shift
        done
    
        if [ -z "$INI_FILE" ] && [ "${CLEAN_ENV}" = 0 ] ;then
            echo -e "Usage: read_ini [-c] [-b 0| -b 1]] [-p PREFIX] FILE"\
                "[SECTION]\n  or   read_ini -c [-p PREFIX]" >&2
            cleanup_bash
            return 1
        fi
    
        if ! check_prefix ;then
            cleanup_bash
            return 1
        fi
    
        local INI_ALL_VARNAME="${VARNAME_PREFIX}__ALL_VARS"
        local INI_ALL_SECTION="${VARNAME_PREFIX}__ALL_SECTIONS"
        local INI_NUMSECTIONS_VARNAME="${VARNAME_PREFIX}__NUMSECTIONS"
        if [ "${CLEAN_ENV}" = 1 ] ;then
            eval unset "\$${INI_ALL_VARNAME}"
        fi
        unset ${INI_ALL_VARNAME}
        unset ${INI_ALL_SECTION}
        unset ${INI_NUMSECTIONS_VARNAME}
    
        if [ -z "$INI_FILE" ] ;then
            cleanup_bash
            return 0
        fi
    
        if ! check_ini_file ;then
            cleanup_bash
            return 1
        fi
    
        # Sanitise BOOLEANS - interpret "0" as 0, anything else as 1
        if [ "$BOOLEANS" != "0" ]
        then
            BOOLEANS=1
        fi
    
    
        # }}} END Options
    
        # }}} END Deal with command line args
    
        local LINE_NUM=0
        local SECTIONS_NUM=0
        local SECTION=""
    
        # IFS is used in "read" and we want to switch it within the loop
        local IFS=$' \t\n'
        local IFS_OLD="${IFS}"
    
        # we need some optional shell behavior (shopt) but want to restore
        # current settings before returning
        local SWITCH_SHOPT=""
        pollute_bash
    
        while read -r line || [ -n "$line" ]
        do
    
            ((LINE_NUM++))
    
            # Skip blank lines and comments
            if [ -z "$line" -o "${line:0:1}" = ";" -o "${line:0:1}" = "#" ]
            then
                continue
            fi
    
            # Section marker?
            if [[ "${line}" =~ ^\[[a-zA-Z0-9_]{1,}\]$ ]]
            then
    
                # Set SECTION var to name of section (strip [ and ] from section marker)
                SECTION="${line#[}"
                SECTION="${SECTION%]}"
                eval "${INI_ALL_SECTION}=\"\${${INI_ALL_SECTION}# } $SECTION\""
                ((SECTIONS_NUM++))
    
                continue
            fi
    
            # Are we getting only a specific section? And are we currently in it?
            if [ ! -z "$INI_SECTION" ]
            then
                if [ "$SECTION" != "$INI_SECTION" ]
                then
                    continue
                fi
            fi
    
            # Valid var/value line? (check for variable name and then '=')
            if ! [[ "${line}" =~ ^[a-zA-Z0-9._]{1,}[[:space:]]*= ]]
            then
                echo "Error: Invalid line:" >&2
                echo " ${LINE_NUM}: $line" >&2
                cleanup_bash
                return 1
            fi
    
    
            # split line at "=" sign
            IFS="="
            read -r VAR VAL <<< "${line}"
            IFS="${IFS_OLD}"
    
            # delete spaces around the equal sign (using extglob)
            VAR="${VAR%%+([[:space:]])}"
            VAL="${VAL##+([[:space:]])}"
            VAR=$(echo $VAR)
    
    
            # Construct variable name:
            # ${VARNAME_PREFIX}__$SECTION__$VAR
            # Or if not in a section:
            # ${VARNAME_PREFIX}__$VAR
            # In both cases, full stops ('.') are replaced with underscores ('_')
            if [ -z "$SECTION" ]
            then
                VARNAME=${VARNAME_PREFIX}__${VAR//./_}
            else
                VARNAME=${VARNAME_PREFIX}__${SECTION}__${VAR//./_}
            fi
            eval "${INI_ALL_VARNAME}=\"\${${INI_ALL_VARNAME}# } ${VARNAME}\""
    
            if [[ "${VAL}" =~ ^\".*\"$  ]]
            then
                # remove existing double quotes
                VAL="${VAL##\"}"
                VAL="${VAL%%\"}"
            elif [[ "${VAL}" =~ ^\'.*\'$  ]]
            then
                # remove existing single quotes
                VAL="${VAL##\'}"
                VAL="${VAL%%\'}"
            elif [ "$BOOLEANS" = 1 ]
            then
                # Value is not enclosed in quotes
                # Booleans processing is switched on, check for special boolean
                # values and convert
    
                # here we compare case insensitive because
                # "shopt nocasematch"
                case "$VAL" in
                    yes | true | on )
                        VAL=1
                    ;;
                    no | false | off )
                        VAL=0
                    ;;
                esac
            fi
    
    
            # enclose the value in single quotes and escape any
            # single quotes and backslashes that may be in the value
            VAL="${VAL//\\/\\\\}"
            VAL="\$'${VAL//\'/\'}'"
    
            eval "$VARNAME=$VAL"
        done  <"${INI_FILE}"
    
        # return also the number of parsed sections
        eval "$INI_NUMSECTIONS_VARNAME=$SECTIONS_NUM"
    
        cleanup_bash
    }

    exemple :

    read_ini "/etc/yum.conf" main --prefix "yum_config"
    echo "--- Depuis le cache yum : ${yum_config__main__cachedir}"
  • # manger des pommes

    Posté par  . En réponse au journal Talking about a Revolution. Évalué à 1.

    Je suis sur le bon site la ??? :)

    un mangeur de pommes

  • [^] # Re: Le démantelement, je n'y crois pas.

    Posté par  . En réponse au journal Démantèlement du plus gros éditeur de distributions Linux pour bientôt ?. Évalué à -1.

    Oui c'est une histoire d'un an
    l'accord avec Apple 1997
    http://en.wikipedia.org/wiki/United_States_v._Microsoft_Corp. 1998
    Mais je suis certain que Microsoft savait ce qui allait lui arriver…

  • [^] # Re: Le démantelement, je n'y crois pas.

    Posté par  . En réponse au journal Démantèlement du plus gros éditeur de distributions Linux pour bientôt ?. Évalué à -2.

    Microsoft a dû fiancer une partie d'Apple, puis Apple a demandé a Microsoft d'accepter un accord secret (dans les grandes lignes 'on ne se copie pas') afin d'éviter un procès qu'Apple aurait gagné.
    Qui a gagné ? Apple.
    Donc l'action contre Microsoft l'a fortement destabilisé.

  • [^] # Re: Le protocole est le même ?

    Posté par  . En réponse au journal Google: je sais, je sais... mais tout de même, j'ai les boules !. Évalué à 8.

    Apparemment ya un commentaire sur votre video qui indique un bug :
    "Sylvestre : Non, c'est normal et coordonné entre Mozilla et Google: bugzilla.mozilla.org/show_bug.cgi?id=1096492#c21
    Pour résumer, Firefox a un bug dans une technologie intitulé Web Worker, c'est désactivé quand le User Agent est Firefox…"

  • # Le protocole est le même ?

    Posté par  . En réponse au journal Google: je sais, je sais... mais tout de même, j'ai les boules !. Évalué à 1.

    Le protocole est le même ?
    il n'y a pas de spdy (ou http2) enclenché avec chrome et pas Firefox ?
    @+
    ps : sinon je suis le 1er pour cracher sur google ;)

  • # heu

    Posté par  . En réponse au journal Rions un peu avec apple. Évalué à 2.

    le problème est quelle tourne avec launchd

  • # phabricator ?

    Posté par  . En réponse au journal Fermeture progressive de Google Code. Évalué à 9. Dernière modification le 13 mars 2015 à 13:47.

    Une forge open sources que l'on peut installer chez sois :
    http://phabricator.org
    C'est Facebook qui a commencé le projet
    Le seul reproche : ce n'est pas en français
    On l'utilise à la boîte.

  • [^] # Re: Question naïve active sync

    Posté par  . En réponse au journal Reprise en main de mes données personnelles.. Évalué à 0. Dernière modification le 20 février 2015 à 23:11.

    active sync est sensé apporter le push et faire économiser la batterie des téléphones

  • [^] # Re: Bindings

    Posté par  . En réponse à la dépêche Gtk to Qt - A strange journey. Évalué à 1.

    M# !! ok je sors ;)

  • [^] # Re: Pas mal mais

    Posté par  . En réponse à la dépêche Proxmox VE 3.0 est sorti. Évalué à 1.

    L'intérêt : lancer plusieurs actions en même temps et avoir une vue d'ensemble sur tout ce qu'il se passe sur le serveur…

    Pour le plug-in Java, la solution spice permettra-t-elle à terme de le remplacer ?

  • [^] # Re: Un bon suivi

    Posté par  . En réponse à la dépêche Proxmox VE 3.0 est sorti. Évalué à 1.

    merci pour ces précisions
    et spice coté client sur mac ça donne quoi ?

  • # page2rss

    Posté par  . En réponse à la dépêche Méthode et outils pour la veille technologique. Évalué à 3.

    J'utilise page2rss (comme son nom l'indique ;))

  • [^] # Re: Installation cool

    Posté par  . En réponse à la dépêche Shinken 1.2. Évalué à 0.

  • # Avis personnel

    Posté par  . En réponse à la dépêche Bref, MPlayerX quitte le Mac App Store. Évalué à -10. Dernière modification le 24 août 2012 à 22:21.

    MPlayer est une daube…
    dommage ;(

    Le sandboxing est pour le moment la seul réponse, c'est dommage, j'aime bien que les logiciels se causes…

  • [^] # Re: Jelly Bean

    Posté par  . En réponse à la dépêche Android : dérivées, fragmentation, applications. Évalué à -3.

    à faire comme l'Apple TV ;)

  • # remarques

    Posté par  . En réponse à la dépêche (R)évolutions dans le monde de la sauvegarde de données. Évalué à 3.

    merci pour l'article

    J'utilise a fond crashplan et rdiff-backup (que je n'ai pas couplé a zfs, et pourtant j'en rêve)
    Pour les clients c'est tar ;)
    Je pense regarder Obnam

    Avez-vous connaissance de https://github.com/n8gray/Backup-Bouncer qui permet de vérifier que le système de sauvegarde que l'on utilise restaure tout comme il faut ?
    (http://www.haystacksoftware.com/blog/2010/06/crashplan-restore-analysis/)

  • # Un grand merci !!

    Posté par  . En réponse à la dépêche Entretien avec les membres francophones de CentOS. Évalué à 2.

    Merci beaucoup pour ce que vous faites !

    Je trouve dommage que l'idée de la saine complétion persiste entre les 3... surtout avec SL. Avec Oracle eu... bon ;)

    Je pense que la compétition est ailleurs (autres distri, plateformes...)

  • [^] # Re: ispconfig ?

    Posté par  . En réponse à la dépêche Sortie de AlternC 1.0. Évalué à 2.

    Le développement est continu, les plateformes supportées sont nombreuses, le nombre des fonctionnalités est important.

    C'est disponible chez ovh en "natif"
    ispconfig chez ovh

    ;)

    @+

  • # ispconfig ?

    Posté par  . En réponse à la dépêche Sortie de AlternC 1.0. Évalué à -7.

    j'ai utilisé
    http://www.ispconfig.org/
    sur plusieurs serveurs.

    cela me parait beaucoup plus sérieux...