Nicolas Baptista

Squash two commits into one

Is it possible that you can’t use the visual squash commit with Github Desktop:

If the two commits is one before the other, so you can use the following command to take the 2 last commits :

git rebase -i HEAD~2

This will show the VI text editor, and you will have to change the text “pick” to “squash” for the last commit and only the last one because you only want the last to be squashed into the other one.
So, when you do this command, you will see something like:

pick abc1234567 Commit message for commit1
pick def1234567 Commit message for commit2

Change the second “pick” to “squash” :

pick abc1234567 Commit message for commit1
squash def1234567 Commit message for commit2

In VI editor, save it by pressing escape then: :x!
Do it another time if you can see another editor.
Check it with git log or Git Desktop

You can then force push to apply the changes and the remote repository.

git push --force

Squash several commits into one

To squash several commits, first you should know how many commits you want to squash.
If it is 15 commits, you should then you the following command:

git rebase -i HEAD~15

In the VI editor to search and replace “pick” to “squash” (with question that ask if you want to replace) use:
Press escape and then: :2,$s/pick/squash/c
⚠️ You should not replace the first one, the first one will still “pick”.
Then save it by pressing escape then: :x!

Here is an example, I did the rebase :

pick ab12345678 feat: important feature
pick cd12345678 feat: important feature to squash
pick ef12345678 feat: important feature to squash
pick gh12345678 feat: important feature to squash

Then I replace all the “pick” except the first one:

pick ab12345678 feat: important feature
squash cd12345678 feat: important feature to squash
squash ef12345678 feat: important feature to squash
squash gh12345678 feat: important feature to squash
 
# Rebase ab12345678..cd12345678 onto ef12345678 (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
#                    commit's log message, unless -C is used, in which case
#                    keep only this commit's message; -c is same as -C but
#                    opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
:x!

Faire une demande de remboursement de TVA (Micro Entrepreneur)

Pour faire une demande de remboursement de TVA tout d’abord vous devez faire la déclaration de TVA.
A savoir potentiellement les lignes 34, 35, 49, 50 dans la déclaration (demandez confirmation à votre comptable) :

Ensuite, il faut remplir un formulaire spécifique de demande de remboursement de TVA. Pour accéder à ce formulaire il faut aller dans Déclarer la TVA dans votre espace professionnel, et en bas de la page remplir la période lié à la demande de remboursement de TVA :

Remplissez la période puis cliquez sur valider pour accéder au formulaire.
Attention, si la période n’est pas bonne, il y aura une erreur. En effet, il y a une vérification de vos déclarations quand vous cliquez sur valider.

Ensuite, le formulaire suivant s’affiche. Dans le cas d’un montant de 555€ mis dans la case “50 Remboursement demandé sur le formulaire de demande de remboursement (3517 DDR)” de la précédente déclaration, il faudra remplir le formulaire 3517-S de la façon suivante.
Rappel: On ne peut pas déclarer de nombre non entier, une TVA de 456,50€ sera arrondi à 457. Une TVA à 456,20 sera arrondi à 456.

Remplissez le même montant que vous avez déclaré dans la case “50 Remboursement demandé sur le formulaire de demande de remboursement (3517 DDR)” de la précédente déclaration
Pour obtenir le remboursement, cocher la case “A créditer au compte désigné” et remplissez les informations bancaires

Voici enfin une vidéo additionnelle qui montre comment faire la déclaration de TVA dans le cas d’une micro entreprise et qui récapitule un peu tout ça:

Payer les charges en prestation de service en auto-entrepreneur / micro-entreprise / indépendant

En tant qu’auto-entrepreneur ou chef d’entreprise d’une société unipersonnel (SASU ou EURL), nous nous devons malheureusement de payer d’une part les charges sociales auprès de l’URSSAF mais aussi les impôts (taxe CFE par exemple) et la TVA si vous avez dépassé le seuil de TVA, ainsi que d’autres charges annexes. Dans cet article je liste les principales charges de l’auto entrepreneur en prestation de service.

Principales charges et impôts d’un auto-entrepreneur / indépendant, en prestation de service (développeur, data analyst, UI/UX designer, testeur QA, marketing, chef de projet, etc.) :
– Assurance RC Pro (responsabilité civile obligatoire, ne prenez pas de risques)
– Banque Pro (il y a des banques pro gratuites mais généralement on vous propose d’être accompagné et d’avoir une carte bancaire professionnelle, toutes les banques physiques proposent : BNP, Caisse d’Epargne, Société Générale, HSBC, etc. mais vous pouvez vous dirigez vers des solutions plus utilisés et moins cher comme les banques en ligne : Shine, Hello Bank, Qonto, …). Pour information avoir une banque professionnelle n’est pas obligatoire mais avoir un compte séparé oui.
– Charges de l’URSSAF (22% du chiffre d’affaire en prestation de service < 75k€), à déclarer sur autoentrepreneur.urssaf.fr
– Les taxes et impôts professionnels (comme la taxe CFE, sur la partie PRO des impôts)
– La TVA, qu’il faudra facturer 20% au client et la reverser aux trésors publics suivant le régime TVA que vous avez choisi (CA12, CA3, …) si vous avez dépassé le seuil de dépassement de TVA (CA d’environ 36 000€, vérifiez sur le site des impôts)

