In a large pot, bring a good amount of salted water to boil. Add the green beans and cook for 3 – 4 minutes (they should be just barely tender and quite crisp).
Drain the beans and place in a bowl of ice water. Stir to cool as quickly as possible. Drain well and store in the refrigerator while you make the dressing.
Chop the bacon and cook it in a small skillet until it is crisp. Remove the bacon and drain on a paper towel. Pour off all of the drippings but leave the browned bits.
Add the olive oil to the pan and let it get hot. Add the shallots and cook for 3 minutes or so until they begin to turn golden.
Add the garlic and cook another 2 minutes, stirring often.
Add the vinegar and reduce the heat to low. Let the dressing simmer for a few minutes. Check the flavor and add salt and pepper if needed.
Put the beans in a serving bowl. Add the dressing and toss to coat. Sprinkle the reserved bacon on the top and serve.