Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierChlouchloutte ¯\_(ツ)_/¯

Note: Script pour remplacer des dossiers par des liens symboliques

16 octobre 2019 à 15:35
@ECHO off
SETLOCAL
:: script global variables
SET "CURRENT_LOCATION=%CD%"
SET "PATH_TO_FOLDER_TO_MOVE=%1"
SET "NAME_OF_FOLDER_TO_MOVE=%2"
SET "NEW_LOCATION_OF_FOLDER=%3"
ECHO ====================== SET INITIAL VARIABLES ======================
ECHO Param 1 : Path to current folder to move : %PATH_TO_FOLDER_TO_MOVE%
ECHO Param 2 : Name of the folder to move : %NAME_OF_FOLDER_TO_MOVE%
ECHO Param 3 : Path to new storage place : %NEW_LOCATION_OF_FOLDER%
ECHO Current location is %CURRENT_LOCATION%

ECHO.
ECHO ====================== START THE REPLACING WITH SYMLINK ======================

:: do something cool, then log it
CALL :replaceWithSymLink %PATH_TO_FOLDER_TO_MOVE% %NAME_OF_FOLDER_TO_MOVE% %NEW_LOCATION_OF_FOLDER%

ECHO.
ECHO ====================== END OF PROCESS ======================

ECHO Back to starting point !
CD %CURRENT_LOCATION%

EXIT 0

:: a function to move a folder to another place, and set a symbolic link instead
:: Param 1 : Path to current folder to move, end with /
:: Param 2 : Name of the folder to move
:: Param 3 : Path to new storage place, end with /
:replaceWithSymLink
ECHO.
CD %~1

ECHO CREATE DESTINATION FOLDER %~3%~2
mkdir %~3%~2

ECHO Move folder %~1%~2 to new destination %~3
ECHO "COPY %~1%~2 %~3%~2"
COPY %~1%~2 %~3%~2
ECHO "RMDIR /S /Q %~1%~2"
RMDIR  /S /Q %~1%~2

ECHO Create symlink to TargetFile %~3%~2
ECHO mklink /D %~1%~2 %~3%~2
mklink /D %~1%~2 %~3%~2 

EXIT /B 0

Pour l'appeler :

script.cmd "U:\workarea\" TESTENTRYPOINT "C:\TEST\"

Permalien

Droit de manifester : toujours une liberté ?

18 octobre 2019 à 15:36

"Le mouvement des Gilets jaunes est-il d’une violence inédite ? Une contre-vérité pour Olivier Cahn, professeur de droit pénal à l’Université de Tours et chercheur associé au Centre de recherches sociologiques sur le droit et les institutions pénales (CESDIP) et spécialiste depuis 2010 des questions de violences policières : « il s’agit là de pure communication destinée à justifier un changement de doctrine ». Il évoque par exemple les mouvements « extrêmement violents, bien davantage que ceux que nous connaissons aujourd’hui » des années 1970, 1980 qui concernaient les marins-pêcheurs ou les sidérurgistes lorrains"
Permalien

Note: VSCode et la télémetrie

28 octobre 2019 à 10:22

Vscode envoie des données à Microsoft. Désactivez la télémétrie avec l'option :

  // Activez l'envoi de rapports d'incidents à Microsoft.
  // Cette option nécessite un redémarrage pour être prise en compte.
  "telemetry.enableCrashReporter": true,

  // Activez l'envoi des données d'utilisation et d'erreurs à Microsoft.
  "telemetry.enableTelemetry": true,

Permalien

Comment la loi de Campbell et la loi de Goodhart dévoient vos indicateurs de performance

29 octobre 2019 à 10:35

Petite citation de l'article :

Eh non, malgré l'image qui illustre ce billet, la loi de Campbell n’a strictement rien à voir avec les soupes chères à Andy Warhol. Elle doit son nom au sociologue américain Donald T. Campbell et s’énonce de la manière suivante :
plus un indicateur quantitatif est utilisé pour la prise de décision, plus il a de chances de fausser et corrompre le processus qu’il a pour objet de surveiller
. [...] elle met l’accent sur le piège que peut représenter un dispositif de pilotage qui se limiterait à des indicateurs quantitatifs – et a fortiori à de simples mesures et comptages, comme c’est souvent le cas dans les tableaux de bord utilisés par les responsables de Service Client.

Pour bien comprendre comment opère la loi de Campbell, il faut se référer à une autre la loi, celle de Goodhart (du nom de l’économiste britannique Charles Goodhart), qui veut que «
quand une mesure devient la cible elle cesse d’être une bonne mesure
». Pourquoi ? Parce qu’elle finit par biaiser insidieusement les décisions que vous prenez : au lieu de mesurer pour savoir où vous en êtes et agir pour améliorer le processus, votre priorité devient d'améliorer le résultat de la mesure et non plus le processus. Entre temps, vous avez perdu de vue votre véritable l'objectif. Dommage !
Permalien

Entrée d’un actionnaire dans une SAS à capital fixe : options, procédures, risques et coûts

12 novembre 2019 à 14:02

Création de nouvelles actions et donc, augmentation du capital :

Après que l’assemblée générale des actionnaires ait accepté l’augmentation de capital, un procès-verbal en est dressé et déposé au centre des impôts.
D’autres documents doivent quant à eux être déposés au centre de formalités des entreprises :

  • Une copie du procès-verbal
  • Une copie des statuts constitutifs mis à jour
  • Une copie de l’attestation de parution dans un journal d’annonces légales
  • Une copie du récépissé du dépôt du rapport du commissaire aux apports dans le cas où un apport en nature a été effectué.

Pour les nouveaux apports en numéraire, il appartient au représentant légal de la société de les déposer en banque, chez un notaire ou à la caisse des dépôts et consignations en attendant qu’il soit validé par l’ensemble des actionnaires.
Le nouvel actionnaire n’est pas obligé de libérer la totalité de son apport immédiatement à son entrée dans la société. Il doit libérer au moins le ¼ de ses apports au jour de l’augmentation de capital. Le solde peut être libéré jusqu'à 5 ans après que l’augmentation de capital ait été réalisée.

Coût :

L’entrée d’un actionnaire dans la SAS doit faire l’objet d’une modification des statuts.
En effet, il faut mentionner dans les statuts le nom du nouvel actionnaire et le nouveau montant du capital social.
Dans le cadre d’une modification des statuts, l’Etat prélève une taxe fixée à 375 euros minimum (voire 500 euros si le capital dépasse les 22 500 euros) correspondant aux frais d’enregistrement au service des impôts, qui s’ajoute au prix de l’annonce légale allant de 120 à 200 euros en moyenne.
Permalien

Cession d'actions SAS

12 novembre 2019 à 14:09

Trois clauses dans les statuts de votre Société par Actions Simplifiées sont susceptibles d’en limiter la cession : la clause d’inaliénabilité, la clause d’agrément, la clause de préemption.

Démarche :

  • Assurez-vous des conditions de cession dans les statuts de la SAS
  • Déterminez un prix. Bien que revendre une action à 1 € symbolique est possible, il est d’usage de fixer un prix sérieux correspondant aux enjeux de la transaction.
  • Prévoyez les droits d’enregistrement dans les frais de votre cession.
  • Rédigez votre acte de cession d'actions !

La cession d’actions est un contrat entre deux parties : le cessionnaire et le cédant. C’est une sorte de pré-contrat qui prend la forme d’une promesse unilatérale.
La promesse détermine les principales caractéristiques de la cession, dont son prix (déterminé ou non) et les modalités dans lesquelles la cession sera exécutée. Le bénéficiaire peut accepter cette proposition dans un délai qui a été fixé ou non.

La loi n’impose pas la présence d’un acte écrit pour la cession de titres au sein d’une SAS.
Mais si jamais :
Pour que l’acte de cession ait toute sa valeur, il doit comporter un certain nombre de mentions :

  • l’identité du cessionnaire et du cédant
  • le nombre d’actions cédées
  • le prix des actions
  • D’autres mentions peuvent être présentes, comme le délai de transmission des actions.

Le cédant a l’obligation de signifier l’acte de cession des actions à la société. Il doit la signifier par lettre recommandée avant accusé de réception (LRAR).
Pour que la signification soit valable, la lettre doit mentionner certaines informations : la date du transfert des actions, le compte du cédant à débiter, le nombre d’actions cédées ou encore l’identité du titulaire du compte du cessionnaire à créditer.

A réception de la lettre, la société inscrit les actions cédées sur le compte de l’acheteur et met à jour le registre des mouvements. Ainsi, le nom du cédant est supprimé de la liste des actionnaire, il perd donc la qualité et est substitué par l’acquéreur des actions.

Un délai d'un mois s’ouvre à partir de la signature de l’acte pour déclarer la cession des actions auprès du Service des Impôts des Entreprises (SIE).
Pour une cession qui n’a pas été constatée par écrit, le formulaire n°2759 doit être rempli.

lLa publication de la cession engendre l'acquittement des droits d’enregistrement qui s’élèvent à un montant de l’ordre de 0,1% du prix de cession des actions et qui doivent être payés dans le mois suivant la cession. Lorsque la cession est faite à un salarié ou à la famille du cédant, un abattement de 300 000 € s’applique lorsque ces derniers poursuivent l’activité de l’entreprise.

De plus, la présence d’une éventuelle taxe sur la plus-value engendre aussi des coûts. En effet, la taxe sur la plus-value devra également être déclarée.

Puisqu’il y a cession, de nouveaux titres ne sont pas créés. En revanche, cette transaction est également l’occasion de réévaluer la valeur des titres, ce qui aura pour effet d’augmenter le capital social.

Enfin, il faut déclarer la cession au Service des Impôts des Entreprises. La déclaration doit avoir lieu dans un délai d’un mois après la conclusion du contrat de cession

Permalien

Note: Releaser une version Maven via Jenkins

16 décembre 2019 à 09:53

Apparemment, faire simple c'est compliqué.

Comme j'ai pas envie de le faire plusieurs fois, je le met ici, en flat :

println " ========== START PREPARATION STEP ========== "

pom = readMavenPom file: 'pom.xml'
binaryName = pom.artifactId
version = pom.version
groupId = pom.groupId

artifactoryserver = Artifactory.newServer url: 'myURL/', credentialsId: artifactoryCredentials
artifactoryserver.bypassProxy = true

println " ========== START PREPARING RELEASING ========== "
version = version.replace("-SNAPSHOT", "")
println " release version is now ${version} "

println " ========== CLONE REPO ========== "
checkout scm

def sshFolderLocation = '/root/.ssh'
def sshBitbucketKeyTargetLocation = sshFolderLocation + '/id_rsa'

configFileProvider([configFile(fileId: 'bitbucket-ssh-key', targetLocation: sshBitbucketKeyTargetLocation)]) {
    withCredentials([sshUserPrivateKey(credentialsId: gitCredentialsId, keyFileVariable: 'KEYFILEVARIABLE', passphraseVariable: '', usernameVariable: gitCredentialsId)]) {
        sh "git config --global user.email \"jenkins@localhost\""
        sh "git config --global user.name \"jenkins\""
        sh "chmod 700 ${sshFolderLocation}"
        sh "chmod 600 ${sshBitbucketKeyTargetLocation}"

        def current_branch = sh(script: 'git rev-parse --abbrev-ref HEAD', returnStdout: true)
        sh "git pull origin ${current_branch}"

        println " ========== BUILD PACKAGE ========== "
        configFileProvider([configFile(fileId: 'MAVEN_SETTINGS_FILE', variable: 'MAVEN_SETTINGS')]) {
            sh "mvn -B -U org.codehaus.mojo:versions-maven-plugin:set -DnewVersion=$version"
            sh "mvn -B -U clean install -Dmaven.test.skip=true"
        }

        println " ========== START PUBLISHING IN DEV SPACE ========== "
        publishBinaryInDevSpace(version, groupId, mavenlocaldev, binaryName, artifactoryserver, buildInfo)

        sh "git add ."
        sh "git commit -m \"Release version $version\""
        sh "git tag $version"

        def newSnapshotVersion = upgradeVersionToSnapshot(version)
        configFileProvider([configFile(fileId: 'MAVEN_SETTINGS_FILE', variable: 'MAVEN_SETTINGS')]) {
            sh "mvn -B -U org.codehaus.mojo:versions-maven-plugin:set -DnewVersion=$newSnapshotVersion"
        }
        sh "git add ."
        sh "git commit -m \"Back to Snapshot version\""
        sh "git push -u origin ${current_branch}"
        sh "git push --tag"

        println " ========== START PROMOTING STAGE ========== "
        promoteArtifact(artifactoryserver, buildInfo, mavenlocaldev, mavenlocalrelease)
    }
}

Avec les méthodes :

def upgradeVersionToSnapshot(currentVersion) {
    println currentVersion

    String[] numbersInVersion = currentVersion.split("\\.")
    String minorVersion = numbersInVersion[2]
    int newMinorNumber = Integer.parseInt(minorVersion) + 1
    return numbersInVersion[0] + "." + numbersInVersion[1] + "." + newMinorNumber + "-SNAPSHOT"
}

def publishBinaryInDevSpace(mavenVersion, groupId, artifactoryDevSpaceName, binaryName, artifactoryserver, buildInfo) {
    def packageName = groupId.replace(".", "/")

    def uploadSpec = """{
         "files": [{
            "pattern": "target/${binaryName}-${mavenVersion}.jar",
            "target":"${artifactoryDevSpaceName}/${packageName}/${binaryName}/${mavenVersion}/${binaryName}-${mavenVersion}.jar"
        },{
            "pattern": "pom.xml",
            "target":"${artifactoryDevSpaceName}/${packageName}/${binaryName}/${mavenVersion}/${binaryName}-${mavenVersion}.pom"
        }]
    }"""
    buildInfo = artifactoryserver.upload uploadSpec
    artifactoryserver.publishBuildInfo buildInfo
}

def promoteArtifact(artifactoryserver, buildInfo, artifactoryDevSpaceName, artifactoryReleaseSpaceName) {
    def promotionConfig = [
            // Mandatory parameters
            'buildName'          : buildInfo.name,
            'buildNumber'        : buildInfo.number,
            'targetRepo'         : artifactoryReleaseSpaceName,
            // Optional parameters
            'comment'            : 'XXXxxxXXX is promoted',
            'sourceRepo'         : artifactoryDevSpaceName,
            'status'             : 'Released',
            'includeDependencies': false,
            'copy'               : true,
            // 'failFast' is true by default.
            // Set it to false, if you don't want the promotion to abort upon receiving the first error.
            'failFast'           : true
    ]
    // Promote build
    artifactoryserver.promote promotionConfig
}

Permalien

Note: Etape SONAR dans une pipeline Jenkins

16 décembre 2019 à 10:02
stage("Sonar Analysis") {
     steps {
          println " ========== START SONAR ANALYSIS ON SOURCES ========== "
          // Prepare SonarQube scanner environment
          withSonarQubeEnv(sonarqubeEnvName) {
          sh "mvn -B -U -Dproject.version=${version} " +
                              (env.BRANCH_NAME != 'master' ? "-Dsonar.branch.name=${env.BRANCH_NAME} " : "") +
                              " -Dsonar.value.url=${sonarqubeserver}" +
                              " sonar:sonar"
          }
     }
}

Permalien

ActiveJDBC - Intellij idea integration

20 décembre 2019 à 10:05

Aaaah ! Cette page vient de me sauver la vie. J'en avais un peu marre de l'integration Maven d'intellij.

Maintenant je n'ai plus aucun doute sur ma compilation !

Pour rappel :

Configuration
Perform these steps:

  • Run -> Edit configurations -> Defaults -> JUnit
  • Enter this as a post-Make step:
  • Run Maven Goal : org.javalite:activejdbc-instrumentation:2.3:instrument

Permalien

Note: pensée en passant

28 janvier 2020 à 20:22

De l’écriture inclusive...

Il est rare que j’utilise ce moyen d’expression qu’est le shaarli pour exprimer une opinion personnelle politique. Cela étant dit, il me semble qu’il n’existe pas d’autre espace de partage qui permette correctement l’exercice : l’opinion en 240 caractères ne saurait être qu’une réaction tronquée qui manque fondamentalement de substance. Et le blog, c’est pour raconter sa vie, et elle regarde que moi.
Je vais donc coucher mes idées comme elles me viennent et nous verrons ce que cela donne.

Le sujet de l’écriture inclusive m’est revenue encore récemment et je ne peux pas m’empêcher d’être gênée par l’expression qu’elle prend.
Pour faire court : Afin d’être le plus égalitaire, inclusif possible, il faudrait préciser le genre de toutes les personnes concernées. Donc ne plus dire :
Ils ont voté pour
Mais
Ils.elles ont voté pour

Plusieurs problèmes à cela :

  1. « Il » s’emploie pour un homme avec un penis, « elle » pour une femme avec un vagin. Car l’on exprime le sexe et non le genre. Le genre en grammaire et orthographe française ne fait pas référence aux stéréotypes autour des sexes, mais bel et bien à l’emploi d’un pronom. C’est pour cela que l’on parle de LA chaise, et croyez moi, la chaise ne se maquille pas et ne porte pas de jupe. Erreur de semantique donc.
  2. en exprimant plus de genres que nécessaire, on exclue les non genrés et non binaires, donc on est pas inclusifs. D’ailleurs, les enfants sont-il genrés dans ce cas ? Je rappelle que lorsque l’on parle de genre, on ne parle pas de sexe, on parle bien de stéréotypes et attributs autour des-dits sexes.
  3. La distinction genrée homme-femme amène finalement la triste vérité : il faut séparer les deux catégories de population, elles ne sont pas égales et doivent être distinguées. Quelque chose d’inclusif aurait pu être d’inventer un nouveau pronom, équivalent du ‘it’ anglais comme eil (contraction du il et du elle) ou alors de supprimer un des deux genre, pour ne garder que le neutre (masculin), par exemple.
  4. A vouloir faire de l’égalité, on crée des inégalités. Supposons que vous indiquez sur votre plaque - site - cv : D. Truc, Doctoresse, alors vous permettez aux individus ayant un biais de genre (ex : les femmes sont nulles) de vous exclure de leur panel de docteur à consulter. Vous permettez aux autres de vous exclure sur le critère du genre. C’est l’inverse de l’égalitarisme et de l’inclusion.

Mais surtout, au delà de la pertinence du débat, cette polémique évoque chez moi trois pendants que je considère plus graves :

  • ces luttes hommes - femmes crééent des camps en confrontation, exactement comme les luttes de racisme créent des confrontations entre personnes de couleurs différentes, retraites à privilèges ou régimes généraux... je ne vois que des moyens de diviser les populations sur des sujets de société qui manquent finalement un peu d’enjeux... lutter contre le sexisme c’est important, lutter contre le racisme c’est important, garantir des retraites pour tous c’est important. Faut-il utiliser il ou elle pour parler d’un groupe de personnes... bof bof bof... ça fait pas avancer le bateau et ça crée des tensions et des divisons, il me semble qu’on obtient moins d’inclusion non ? Garantissons dans la loi des sanctions pour ceux qui y dérogent, faisons appliquer les sanctions et garantissons la même justice pour tous.
  • Ce genre de sujet sociétal prend énormément d’espace, au moins sur internet (je ne regarde pas la télé), occultant des sujets qui pourraient sembler prioritaire comme le fait que... je sais pas... l’Australie brule ?
  • Enfin, la tyrannie des foules, telle que décrite par Tocqueville présente la description d’une société accordant toujours plus de pouvoirs à l’Etat pour mettre en place de l’égalitarisme, et ce, au détriment de la liberté. Par liberté, il faut entendre l’inverse de la tyrannie d’un despote, ce que redoute le plus Tocqueville, c’est un roi ou un gouvernement autoritaire. J’ai aussi l’impression que notre gouvernement joue la carte du « gauchisme societal » pour obtenir de la légitimité d’agir. En se faisant annonciateur d’égalité, il prend plus de pouvoir qu’il ne devrait et devient autoritaire, au point où le peuple, pour un peu d’égalité, perd beaucoup de liberté...

La question de la liberté et de l’égalité est centrale en ce moment. Revendiquer l’égalité devant la loi me semble pertinent, mais il devient difficile de soutenir que l’on peut aller plus loin.
Je n’ai pas les jambes d’Usain Bolt, le QI d’Enstein, le visage de Brad Pitt, et mes parents ne me transmettront pas plusieurs millions d’euros.
En quoi suis-je égal avec mon voisin ? Le prétendre reviendrait à nier le handicap, la maladie, la génétique et l’épi-génétique...
Mais cela reviendrait à admettre que tout le monde ne peut pas devenir millionnaire, et donc que les millionnaires ont profité d’un avantage inégal devant la vie. Cela revient à admettre qu’un chômeur n’est pas un profiteur mais un défavorisé devant la vie. Cela revient à admettre les plus riches ne sont pas plus méritants, ils ont profité d’un avantage inégal, et appelle un autre partage des richesses... Cela ramène une autre forme d’égalité, celle d’avoir le droit de vivre avec sa différence : cela s’appelle l’équité. Si on a trop d’égalité, on manque d’équité.

Aujourd’hui, dans la médecine psychiatrique, lorsque l’on parle des patients, on parle de personnes qui ont pété un plomb, incapables de rentrer dans un cadre. Ces gens dysfonctionnels, on passe plus de temps à les medicamenter, qu’à les écouter, de toutes façons on a plus de moyens pour ça. Un individu inadapté est plus commode qu’un cadre de vie inadapté, qui suppose de revoir tout le système.

Pour résumer, le débat sur l’écriture inclusive me semble être le fait d’une occupation de l’espace médiatique, à grands coups d’interprétations libres et de manipulations basiques (non le masculin ne l’emporte pas sur le féminin ! Non nous ne sommes pas tous égaux.) afin de nous orienter vers des divergences et des clivages sociaux. Arrivent alors des partis qui profitent de cette tyrannie des foules et, se prônant pour « un égalitarisme de gauche », en profitent pour récupérer plus de pouvoir qu’ils ne le devraient.

Bref, l’écriture inclusive, je trouve pas ça très intéressant.
Permalien

Frais déductibles des revenus fonciers

16 février 2020 à 11:50

un bon paquet de postes de dépense peuvent être déduits des revenus locatifs :

  • Les frais de financement de votre investissement
    Tous les frais de financement qui ont servi à l’acquisition, la conservation (par exemple, un prêt contracté pour payer des droits de succession), la construction, la réparation ou l’amélioration du bien sont déductibles des revenus fonciers bruts (ligne 250 et 410 du formulaire 2044).
    Cela signifie que vous pouvez déduire sur les loyers bruts perçus au cours de l’année N tous les frais que vous aurez payés cette même année pour un financement :

  • Les intérêts d’un crédit immobilier ou d’un prêt pour des travaux

  • Les frais de dossier

  • Les frais de garantie

  • Les cotisations d’assurance emprunteur

  • Etc.
    C’est pour cela que vous avez fortement intérêt à emprunter plutôt que de payer cash pour un investissement immobilier.

  • Les frais d’entretien et de réparation
    Vous pouvez déduire le coût des travaux que vous engagez pour entretenir ou réparer votre logement. Ces travaux doivent avoir pour but de conserver ou de remettre en étant votre bien immobilier sans en modifier l’usage, l’agencement ou les équipements principaux. Vous pouvez par exemple prendre en compte vos frais de remise aux normes de l’installation électrique, le traitement du bois, une rénovation de la toiture, etc.

  • Les dépenses pour améliorer le logement
    Certaines dépenses engagées afin d’apporter un équipement ou un confort supplémentaire aux locataires sont également prises en compte. Elles ne doivent pas pour cela modifier la structure du logement. Vous pourrez, par exemple, déduire des frais pour des améliorations de ce type :

  • Changement des fenêtres ou des volets

  • Isolation thermique du bâtiment

  • Installation d’une cuisine équipée

  • Ajout d’un digicode ou d’un autre élément de sécurité

  • Installation d’équipements pour personnes handicapées,

  • Changement du système d’évacuation des eaux usées

  • Etc.

  • Le coût des impôts et des taxes
    Une partie des impôts et des taxes que vous devez payer par rapport aux appartements que vous louez peuvent également être déduits de vos loyers. Il s’agit principalement de la taxe foncière, de la taxe d’équipement, des éventuelles taxes sur les bureaux, etc.
    En revanche, les impôts payés par le locataire (taxe d’ordures ménagères, taxe d’habitation), ainsi que les impôts sur le revenu, la TVA, les frais de notaire, etc. ne sont pas déductibles.

  • Les charges de copropriété
    Pour ce qui concerne les charges de copropriété, tout propriétaire bailleur peut répercuter le coût des charges qui ne sont pas répercutées au locataire. Vous devez déduire les provisions pour charges de copropriété de l’année qui correspond aux loyers sur lesquels vous êtes imposés. Vous devez également prendre en compte la régularisation des charges réellement actées pour l’année précédente par rapport aux provisions qui avaient été faites.

  • Les cotisations d’assurance
    Toutes vos cotisations d’assurances liées à vos biens immobiliers sont entièrement déductibles de vos revenus fonciers (ligne 223 de l’imprimé 2044). Cela concerne tout type d’assurance que vous pouvez souscrire dans le cadre d’un placement de ce type :

  • Votre assurance habitation

  • Votre assurance loyer impayé

  • Votre assurance contre la vacance locative

  • Vos assurances de prêt (comme vu ci-dessus dans les frais de financement)

  • Etc.
    Vous avez ainsi la possibilité de vous assurer contre les différents risques liés à l’investissement locatif et cela est bien pris en compte dans le calcul de vos impôts fonciers puisque c’est le montant réel de vos primes d’assurance qui est comptabilisé.

  • Les charges de gestion
    Lorsque vous confiez la gestion locative de vos logements à un tiers (agence immobilière, administrateur de biens, etc.), vous pouvez retrancher ces frais de vos revenus locatifs. Il en est de même pour tous les frais de gardiennage ou de conciergerie qui concernent le logement loué. Dans les charges de gestion déductibles, vous pourrez également soustraire de vos loyers perçus tous les honoraires (avocat, notaire, huissier, etc.) liés à des frais de procédure pour régler des différends. Pour tous les petits frais administratifs de gestion (achat de souches de quittance de loyer, frais de téléphone ou de courrier, achat d’un modèle de contrat de location) l’administration fiscale autorise une déduction forfaitaire de 20 € par an et par logement.

Pour conclure, cette liste des charges déductibles de vos revenus fonciers pour les impôts sur les revenus n’est pas exhaustive. Le Code Général des Impôts prévoit également que toutes les "dépenses effectuées en vue de l’acquisition et de la conservation de son revenu" sont également concernées. Il peut donc y avoir d’autres frais que vous pouvez intégrer afin de réduire l’imposition sur vos revenus locatifs (voir l’infographie ci-dessous qui reprend les détails de ce texte)
Permalien

ANSIBLE : Déclarer un CRON

3 mars 2020 à 09:24

Voici comment déclarer un cron via Ansible :

- name: 'backup chron is declared'
  cron:
    name: 'Backup Database'
    backup: 'yes'
    cron_file: '{{ application }}-data-backup'
    job: '{{ PATH_TO_SH_FILE_TO_BE_EXECUTED }}'
    state: 'present'
    minute: '0'
    hour: '*/12'
    day: '*'
    month: '*'
    weekday: '*'
    user: '{{ VM_USER }}'

Quelques infos :

  • Si la propriété cron_file n'est pas renseigné, alors le cron sera déclaré dans crontab (cron en mémoire), s'il est renseigné, un fichier sera créé dans /etc/cron.d/ pour être relancé au reboot
  • job : Le chemin vers le script qui doit être lancé
  • name : le nom du cron
  • state : 'present' ou 'absent'
  • minute, jour... : valeur par défaut : "*"
  • au lieu de minute, hour,... on peut mettre special_time. Valeurs acceptées : annually, daily, hourly, monthly, reboot, weekly, yearly

Exemples depuis la doc :

Job au moment du reboot

- name: Creates an entry like "@reboot /some/job.sh"
  cron:
    name: "a job for reboot"
    special_time: reboot
    job: "/some/job.sh"

Créer une variable d'environnement :

- name: Creates an entry like "PATH=/opt/bin" on top of crontab
  cron:
    name: PATH
    env: yes
    job: /opt/bin

Permalien

❌
❌