– Les taxes et impôts particulier (sur la partie particulier des impôts
– Vous devez payer vous même absolument tout : restaurant, transports, mutuelle, … vous n’avez pas de CE, de mutuelle entreprise, de ticket restaurant, … Ce n’est pas une partie à négliger.

J’espère avoir été clair et avoir résumé la plupart des charges pour un indépendant exerçant son activité sur le territoire français en tant qu’un dépendant français, n’hésitez pas à me contacter si vous avez des questions.

Rename git branch

Use git command line (with git bash on Windows) to change the branch name.

1 – Be sure you are on the right branch

Firstly, you should be on your current branch (the branch you want to rename) with git checkout.

2 – Change the name of the branch locally

Secondly, you should rename the branch with the following command:

git branch -m <the_new_branch_name>

The new branch name should be valid, with no space. If you use special characters you should use quotes like:

git branch -m “let’s-put-a-complicated-name”

3 – Change the name of the branch remotely

You can now change the name of the branch remotely so it’s also changed on github / gitlab / bitbucket etc.
To do push it use:

git push origin HEAD:<old_branch_name>

If it’s a complicated name you can still use the quotes:
git push origin HEAD:”it’s-an-old-branch-name”

Résoudre “Désolé… Nous rencontrons des problèmes de serveur temporaires.” sur Word et Office 365

Si vous utilisez Word sur Windows 7 il est possible que vous n’arrivez tout simplement pas à vous connecter sur votre compte Office 365 et donc que vous ne pouvez pas utiliser des outils comme Word et Excel qui nécessite une license.

La connexion au compte génère l’erreur “Désolé… Nous rencontrons des problèmes de serveur temporaires.” ou une page blanche

Installer Internet Explorer 11 / Install Internet Explorer 11

Vous devez mettre à jour Internet Explorer, même si cela parait bête, c’est bel et bien ce qu’il faut faire:

Lien: https://www.microsoft.com/fr-fr/download/details.aspx?id=41628

Redémarrer l’ordinateur / Restart the computer

Une fois Internet Explorer mis à jour vous devez redémarrer Windows

Mettre à jour Word ou Office 365 / Update Word or Office 365

Une fois redémarré, si vous ne pouvez pas vous connecter, il faut mettre à jour Word / Office 365 :

The good way to create the SAAS application project

The bad way

FIND AN IDEA, A BUSINESS MODEL
BUILD THE PRODUCT FROM THAT IDEA
TRY TO SELL THE PRODUCT
It will be hard to find people interested to the product

The good way

FIND AN AUDIENCE
ANALYSE THEIR PROBLEMS
FIND A SOLUTION TO THEIR PROBLEMS WITH A PRODUCT
SELL THE PRODUCT TO THE AUDIENCE
It is more easy because you already know interested people

After doing it in the good way, what will matter is the execution of making this product real.

The most you push your idea of business forward with effort making it real, the most it will works.

An idea without any action is nothing worth.

AWS Certificate Manager – The SCAM service of AWS

If you are using the services of AWS you should be careful about some services. It is possible that you may want a certificate for your application. You may use free certificate like let’s encrypt but AWS is offering a “Certificate Manager” and you can find it like any other services:

400$/month per private certificate

But, on the pricing page, you can find that this service cost 400$/month, no matter if you use it or not, it will take you the price of renting a car.

No way to delete or stop this recurring amount of money from the account

On the documentation, you can find that the service will stop “until you delete the CA”. I can tell you that this information is not really true as this service still take money without the CA. So additionally this service have a very not predictable way of taking money, and you don’t really know when it will stop, even if you check there is no certificate and you read carefully the documentation.

Conclusion

Git : Don’t commit node_modules except a file in a library

If you are using the node_modules in your Node.JS / Javascript / Typescript project you should exclude to commit all the libraries used by your application with this line in the .gitignore file:

.gitignore

node_modules/

But, you may need to modify a file in the /node_modules folder, excluded in the .gitignore

Force commit a file in a excluded folder in .gitignore

If you want to fix a file in a library that makes some problems in your application, you may want to modify the library directly in /node_modules (the case you are using the last version of the library, you can check on https://www.npmjs.com/ if you are using the last version in your package.json)

In my case, I modified node_modules/react-native-firebase/ios/RNFirebase/notifications/RNFirebaseNotifications.m a library that is not changed since 2 years and have a problem in my application. You can of course make a git issue on the official page but if you need it to work fast, you may want to commit it directly in your project and it is fixed.

After you made the change in the library, you can commit with git add -f …

In my case:

git add -f node_modules/react-native-firebase/ios/RNFirebase/notifications/RNFirebaseNotifications.m
You can see your file to be commit in your Git Desktop, and my node_modules folder is excluded in .gitignore

How to remove git token on git project after a failed git pull

After doing a git pull is it possible you have an error because your Git Token is not valid anymore, here is an exemple:

# git pull
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://gitlab-ci-token:YOURTOKEN@gitlab.com/YOURPROJECT.git/'

In order to do the git pull we want to use our credential with the LOGIN / PASSWORD that we use to access GitLab.

Solution 1 : Git pull one time with login (temporary)

# git pull https://gitlab.com/YOURPROJECT.git

Solution 2 : Change the origin URL to HTTPS (permanent)

# git remote set-url origin https://gitlab.com/YOURPROJECT.git
# git pull

It will ask your login and password for the git pull and will not use the git token anymore.

Kill Node.JS service by port / Arrêter un service Node.JS avec son port

🇬🇧Dear all, is it possible you want to kill a Node.JS service with your linux machine, that is running on a specific port

Il est possible que vous voulez arrêter un processus Node.JS sur un port précis sur votre machine linux🇫🇷

Here is the magic command to find and kill the Node.JS process

Voici la commande magique qui permet de trouver et arrêter de processus avec son port

netstat -pluton
It looks like the name of the famous planet / Moyen mémo-technique on pense à cette p’tite planete

Then you should be able to find the process (PID) with the port associated

Vous devriez avec cette commande trouver le nom du processus (PID) avec le port associé

PORT 4000: